Overview

The StixMesh class is of RoseMesh subtype that holds a mesh generated from a STEP shape representation. It provides associativity between the generated facets, and the faces defined in the STEP data.

The class has const methods which are useful for the const instances returned by the StixMeshBuilder.html. When using the builder, you may get access to the mesh while it is still being created. The StixMesh class does not have any locking mechanism, so if you are accessing the mesh before it is fully built (perhaps to display faces as they are being rendered), use the thread-safe accessors provided by StixMeshBuilder instead of the functions in this class.

findEdgeInfoStp()

const RoseMeshEdgeInfo * findEdgeInfoStp(
	stp_representation_item * curve
	) const;

The findEdgeInfoStp() function returns the edge information structure for a given edge representation item. This function returns null if the representation item was not found.

getEdgeBoundingBox()

const RoseBoundingBox * getEdgeBoundingBox(
    stp_representation_item * s_edge
    ) const;

The getEdgeBoundingBox() function returns the bounding box for a given edge representation item. This function returns null if the representation item was not found.

getFaceFacets()

void getFaceFacets(
	unsigned * start,
	unsigned * count,
	stp_representation_item * face
	) const;

The getFaceFacets() function returns the starting index and count of the facets that that belong to a given STEP face. The facets of a face are contiguous, so the start index and a length are sufficient to identify them.

getFaceIndexFromStp()

unsigned getFaceIndexFromStp(
	stp_representation_item * face
	) const;

The getFaceIndexFromStp() function searches the mesh for a face that originated from the given STEP face, and returns the index into the face list. The function returns ROSE_NOTFOUND if no match was found.

getFaceInfoFromStp()

const RoseMeshFaceInfo * getFaceInfoFromStp(
	stp_representation_item * face
	) const;

The getFaceInfoFromStp() function searches the mesh for a face that originated from the given STEP face, and returns the extra mathematical surface and solver information from the original, unmeshed face surface. This also includes the edge loop information and original UV trim curves. This infomation is usually discarded after faceting to save space but can be kept by setting the RoseMeshOptions::setSaveFaceInfo() flag.

getRepresentation()

stp_representation * getRepresentation() const;

The getRepresentation() function returns the STEP representation that the mesh was built from. This holds the representation context that describes units and uncertainty.

getStepEdge()

stp_representation_item * getStepEdge(
        unsigned i
	) const;

The getStepEdge() function returns the STEP edge instance, which will be an edge_curve or boundary_curve.

getFace()

stp_representation_item * getFace(
        unsigned i
	) const;

The getFace() function gets the STEP face instance for a given mesh face by index.

getStepSolid()

stp_representation_item * getStepSolid() const;

The getStepSolid() function return the STEP representation_item that represents this mesh as a whole. This will be a a type that a mesh can be built from such as a manifold_solid_brep or shell_based_surface_model.

getVertexIndex()

unsigned getVertexIndex(
        stp_cartesian_point * pt
	) const;

unsigned getVertexIndex(
        stp_vertex * v
	) const;

The getVertexIndex() function returns the vertex identifier for a given STEP point or vertex. This is can be used to maintian associativitiy between the STEP items and the element in the mesh.