Overview

The StixMesh class is a subtype of RoseMesh that holds a mesh generated from a STEP representation item. It provides associativity between the generated mesh and the STEP source data.

When using stix_mesh_make_start() or similar functions, you may access the mesh while it is still being populated by different threads. The mesh lock/unlock functions should be used to allow safe access to meshes which are not yet complete.

Constructor

StixMesh(
        stp_representation_item * it,
        stp_representation * rep,
        StixMeshOptions * opts = 0
	);

The constructor will create an empty StixMesh and will initialize the option and object references, but will not create any mesh data. Use stix_mesh_make() to create a mesh object and populate it with mesh data.

getEdgeInfoFromStp()

const RoseMeshEdgeInfo * getEdgeInfoFromStp(
	stp_representation_item * curve
	) const;

The getEdgeInfoFromStp() function returns the edge information structure for a STEP 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.

getFaceIndexFromStp()

unsigned getFaceIndexFromStp(
	stp_representation_item * face
	) const;

The getFaceIndexFromStp() function returns the index of the mesh face that originated from the given STEP face, or ROSE_NOTFOUND if no match was found.

getFaceInfoFromStp()

const RoseMeshFaceInfo * getFaceInfoFromStp(
	stp_representation_item * face
	) const;

The getFaceInfoFromStp() function searches for the mesh face that originated from the given STEP face, and returns the mathematical surface and solver information from the original STEP face data.

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.

getStpEdge()

stp_representation_item * getStpEdge(
        unsigned i
	) const;

The getStpEdge() function returns the STEP edge object. This will be a subtype of representation_item such as edge_curve or boundary_curve. The inherited RoseMesh::getEdgeObject() function returns the same object as a more general RoseObject pointer.

getStpFace()

stp_representation_item * getStpFace(
        unsigned i
	) const;

The getFace() function gets the STEP face instance that corresponds to a given mesh face. This will be a representation_item subtype. The inherited RoseMesh::getFaceObject() function returns the same object as a more general RoseObject pointer.

getStpRep()

stp_representation * getStpRep() const;

The getStpRep() function returns the STEP representation that was the source of the mesh. This provides context information for units and uncertainty. The inherited RoseMesh::getRepObject() function returns the same object as a more general RoseObject pointer.

getStpRepItem()

stp_representation_item * getStpRepItem() const;

The getStpRepItem() function returns the STEP data object that the mesh was created from. This will be a representation_item subtype such as manifold_solid_brep, shell_based_surface_model, or geometric_set. The inherited RoseMesh::getObject() function returns the same object as a more general RoseObject pointer.

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.