Additional Inherited Members | |
| Protected Member Functions inherited from meshlib.CppObject | |
| CppObject (java.lang.foreign.MemorySegment ptr, java.util.function.Consumer< java.lang.foreign.MemorySegment > destroy, java.lang.Object owner) | |
topology of one or several polylines (how line segments are connected in lines) common for 2D and 3D polylines Generated from class MR::PolylineTopology.
Instances created here own their C++ objects, see CppObject.
| meshlib.PolylineTopology.PolylineTopology | ( | java.lang.foreign.MemorySegment | ptr, |
| boolean | owned, | ||
| java.lang.Object | owner ) |
Wraps a pointer from the C bindings. If owned, the object is destroyed when the wrapper dies. owner is kept alive as long as this wrapper is. Not for normal use.
| meshlib.PolylineTopology.PolylineTopology | ( | ) |
Constructs an empty (default-constructed) instance.
Calls MR_PolylineTopology_DefaultConstruct().
| meshlib.PolylineTopology.PolylineTopology | ( | meshlib.PolylineTopology | _other | ) |
Generated from constructor MR::PolylineTopology::PolylineTopology. The reference to things referred to by the parameter _other (if any) might be preserved in the constructed object.
Calls MR_PolylineTopology_ConstructFromAnother().
| void meshlib.PolylineTopology.addPart | ( | meshlib.PolylineTopology | from, |
| meshlib.VertMap | outVmap, | ||
| meshlib.WholeEdgeMap | outEmap ) |
appends polyline topology (from) in addition to the current topology: creates new edges, verts;
| outVmap,outEmap | (optionally) returns mappings: from.id -> this.id Generated from method MR::PolylineTopology::addPart. |
Calls MR_PolylineTopology_addPart().
| void meshlib.PolylineTopology.addPartByMask | ( | meshlib.PolylineTopology | from, |
| meshlib.UndirectedEdgeBitSet | mask, | ||
| meshlib.VertMap | outVmap, | ||
| meshlib.EdgeMap | outEmap ) |
appends polyline topology (from) in addition to the current topology: creates new edges, verts; Generated from method MR::PolylineTopology::addPartByMask.
Calls MR_PolylineTopology_addPartByMask().
| meshlib.VertId meshlib.PolylineTopology.addVertId | ( | ) |
creates new vert-id not associated with any edge yet Generated from method MR::PolylineTopology::addVertId.
Calls MR_PolylineTopology_addVertId().
| meshlib.PolylineTopology meshlib.PolylineTopology.assignFromAnother | ( | meshlib.PolylineTopology | _other | ) |
Generated from method MR::PolylineTopology::operator=. The reference to things referred to by the parameter _other (if any) might be preserved in this object.
Calls MR_PolylineTopology_AssignFromAnother().
| void meshlib.PolylineTopology.buildOpenLines | ( | meshlib.std_vector_MR_VertId | comp2firstVert | ) |
build topology of comp2firstVert.size()-1 not-closed polylines each pair (a,b) of indices in
| comp2firstVert | defines vertex range of a polyline [a,b) Generated from method MR::PolylineTopology::buildOpenLines. |
Calls MR_PolylineTopology_buildOpenLines().
| boolean meshlib.PolylineTopology.checkValidity | ( | ) |
verifies that all internal data structures are valid Generated from method MR::PolylineTopology::checkValidity.
Calls MR_PolylineTopology_checkValidity().
| long meshlib.PolylineTopology.computeNotLoneUndirectedEdges | ( | ) |
computes the number of not-lone (valid) undirected edges Generated from method MR::PolylineTopology::computeNotLoneUndirectedEdges.
Calls MR_PolylineTopology_computeNotLoneUndirectedEdges().
| void meshlib.PolylineTopology.computeValidsFromEdges | ( | ) |
computes numValidVerts_ and validVerts_ from edgePerVertex_ Generated from method MR::PolylineTopology::computeValidsFromEdges.
Calls MR_PolylineTopology_computeValidsFromEdges().
| void meshlib.PolylineTopology.deleteEdge | ( | meshlib.UndirectedEdgeId | ue | ) |
given edge becomes lone after the call, so it is un-spliced from connected edges, and if it was not connected at origin or destination, then that vertex is deleted as well Generated from method MR::PolylineTopology::deleteEdge.
Calls MR_PolylineTopology_deleteEdge().
| void meshlib.PolylineTopology.deleteEdges | ( | meshlib.UndirectedEdgeBitSet | es | ) |
calls deleteEdge for every set bit Generated from method MR::PolylineTopology::deleteEdges.
Calls MR_PolylineTopology_deleteEdges().
| meshlib.VertId meshlib.PolylineTopology.dest | ( | meshlib.EdgeId | he | ) |
returns destination vertex of half-edge Generated from method MR::PolylineTopology::dest.
Calls MR_PolylineTopology_dest().
| long meshlib.PolylineTopology.edgeCapacity | ( | ) |
returns the number of allocated edge records Generated from method MR::PolylineTopology::edgeCapacity.
Calls MR_PolylineTopology_edgeCapacity().
| meshlib.Vector_MR_EdgeId_MR_VertId meshlib.PolylineTopology.edgePerVertex | ( | ) |
for all valid vertices this vector contains an edge with the origin there Generated from method MR::PolylineTopology::edgePerVertex.
Calls MR_PolylineTopology_edgePerVertex().
| void meshlib.PolylineTopology.edgeReserve | ( | long | newCapacity | ) |
sets the capacity of half-edges vector Generated from method MR::PolylineTopology::edgeReserve.
Calls MR_PolylineTopology_edgeReserve().
| long meshlib.PolylineTopology.edgeSize | ( | ) |
returns the number of half-edge records including lone ones Generated from method MR::PolylineTopology::edgeSize.
Calls MR_PolylineTopology_edgeSize().
| meshlib.EdgeId meshlib.PolylineTopology.edgeWithOrg | ( | meshlib.VertId | a | ) |
returns valid edge if given vertex is present in the mesh Generated from method MR::PolylineTopology::edgeWithOrg.
Calls MR_PolylineTopology_edgeWithOrg().
| meshlib.EdgeId meshlib.PolylineTopology.findEdge | ( | meshlib.VertId | o, |
| meshlib.VertId | d ) |
finds and returns edge from o to d in the mesh; returns invalid edge otherwise Generated from method MR::PolylineTopology::findEdge.
Calls MR_PolylineTopology_findEdge().
| void meshlib.PolylineTopology.flip | ( | ) |
changes the orientation of all edges: every edge e is replaced with e.sym() Generated from method MR::PolylineTopology::flip.
Calls MR_PolylineTopology_flip().
| meshlib.Vector_MR_VertId_MR_EdgeId meshlib.PolylineTopology.getOrgs | ( | ) |
for all edges this vector contains its origin Generated from method MR::PolylineTopology::getOrgs.
Calls MR_PolylineTopology_getOrgs().
| meshlib.VertBitSet meshlib.PolylineTopology.getPathVertices | ( | meshlib.std_vector_MR_EdgeId | path | ) |
returns all vertices incident to path edges Generated from method MR::PolylineTopology::getPathVertices.
Calls MR_PolylineTopology_getPathVertices().
| meshlib.VertBitSet meshlib.PolylineTopology.getValidVerts | ( | ) |
returns cached set of all valid vertices Generated from method MR::PolylineTopology::getValidVerts.
Calls MR_PolylineTopology_getValidVerts().
| int meshlib.PolylineTopology.getVertDegree | ( | meshlib.VertId | a | ) |
returns 0 if given vertex does not exist, 1 if it has one incident edge, and 2 if it has two incident edges Generated from method MR::PolylineTopology::getVertDegree.
Calls MR_PolylineTopology_getVertDegree().
| meshlib.VertBitSet meshlib.PolylineTopology.getVertIds | ( | meshlib.VertBitSet | region | ) |
if region pointer is not null then converts it in reference, otherwise returns all valid vertices in the mesh Generated from method MR::PolylineTopology::getVertIds.
Calls MR_PolylineTopology_getVertIds().
| boolean meshlib.PolylineTopology.hasEdge | ( | meshlib.EdgeId | e | ) |
returns true if given edge is within valid range and not-lone Generated from method MR::PolylineTopology::hasEdge.
Calls MR_PolylineTopology_hasEdge().
| boolean meshlib.PolylineTopology.hasVert | ( | meshlib.VertId | a | ) |
returns true if given vertex is present in the mesh Generated from method MR::PolylineTopology::hasVert.
Calls MR_PolylineTopology_hasVert().
| long meshlib.PolylineTopology.heapBytes | ( | ) |
returns the amount of memory this object occupies on heap Generated from method MR::PolylineTopology::heapBytes.
Calls MR_PolylineTopology_heapBytes().
| boolean meshlib.PolylineTopology.isClosed | ( | ) |
returns true if the polyline does not have any holes Generated from method MR::PolylineTopology::isClosed.
Calls MR_PolylineTopology_isClosed().
| boolean meshlib.PolylineTopology.isConsistentlyOriented | ( | ) |
returns true if for each edge e: e == e.next() || e.odd() == next( e ).sym().odd() Generated from method MR::PolylineTopology::isConsistentlyOriented.
Calls MR_PolylineTopology_isConsistentlyOriented().
| boolean meshlib.PolylineTopology.isLoneEdge | ( | meshlib.EdgeId | a | ) |
checks whether the edge is disconnected from all other edges and disassociated from all vertices (as if after makeEdge) Generated from method MR::PolylineTopology::isLoneEdge.
Calls MR_PolylineTopology_isLoneEdge().
| meshlib.EdgeId meshlib.PolylineTopology.lastNotLoneEdge | ( | ) |
returns last not lone edge id, or invalid id if no such edge exists Generated from method MR::PolylineTopology::lastNotLoneEdge.
Calls MR_PolylineTopology_lastNotLoneEdge().
| meshlib.UndirectedEdgeId meshlib.PolylineTopology.lastNotLoneUndirectedEdge | ( | ) |
returns last not lone undirected edge id, or invalid id if no such edge exists Generated from method MR::PolylineTopology::lastNotLoneUndirectedEdge.
Calls MR_PolylineTopology_lastNotLoneUndirectedEdge().
| meshlib.VertId meshlib.PolylineTopology.lastValidVert | ( | ) |
returns last valid vertex id, or invalid id if no single valid vertex exists Generated from method MR::PolylineTopology::lastValidVert.
Calls MR_PolylineTopology_lastValidVert().
| meshlib.EdgeId meshlib.PolylineTopology.makeEdge | ( | ) |
creates an edge not associated with any vertex Generated from method MR::PolylineTopology::makeEdge.
Calls MR_PolylineTopology_makeEdge_0().
| meshlib.EdgeId meshlib.PolylineTopology.makeEdge | ( | meshlib.VertId | a, |
| meshlib.VertId | b, | ||
| meshlib.EdgeId | e ) |
makes an edge connecting vertices a and b
| e | if valid then the function does not make new edge, but connects the vertices using given one (and returns it) |
if 1) any of the vertices is invalid or not within the vertSize(), 2) or a==b, 3) or either a or b already has 2 incident edges, 4) given edge e is not lone or not within the edgeSize() then makeEdge(a,b) does nothing and returns invalid edge Generated from method MR::PolylineTopology::makeEdge.
Calls MR_PolylineTopology_makeEdge_3().
| int meshlib.PolylineTopology.makeEdges | ( | meshlib.Edges | edges | ) |
for every given edge[ue] calls makeEdge( edge[ue][0], edge[ue][1], ue ), making new edges so that edges.size() <= undirectedEdgeSize() at the end
Calls MR_PolylineTopology_makeEdges().
| meshlib.EdgeId meshlib.PolylineTopology.makePolyline | ( | meshlib.VertId | vs, |
| long | num ) |
adds polyline in this topology passing progressively via vertices *[vs, vs+num); if vs[0] == vs[num-1] then a closed polyline is created; return the edge from first to second vertex Generated from method MR::PolylineTopology::makePolyline.
Calls MR_PolylineTopology_makePolyline().
| meshlib.EdgeId meshlib.PolylineTopology.next | ( | meshlib.EdgeId | he | ) |
next (counter clock wise) half-edge in the origin ring Generated from method MR::PolylineTopology::next.
Calls MR_PolylineTopology_next().
| int meshlib.PolylineTopology.numValidVerts | ( | ) |
returns the number of valid vertices Generated from method MR::PolylineTopology::numValidVerts.
Calls MR_PolylineTopology_numValidVerts().
| boolean meshlib.PolylineTopology.opEqual | ( | meshlib.PolylineTopology | b | ) |
comparison via edges (all other members are considered as not important caches) Generated from method MR::PolylineTopology::operator==.
Calls MR_equal_MR_PolylineTopology().
| boolean meshlib.PolylineTopology.opNotEqual | ( | meshlib.PolylineTopology | b | ) |
Generated from method MR::PolylineTopology::operator!=.
Calls MR_not_equal_MR_PolylineTopology().
| meshlib.VertId meshlib.PolylineTopology.org | ( | meshlib.EdgeId | he | ) |
returns origin vertex of half-edge Generated from method MR::PolylineTopology::org.
Calls MR_PolylineTopology_org().
| void meshlib.PolylineTopology.pack | ( | meshlib.VertMap | outVmap, |
| meshlib.WholeEdgeMap | outEmap ) |
tightly packs all arrays eliminating lone edges and invalid vertices
| outVmap,outEmap | if given returns mappings: old.id -> new.id; Generated from method MR::PolylineTopology::pack. |
Calls MR_PolylineTopology_pack().
| boolean meshlib.PolylineTopology.read | ( | meshlib.std_istream | s | ) |
loads this from binary stream Generated from method MR::PolylineTopology::read.
Calls MR_PolylineTopology_read().
| void meshlib.PolylineTopology.setOrg | ( | meshlib.EdgeId | a, |
| meshlib.VertId | v ) |
sets new origin to the full origin ring including this edge
edgePerVertex_ table is updated accordingly Generated from method MR::PolylineTopology::setOrg.
Calls MR_PolylineTopology_setOrg().
| void meshlib.PolylineTopology.splice | ( | meshlib.EdgeId | a, |
| meshlib.EdgeId | b ) |
given two half edges do either of two:
1) if a and b were from distinct rings, puts them in one ring;
2) if a and b were from the same ring, puts them in separate rings;
the cut in rings in both cases is made after a and b Generated from method MR::PolylineTopology::splice.
Calls MR_PolylineTopology_splice().
| meshlib.EdgeId meshlib.PolylineTopology.splitEdge | ( | meshlib.EdgeId | e | ) |
split given edge on two parts: dest(returned-edge) = org(e) - newly created vertex, org(returned-edge) = org(e-before-split), dest(e) = dest(e-before-split) Generated from method MR::PolylineTopology::splitEdge.
Calls MR_PolylineTopology_splitEdge().
| long meshlib.PolylineTopology.undirectedEdgeCapacity | ( | ) |
returns the number of allocated undirected edges (pairs of half-edges) Generated from method MR::PolylineTopology::undirectedEdgeCapacity.
Calls MR_PolylineTopology_undirectedEdgeCapacity().
| long meshlib.PolylineTopology.undirectedEdgeSize | ( | ) |
returns the number of undirected edges (pairs of half-edges) including lone ones Generated from method MR::PolylineTopology::undirectedEdgeSize.
Calls MR_PolylineTopology_undirectedEdgeSize().
| long meshlib.PolylineTopology.vertCapacity | ( | ) |
returns the number of allocated vert records Generated from method MR::PolylineTopology::vertCapacity.
Calls MR_PolylineTopology_vertCapacity().
| void meshlib.PolylineTopology.vertReserve | ( | long | newCapacity | ) |
sets the capacity of vertices vector Generated from method MR::PolylineTopology::vertReserve.
Calls MR_PolylineTopology_vertReserve().
| void meshlib.PolylineTopology.vertResize | ( | long | newSize | ) |
explicitly increases the size of vertices vector Generated from method MR::PolylineTopology::vertResize.
Calls MR_PolylineTopology_vertResize().
| void meshlib.PolylineTopology.vertResizeWithReserve | ( | long | newSize | ) |
explicitly increases the size of vertices vector, doubling the current capacity if it was not enough Generated from method MR::PolylineTopology::vertResizeWithReserve.
Calls MR_PolylineTopology_vertResizeWithReserve().
| long meshlib.PolylineTopology.vertSize | ( | ) |
returns the number of vertex records including invalid ones Generated from method MR::PolylineTopology::vertSize.
Calls MR_PolylineTopology_vertSize().
| void meshlib.PolylineTopology.write | ( | meshlib.std_ostream | s | ) |
saves this in binary stream Generated from method MR::PolylineTopology::write.
Calls MR_PolylineTopology_write().