The RoseMeshTopologyWritable class is a subclass of RoseMeshTopology, which includes additional methods to allow the mesh to be updated.
unsigned createEdge( unsigned v1, unsigned v2 );
The createEdge() function creates a new edge in the topology structure (and the underlying facet set). The parameters specified are the the vertices of the edge. Create a new edge will cause the mesh to be inconsistent until the edges facets and the facet edges are updated.
See AlsoRoseMesh::createFacet, setEdgeVerts, setEdgeFacets, setFacetEdges
void deleteEdge( unsigned ei );
The deleteEdge() function deletes an edge from the topology structure.
void deleteFacet( unsigned fi );
The deleteFacet() function deletes a facet from the topology structure and the underlying facet set.
void deleteVertex( unsigned vi );
The deleteVertex() function deletes a vertex from the topology structure and the underlying facet set.
RoseMesh * getFacetSet();
The getFacetSet() function returns the facet set associated with this this topology structure. Unlike the method declared on supertype, this method returns a non-const facet set.
The init() function initializes the RoseMeshTopology instance with a given facet set. The value specified by the facets parameter must not be deleted until the application is finished with the topology object.
There are two versions of the init method: one that takes a const facet set, and one that takes a non-const. The const version should not be used. It is provided to override the version in the supertype, and will generate a warning.
void setEdgeFacets( unsigned edge, unsigned f1, unsigned f2 );
The setEdgeFacets() function sets the facets associated with an edge in a topology structure. Note that change the edge facets will result in an inconsistent topology structure unless the edge vertices and facet edges are also updated.
void setEdgeVerts( unsigned edge, unsigned v1, unsigned v2 );
The setEdgeVerts() function replaces the vertices on an edge. Note that this will result in an inconsistent topology structure unless that facet edges and edges facets are also updated to reflect the updated structure.
void setFacetEdge( unsigned f, unsigned ei, unsigned new_e );
The setFacetEdge() function updates one of the edges of a facet. The f parameter is the facet to be updated, the ei parameter is either 0 or 1, indicating which edge of the facet is updated, and the new_e parameter is the new edge value to be set.
void setFacetEdges( unsigned f, unsigned e1, unsigned e2, unsigned e3 );
The setFacetEdges() function updates the edges on a facet. Note that this will result in an inconsistent topology structure unless the facet vertices and edge facets are also updated.
void setFirstVertexFacet( unsigned v, unsigned f );
The setFirstVertexFacet() function sets one of the vertices associated with a facet. From this, the other edges and facets surrounding the vertex can be determined.
void setVertexFacet( unsigned vertex, unsigned facet );
The setVertexFacet() function sets a vertex associated with a facet. This can reference any of the facets the the vertex is a member of. The other facets and edges can then be efficiently determined by traversing the topology strutues.