HE_Mesh
6.0.1
|
Protected Member Functions | |
final void | clearEdges () |
void | resetInternalLabels () |
void | resetFaceInternalLabels () |
void | resetHalfedgeInternalLabels () |
void | resetEdgeInternalLabels () |
void | resetVertexInternalLabels () |
void | setFaceInternalLabels (final int label) |
void | setHalfedgeInternalLabels (final int label) |
void | setEdgeInternalLabels (final int label) |
void | setVertexInternalLabels (final int label) |
![]() | |
abstract void | clear () |
![]() | |
final void | setInternalLabel (final int label) |
abstract void | clear () |
abstract void | clearPrecomputed () |
Protected Attributes | |
WB_GeometryFactory | gf = new WB_GeometryFactory() |
HE_RAS< HE_Vertex > | vertices |
HE_RAS< HE_Halfedge > | halfedges |
HE_RAS< HE_Halfedge > | edges |
HE_RAS< HE_Halfedge > | unpairedHalfedges |
HE_RAS< HE_Face > | faces |
![]() | |
volatile boolean | visited |
boolean | visible |
int | color |
![]() | |
final long | key |
int | internalLabel |
int | userLabel |
Additional Inherited Members | |
![]() | |
static final WB_GeometryFactory | gf = new WB_GeometryFactory() |
static final WB_ProgressTracker | tracker = WB_ProgressTracker.instance() |
![]() | |
static AtomicLong | currentKey = new AtomicLong(0) |
Collection of mesh elements. Contains methods to manipulate the data structures.
wblut.hemesh.HE_MeshStructure.HE_MeshStructure | ( | ) |
Instantiates a new HE_MeshStructure.
wblut.hemesh.HE_MeshStructure.HE_MeshStructure | ( | final HE_MeshStructure | ms | ) |
Instantiates a new HE_MeshStructure and populate it with a shallow copy of mesh structure as parameter.
ms | mesh structure to copy |
References wblut.hemesh.HE_RAS< E extends HE_Element >.add(), wblut.hemesh.HE_MeshStructure.add(), wblut.hemesh.HE_MeshStructure.edges, wblut.hemesh.HE_MeshStructure.faces, wblut.hemesh.HE_MeshStructure.halfedges, wblut.hemesh.HE_MeshStructure.unpairedHalfedges, and wblut.hemesh.HE_MeshStructure.vertices.
final void wblut.hemesh.HE_MeshStructure.add | ( | final HE_Element | el | ) |
final void wblut.hemesh.HE_MeshStructure.add | ( | final HE_Face | f | ) |
void wblut.hemesh.HE_MeshStructure.add | ( | final HE_Halfedge | he | ) |
Adds halfedge.
he | halfedge to add |
References wblut.hemesh.HE_RAS< E extends HE_Element >.add(), wblut.hemesh.HE_Halfedge.getPair(), and wblut.hemesh.HE_Halfedge.isEdge().
final void wblut.hemesh.HE_MeshStructure.add | ( | final HE_Vertex | v | ) |
void wblut.hemesh.HE_MeshStructure.add | ( | final HE_Mesh | mesh | ) |
Add all mesh elements to this mesh. No copies are made.
mesh | mesh to add |
References wblut.hemesh.HE_MeshStructure.addFaces(), wblut.hemesh.HE_MeshStructure.addHalfedges(), and wblut.hemesh.HE_MeshStructure.addVertices().
final void wblut.hemesh.HE_MeshStructure.addEdges | ( | final HE_MeshStructure | source | ) |
source |
References wblut.hemesh.HE_MeshStructure.edges.
final void wblut.hemesh.HE_MeshStructure.addFaces | ( | final HE_Face[] | faces | ) |
Adds faces.
faces | faces to add as HE_Face[] |
References wblut.hemesh.HE_MeshStructure.add().
final void wblut.hemesh.HE_MeshStructure.addFaces | ( | final Collection<?extends HE_Face > | faces | ) |
Adds faces.
faces | faces to add as Collection<? extends HE_Face> |
References wblut.hemesh.HE_MeshStructure.add().
final void wblut.hemesh.HE_MeshStructure.addFaces | ( | final HE_MeshStructure | source | ) |
source |
References wblut.hemesh.HE_MeshStructure.faces.
final void wblut.hemesh.HE_MeshStructure.addHalfedges | ( | final HE_Halfedge[] | halfedges | ) |
Adds halfedges.
halfedges | halfedges to add as HE_Halfedge[] |
References wblut.hemesh.HE_MeshStructure.add().
final void wblut.hemesh.HE_MeshStructure.addHalfedges | ( | final Collection<?extends HE_Halfedge > | halfedges | ) |
Adds halfedges.
halfedges | halfedges to add as Collection<? extends HE_Halfedge> |
References wblut.hemesh.HE_MeshStructure.add().
final void wblut.hemesh.HE_MeshStructure.addHalfedges | ( | final HE_MeshStructure | source | ) |
source |
References wblut.hemesh.HE_MeshStructure.edges, wblut.hemesh.HE_MeshStructure.halfedges, and wblut.hemesh.HE_MeshStructure.unpairedHalfedges.
final void wblut.hemesh.HE_MeshStructure.addVertices | ( | final HE_Vertex[] | vertices | ) |
Adds vertices.
vertices | vertices to add as HE_Vertex[] |
References wblut.hemesh.HE_MeshStructure.add().
final void wblut.hemesh.HE_MeshStructure.addVertices | ( | final HE_MeshStructure | source | ) |
source |
References wblut.hemesh.HE_MeshStructure.vertices.
final void wblut.hemesh.HE_MeshStructure.addVertices | ( | final Collection<?extends HE_Vertex > | vertices | ) |
Adds vertices.
vertices | vertices to add as Collection<? extends HE_Vertex> |
References wblut.hemesh.HE_MeshStructure.add().
void wblut.hemesh.HE_MeshStructure.capHalfedges | ( | ) |
Cap all remaining unpaired halfedges. Only use after pairHalfedges();
References wblut.hemesh.HE_MeshStructure.add(), wblut.hemesh.HE_Halfedge.getNextInFace(), wblut.hemesh.HE_Halfedge.getPair(), wblut.hemesh.HE_MeshStructure.getUnpairedHalfedges(), wblut.hemesh.HE_Halfedge.getVertex(), wblut.core.WB_ProgressReporter.WB_ProgressCounter.increment(), wblut.hemesh.HE_MeshElement.isVisited(), wblut.core.WB_ProgressReporter.WB_ProgressTracker.setCounterStatus(), wblut.hemesh.HE_MeshStructure.setNext(), wblut.hemesh.HE_MeshStructure.setPair(), wblut.core.WB_ProgressReporter.WB_ProgressTracker.setStartStatus(), wblut.core.WB_ProgressReporter.WB_ProgressTracker.setStopStatus(), wblut.hemesh.HE_MeshStructure.setVertex(), wblut.hemesh.HE_MeshElement.setVisited(), and wblut.hemesh.HE_MeshElement.tracker.
HE_MeshStructure wblut.hemesh.HE_MeshStructure.cleanUnusedElementsByFace | ( | ) |
Clean all mesh elements not used by any faces.
References wblut.hemesh.HET_MeshOp.cleanUnusedElementsByFace().
void wblut.hemesh.HE_MeshStructure.clear | ( | ) |
Clear entire structure.
References wblut.hemesh.HE_MeshStructure.clearFaces(), wblut.hemesh.HE_MeshStructure.clearHalfedges(), and wblut.hemesh.HE_MeshStructure.clearVertices().
|
protected |
Clear edges.
void wblut.hemesh.HE_MeshStructure.clearFace | ( | final HE_Halfedge | he | ) |
Unlink face from halfedge
he |
References wblut.hemesh.HE_Halfedge._clearFace(), wblut.hemesh.HE_Halfedge.getPair(), and wblut.hemesh.HE_MeshStructure.setPair().
void wblut.hemesh.HE_MeshStructure.clearFaces | ( | ) |
Clear faces.
void wblut.hemesh.HE_MeshStructure.clearHalfedge | ( | final HE_Face | f | ) |
void wblut.hemesh.HE_MeshStructure.clearHalfedge | ( | final HE_Vertex | v | ) |
void wblut.hemesh.HE_MeshStructure.clearHalfedges | ( | ) |
Clear halfedges.
void wblut.hemesh.HE_MeshStructure.clearNext | ( | final HE_Halfedge | he | ) |
Unlink next halfedge from halfedge, unlinks the corresponding "previous" relationship.
he |
References wblut.hemesh.HE_Halfedge._clearNext(), wblut.hemesh.HE_Halfedge._clearPrev(), and wblut.hemesh.HE_Halfedge.getNextInFace().
void wblut.hemesh.HE_MeshStructure.clearPair | ( | final HE_Halfedge | he | ) |
Unpair halfedge. If the halfedge was paired, its pair is unpaired as well.
he |
References wblut.hemesh.HE_Halfedge._clearPair(), wblut.hemesh.HE_MeshStructure.add(), and wblut.hemesh.HE_Halfedge.getPair().
void wblut.hemesh.HE_MeshStructure.clearPrecomputed | ( | ) |
void wblut.hemesh.HE_MeshStructure.clearPrecomputedFaces | ( | ) |
void wblut.hemesh.HE_MeshStructure.clearPrecomputedHalfedges | ( | ) |
void wblut.hemesh.HE_MeshStructure.clearPrecomputedVertices | ( | ) |
void wblut.hemesh.HE_MeshStructure.clearPrev | ( | final HE_Halfedge | he | ) |
Unlink previous halfedge from halfedge, unlinks the corresponding "next" relationship.
he |
References wblut.hemesh.HE_Halfedge._clearNext(), wblut.hemesh.HE_Halfedge._clearPrev(), and wblut.hemesh.HE_Halfedge.getPrevInFace().
void wblut.hemesh.HE_MeshStructure.clearVertex | ( | final HE_Halfedge | he | ) |
void wblut.hemesh.HE_MeshStructure.clearVertices | ( | ) |
Clear vertices.
void wblut.hemesh.HE_MeshStructure.clearVisitedElements | ( | ) |
References wblut.hemesh.HE_MeshElement.clearVisited(), wblut.hemesh.HE_MeshStructure.fItr(), wblut.hemesh.HE_FaceIterator.hasNext(), wblut.hemesh.HE_VertexIterator.hasNext(), wblut.hemesh.HE_HalfedgeIterator.hasNext(), wblut.hemesh.HE_MeshStructure.heItr(), wblut.hemesh.HE_VertexIterator.next(), wblut.hemesh.HE_FaceIterator.next(), wblut.hemesh.HE_HalfedgeIterator.next(), and wblut.hemesh.HE_MeshStructure.vItr().
final boolean wblut.hemesh.HE_MeshStructure.contains | ( | final HE_Element | el | ) |
final boolean wblut.hemesh.HE_MeshStructure.contains | ( | final HE_Face | f | ) |
Check if structure contains face.
f | face |
References wblut.hemesh.HE_RAS< E extends HE_Element >.contains().
final boolean wblut.hemesh.HE_MeshStructure.contains | ( | final HE_Halfedge | he | ) |
Check if structure contains halfedge.
he | halfedge |
References wblut.hemesh.HE_RAS< E extends HE_Element >.contains().
final boolean wblut.hemesh.HE_MeshStructure.contains | ( | final HE_Vertex | v | ) |
Check if structure contains vertex.
v | vertex |
References wblut.hemesh.HE_RAS< E extends HE_Element >.contains().
final boolean wblut.hemesh.HE_MeshStructure.containsEdge | ( | final long | key | ) |
final boolean wblut.hemesh.HE_MeshStructure.containsFace | ( | final long | key | ) |
final boolean wblut.hemesh.HE_MeshStructure.containsHalfedge | ( | final long | key | ) |
final boolean wblut.hemesh.HE_MeshStructure.containsVertex | ( | final long | key | ) |
HE_Path wblut.hemesh.HE_MeshStructure.createPathFromIndices | ( | final int[] | vertices, |
final boolean | loop | ||
) |
vertices | |
loop |
References wblut.hemesh.HE_MeshStructure.getHalfedgeFromTo(), and wblut.hemesh.HE_MeshStructure.getVertexWithIndex().
void wblut.hemesh.HE_MeshStructure.cycleHalfedges | ( | final List< HE_Halfedge > | halfedges | ) |
Cycle halfedges.
halfedges | halfedges to cycle |
References wblut.hemesh.HE_MeshStructure.setNext().
void wblut.hemesh.HE_MeshStructure.cycleHalfedgesReverse | ( | final List< HE_Halfedge > | halfedges | ) |
Cycle halfedges.
halfedges | halfedges to cycle |
References wblut.hemesh.HE_MeshStructure.setNext().
HE_EdgeIterator wblut.hemesh.HE_MeshStructure.eItr | ( | ) |
Edge iterator.
HE_FaceIterator wblut.hemesh.HE_MeshStructure.fItr | ( | ) |
Face iterator.
void wblut.hemesh.HE_MeshStructure.fixHalfedgeFaceAssignment | ( | ) |
Iterate through all halfedges and reset the halfedge link to its face to itself. f=he.getFace() f.setHalfedge(he)
References wblut.hemesh.HE_Halfedge.getFace(), wblut.hemesh.HE_MeshStructure.heItr(), and wblut.hemesh.HE_MeshStructure.setHalfedge().
void wblut.hemesh.HE_MeshStructure.fixHalfedgeVertexAssignment | ( | ) |
Iterate through all halfedges and reset the halfedge link to its vertex to itself. v=he.getVertex() v.setHalfedge(he)
References wblut.hemesh.HE_Halfedge.getVertex(), wblut.hemesh.HE_MeshStructure.heItr(), and wblut.hemesh.HE_MeshStructure.setHalfedge().
final WB_AABB wblut.hemesh.HE_MeshStructure.getAABB | ( | ) |
Get axis-aligned bounding box surrounding mesh.
References wblut.geom.WB_GeometryFactory3D.createPoint(), and wblut.hemesh.HE_MeshStructure.getLimits().
HE_Path [] wblut.hemesh.HE_MeshStructure.getBoundaryAsPath | ( | ) |
References wblut.hemesh.HE_MeshStructure.getBoundaryLoopHalfedges().
List<WB_Polygon> wblut.hemesh.HE_MeshStructure.getBoundaryAsPolygons | ( | ) |
List<HE_Halfedge> wblut.hemesh.HE_MeshStructure.getBoundaryHalfedges | ( | ) |
Collect all boundary halfedges.
References wblut.hemesh.HE_MeshStructure.heItr().
List<HE_Halfedge> wblut.hemesh.HE_MeshStructure.getBoundaryLoopHalfedges | ( | ) |
References wblut.hemesh.HE_MeshStructure.getBoundaryHalfedges(), and wblut.hemesh.HE_Halfedge.getNextInFace().
List<HE_Vertex> wblut.hemesh.HE_MeshStructure.getBoundaryVertices | ( | ) |
Collect all boundary vertices.
References wblut.hemesh.HE_MeshStructure.heItr().
final WB_Sphere wblut.hemesh.HE_MeshStructure.getBoundingSphere | ( | ) |
References wblut.geom.WB_GeometryOp3D.getBoundingSphere().
WB_Coord [] wblut.hemesh.HE_MeshStructure.getEdgeCenters | ( | ) |
Return all edge centers.
References wblut.hemesh.HE_MeshStructure.eItr(), wblut.hemesh.HE_Halfedge.getHalfedgeCenter(), and wblut.hemesh.HE_MeshStructure.getNumberOfEdges().
WB_Coord [] wblut.hemesh.HE_MeshStructure.getEdgeNormals | ( | ) |
Return all edge normals.
References wblut.hemesh.HE_MeshStructure.eItr(), wblut.hemesh.HE_Halfedge.getEdgeNormal(), and wblut.hemesh.HE_MeshStructure.getNumberOfEdges().
final List<HE_Halfedge> wblut.hemesh.HE_MeshStructure.getEdges | ( | ) |
References wblut.hemesh.HE_RAS< E extends HE_Element >.getObjects().
final HE_Halfedge [] wblut.hemesh.HE_MeshStructure.getEdgesAsArray | ( | ) |
Edges as array.
References wblut.hemesh.HE_MeshStructure.edges, wblut.hemesh.HE_MeshStructure.eItr(), and wblut.hemesh.HE_MeshStructure.getNumberOfEdges().
int [][] wblut.hemesh.HE_MeshStructure.getEdgesAsInt | ( | ) |
final HE_Halfedge wblut.hemesh.HE_MeshStructure.getEdgeWithIndex | ( | final int | i | ) |
Get edge with index. Indices of mesh elements are not fixed and will change when the mesh is modified.
i | edge index |
References wblut.hemesh.HE_RAS< E extends HE_Element >.get().
final HE_Halfedge wblut.hemesh.HE_MeshStructure.getEdgeWithKey | ( | final long | key | ) |
Get edge with key. The key of a mesh element is unique and never changes.
key | halfedge key |
References wblut.hemesh.HE_RAS< E extends HE_Element >.getWithKey().
int wblut.hemesh.HE_MeshStructure.getEulerCharacteristic | ( | ) |
WB_Coord [] wblut.hemesh.HE_MeshStructure.getFaceCenters | ( | ) |
Return all face centers.
References wblut.hemesh.HE_MeshStructure.fItr(), wblut.hemesh.HE_Face.getFaceCenter(), and wblut.hemesh.HE_MeshStructure.getNumberOfFaces().
int [] wblut.hemesh.HE_MeshStructure.getFaceColors | ( | ) |
int [] wblut.hemesh.HE_MeshStructure.getFaceInternalLabels | ( | ) |
WB_Coord [] wblut.hemesh.HE_MeshStructure.getFaceNormals | ( | ) |
Return all face normals.
References wblut.hemesh.HE_MeshStructure.fItr(), wblut.hemesh.HE_Face.getFaceNormal(), and wblut.hemesh.HE_MeshStructure.getNumberOfFaces().
final List<HE_Face> wblut.hemesh.HE_MeshStructure.getFaces | ( | ) |
References wblut.hemesh.HE_RAS< E extends HE_Element >.getObjects().
final HE_Face [] wblut.hemesh.HE_MeshStructure.getFacesAsArray | ( | ) |
Faces as array.
References wblut.hemesh.HE_MeshStructure.faces, wblut.hemesh.HE_MeshStructure.fItr(), and wblut.hemesh.HE_MeshStructure.getNumberOfFaces().
int [][] wblut.hemesh.HE_MeshStructure.getFacesAsInt | ( | ) |
Return the faces as array of vertex indices.
References wblut.hemesh.HE_MeshStructure.fItr(), wblut.hemesh.HE_Face.getFaceDegree(), wblut.hemesh.HE_Face.getHalfedge(), wblut.hemesh.HE_Halfedge.getNextInFace(), wblut.hemesh.HE_MeshStructure.getNumberOfFaces(), wblut.hemesh.HE_Halfedge.getVertex(), wblut.hemesh.HE_MeshStructure.getVertexKeyToIndexMap(), and wblut.hemesh.HE_Vertex.key().
int [] wblut.hemesh.HE_MeshStructure.getFaceTextureIds | ( | ) |
int [] wblut.hemesh.HE_MeshStructure.getFaceUserLabels | ( | ) |
boolean [] wblut.hemesh.HE_MeshStructure.getFaceVisibility | ( | ) |
final HE_Face wblut.hemesh.HE_MeshStructure.getFaceWithIndex | ( | final int | i | ) |
Get face with index. Indices of mesh elements are not fixed and will change when the mesh is modified.
i | face index |
References wblut.hemesh.HE_RAS< E extends HE_Element >.get().
final HE_Face wblut.hemesh.HE_MeshStructure.getFaceWithKey | ( | final long | key | ) |
Get face with key. The key of a mesh element is unique and never changes.
key | face key |
References wblut.hemesh.HE_RAS< E extends HE_Element >.getWithKey().
int wblut.hemesh.HE_MeshStructure.getGenus | ( | ) |
HE_Halfedge wblut.hemesh.HE_MeshStructure.getHalfedgeFromTo | ( | final HE_Vertex | v0, |
final HE_Vertex | v1 | ||
) |
Return a halfedge from vertex v0 to vertex v1. If no such halfedge exists return null.
v0 | |
v1 |
References wblut.hemesh.HE_Halfedge.getEndVertex(), and wblut.hemesh.HE_Vertex.getHalfedgeStar().
final List<HE_Halfedge> wblut.hemesh.HE_MeshStructure.getHalfedges | ( | ) |
References wblut.hemesh.HE_MeshStructure.halfedges.
final HE_Halfedge [] wblut.hemesh.HE_MeshStructure.getHalfedgesAsArray | ( | ) |
Halfedges as array.
References wblut.hemesh.HE_MeshStructure.getHalfedges(), and wblut.hemesh.HE_MeshStructure.halfedges.
final HE_Halfedge wblut.hemesh.HE_MeshStructure.getHalfedgeWithIndex | ( | final int | i | ) |
Get halfedge with index. Indices of mesh elements are not fixed and will change when the mesh is modified.
i | halfedge index |
References wblut.hemesh.HE_RAS< E extends HE_Element >.get(), and wblut.hemesh.HE_RAS< E extends HE_Element >.size().
final HE_Halfedge wblut.hemesh.HE_MeshStructure.getHalfedgeWithKey | ( | final long | key | ) |
Get halfedge with key. The key of a mesh element is unique and never changes.
key | halfedge key |
References wblut.hemesh.HE_RAS< E extends HE_Element >.getWithKey().
final int wblut.hemesh.HE_MeshStructure.getIndex | ( | final HE_Face | f | ) |
final int wblut.hemesh.HE_MeshStructure.getIndex | ( | final HE_Halfedge | edge | ) |
final int wblut.hemesh.HE_MeshStructure.getIndex | ( | final HE_Vertex | v | ) |
Map<Long, WB_Coord> wblut.hemesh.HE_MeshStructure.getKeyedEdgeCenters | ( | ) |
Return all edge centers.
References wblut.hemesh.HE_MeshStructure.eItr().
Map<Long, WB_Coord> wblut.hemesh.HE_MeshStructure.getKeyedEdgeNormals | ( | ) |
Return all edge normals.
References wblut.hemesh.HE_MeshStructure.eItr().
Map<Long, WB_Coord> wblut.hemesh.HE_MeshStructure.getKeyedFaceCenters | ( | ) |
Return all face centers.
References wblut.hemesh.HE_MeshStructure.fItr().
Map<Long, WB_Coord> wblut.hemesh.HE_MeshStructure.getKeyedFaceNormals | ( | ) |
Return all face normals.
References wblut.hemesh.HE_MeshStructure.fItr().
Map<Long, WB_Coord> wblut.hemesh.HE_MeshStructure.getKeyedVertexNormals | ( | ) |
final double [] wblut.hemesh.HE_MeshStructure.getLimits | ( | ) |
Get range of vertex coordinates.
References wblut.hemesh.HE_MeshStructure.getVertexWithIndex(), wblut.hemesh.HE_RAS< E extends HE_Element >.size(), wblut.hemesh.HE_Vertex.xd(), wblut.hemesh.HE_Vertex.yd(), and wblut.hemesh.HE_Vertex.zd().
String wblut.hemesh.HE_MeshStructure.getName | ( | ) |
int wblut.hemesh.HE_MeshStructure.getNumberOfBoundaryComponents | ( | ) |
References wblut.hemesh.HE_MeshStructure.getBoundaryLoopHalfedges().
int wblut.hemesh.HE_MeshStructure.getNumberOfEdges | ( | ) |
Number of edges.
References wblut.hemesh.HE_RAS< E extends HE_Element >.size().
final int wblut.hemesh.HE_MeshStructure.getNumberOfFaces | ( | ) |
Number of faces.
References wblut.hemesh.HE_RAS< E extends HE_Element >.size().
final int wblut.hemesh.HE_MeshStructure.getNumberOfHalfedges | ( | ) |
Number of halfedges.
References wblut.hemesh.HE_RAS< E extends HE_Element >.size().
final int wblut.hemesh.HE_MeshStructure.getNumberOfVertices | ( | ) |
Number of vertices.
References wblut.hemesh.HE_RAS< E extends HE_Element >.size().
List<WB_Polygon> wblut.hemesh.HE_MeshStructure.getPolygonList | ( | ) |
Gets the polygon list.
References wblut.hemesh.HE_MeshStructure.fItr(), and wblut.hemesh.HE_Face.toPolygon().
WB_Polygon [] wblut.hemesh.HE_MeshStructure.getPolygons | ( | ) |
Return the mesh as polygon soup.
References wblut.hemesh.HE_MeshStructure.fItr(), wblut.hemesh.HE_MeshStructure.getNumberOfFaces(), and wblut.hemesh.HE_Face.toPolygon().
WB_Segment [] wblut.hemesh.HE_MeshStructure.getSegments | ( | ) |
Gets the segments.
References wblut.hemesh.HE_MeshStructure.eItr(), wblut.hemesh.HE_Halfedge.getEndVertex(), wblut.hemesh.HE_MeshStructure.getNumberOfEdges(), and wblut.hemesh.HE_Halfedge.getVertex().
List<HE_Halfedge> wblut.hemesh.HE_MeshStructure.getUnpairedHalfedges | ( | ) |
Collect all unpaired halfedges.
References wblut.hemesh.HE_MeshStructure.halfedges.
int [] wblut.hemesh.HE_MeshStructure.getVertexColors | ( | ) |
int [] wblut.hemesh.HE_MeshStructure.getVertexInternalLabels | ( | ) |
Map<Long, Integer> wblut.hemesh.HE_MeshStructure.getVertexKeyToIndexMap | ( | ) |
WB_Coord [] wblut.hemesh.HE_MeshStructure.getVertexNormals | ( | ) |
Return all vertex normals.
References wblut.hemesh.HE_MeshStructure.getNumberOfVertices(), wblut.hemesh.HE_Vertex.getVertexNormal(), and wblut.hemesh.HE_MeshStructure.vItr().
int [] wblut.hemesh.HE_MeshStructure.getVertexUserLabels | ( | ) |
boolean [] wblut.hemesh.HE_MeshStructure.getVertexVisibility | ( | ) |
final HE_Vertex wblut.hemesh.HE_MeshStructure.getVertexWithIndex | ( | final int | i | ) |
Get vertex with index. Indices of mesh elements are not fixed and will change when the mesh is modified.
i | vertex index |
References wblut.hemesh.HE_RAS< E extends HE_Element >.get(), and wblut.hemesh.HE_RAS< E extends HE_Element >.size().
final HE_Vertex wblut.hemesh.HE_MeshStructure.getVertexWithKey | ( | final long | key | ) |
Get vertex with key. The key of a mesh element is unique and never changes.
key | vertex key |
References wblut.hemesh.HE_RAS< E extends HE_Element >.getWithKey().
final List<HE_Vertex> wblut.hemesh.HE_MeshStructure.getVertices | ( | ) |
References wblut.hemesh.HE_RAS< E extends HE_Element >.getObjects().
final HE_Vertex [] wblut.hemesh.HE_MeshStructure.getVerticesAsArray | ( | ) |
Vertices as array.
References wblut.hemesh.HE_MeshStructure.getNumberOfVertices(), and wblut.hemesh.HE_MeshStructure.vertices.
List<WB_Coord> wblut.hemesh.HE_MeshStructure.getVerticesAsCoord | ( | ) |
Return all vertex positions as an immutable List of immutable WB_Coord.
References wblut.hemesh.HE_Vertex.add(), and wblut.hemesh.HE_MeshStructure.vItr().
double [][] wblut.hemesh.HE_MeshStructure.getVerticesAsDouble | ( | ) |
Return all vertex positions as an array .
References wblut.hemesh.HE_MeshStructure.getNumberOfVertices(), wblut.hemesh.HE_MeshStructure.vItr(), wblut.hemesh.HE_Vertex.xd(), wblut.hemesh.HE_Vertex.yd(), and wblut.hemesh.HE_Vertex.zd().
float [][] wblut.hemesh.HE_MeshStructure.getVerticesAsFloat | ( | ) |
Return all vertex positions as an array .
References wblut.hemesh.HE_MeshStructure.getNumberOfVertices(), wblut.hemesh.HE_MeshStructure.vItr(), wblut.hemesh.HE_Vertex.xf(), wblut.hemesh.HE_Vertex.yf(), and wblut.hemesh.HE_Vertex.zf().
HE_HalfedgeIterator wblut.hemesh.HE_MeshStructure.heItr | ( | ) |
Halfedge iterator.
void wblut.hemesh.HE_MeshStructure.orderHalfedges | ( | final List< HE_Halfedge > | halfedges | ) |
References wblut.hemesh.HE_MeshStructure.setNext().
void wblut.hemesh.HE_MeshStructure.orderHalfedgesReverse | ( | final List< HE_Halfedge > | halfedges | ) |
Cycle halfedges.
halfedges | halfedges to cycle |
References wblut.hemesh.HE_MeshStructure.setNext().
void wblut.hemesh.HE_MeshStructure.pairHalfedges | ( | ) |
void wblut.hemesh.HE_MeshStructure.pairHalfedges | ( | final List< HE_Halfedge > | unpairedHalfedges | ) |
Pair halfedges.
unpairedHalfedges |
References wblut.hemesh.HE_Halfedge.getNextInFace(), wblut.hemesh.HE_Halfedge.getPair(), wblut.hemesh.HE_Halfedge.getVertex(), and wblut.hemesh.HE_MeshStructure.setPair().
List<HE_Halfedge> wblut.hemesh.HE_MeshStructure.pairHalfedgesOnePass | ( | ) |
Try to pair all unpaired halfedges.
References wblut.hemesh.HE_Halfedge.getNextInFace(), wblut.hemesh.HE_Halfedge.getPair(), wblut.hemesh.HE_MeshStructure.getUnpairedHalfedges(), wblut.hemesh.HE_Halfedge.getVertex(), wblut.core.WB_ProgressReporter.WB_ProgressCounter.increment(), wblut.hemesh.HE_Vertex.key(), wblut.core.WB_ProgressReporter.WB_ProgressTracker.setCounterStatus(), wblut.hemesh.HE_MeshStructure.setPair(), wblut.core.WB_ProgressReporter.WB_ProgressTracker.setStartStatus(), wblut.core.WB_ProgressReporter.WB_ProgressTracker.setStopStatus(), and wblut.hemesh.HE_MeshElement.tracker.
void wblut.hemesh.HE_MeshStructure.remove | ( | final HE_Face | f | ) |
Removes face.
f | face to remove |
References wblut.hemesh.HE_RAS< E extends HE_Element >.remove().
void wblut.hemesh.HE_MeshStructure.remove | ( | final HE_Halfedge | he | ) |
Removes halfedge.
he | halfedge to remove |
References wblut.hemesh.HE_RAS< E extends HE_Element >.remove().
void wblut.hemesh.HE_MeshStructure.remove | ( | final HE_Vertex | v | ) |
Removes vertex.
v | vertex to remove |
References wblut.hemesh.HE_RAS< E extends HE_Element >.remove().
final void wblut.hemesh.HE_MeshStructure.removeFaces | ( | final HE_Face[] | faces | ) |
Removes faces.
faces | faces to remove as HE_Face[] |
final void wblut.hemesh.HE_MeshStructure.removeFaces | ( | final Collection<?extends HE_Face > | faces | ) |
Removes faces.
faces | faces to remove as Collection<? extends HE_Face> |
final void wblut.hemesh.HE_MeshStructure.removeHalfedges | ( | final HE_Halfedge[] | halfedges | ) |
Removes halfedges.
halfedges | halfedges to remove as HE_Halfedge[] |
final void wblut.hemesh.HE_MeshStructure.removeHalfedges | ( | final Collection<?extends HE_Halfedge > | halfedges | ) |
Removes halfedges.
halfedges | halfedges to remove as Collection<? extends HE_Halfedge> |
final void wblut.hemesh.HE_MeshStructure.removeVertices | ( | final HE_Vertex[] | vertices | ) |
Removes vertices.
vertices | vertices to remove as HE_Vertex[] |
final void wblut.hemesh.HE_MeshStructure.removeVertices | ( | final Collection<?extends HE_Vertex > | vertices | ) |
Removes vertices.
vertices | vertices to remove as Collection<? extends HE_Vertex> |
|
protected |
Reset all edge labels to -1.
References wblut.hemesh.HE_MeshStructure.eItr().
void wblut.hemesh.HE_MeshStructure.resetEdgeUserLabels | ( | ) |
Reset all edge labels to -1.
References wblut.hemesh.HE_MeshStructure.eItr().
|
protected |
Reset face labels to -1.
References wblut.hemesh.HE_MeshStructure.fItr().
void wblut.hemesh.HE_MeshStructure.resetFaceUserLabels | ( | ) |
Reset all face labels to -1.
References wblut.hemesh.HE_MeshStructure.fItr().
|
protected |
Reset all halfedge labels to -1.
References wblut.hemesh.HE_MeshStructure.heItr().
void wblut.hemesh.HE_MeshStructure.resetHalfedgeUserLabels | ( | ) |
Reset all halfedge labels to -1.
References wblut.hemesh.HE_MeshStructure.heItr().
|
protected |
Reset all internal labels to -1.
References wblut.hemesh.HE_MeshStructure.resetFaceInternalLabels(), wblut.hemesh.HE_MeshStructure.resetHalfedgeInternalLabels(), and wblut.hemesh.HE_MeshStructure.resetVertexInternalLabels().
void wblut.hemesh.HE_MeshStructure.resetUserLabels | ( | ) |
|
protected |
Reset all vertex labels to -1.
References wblut.hemesh.HE_MeshStructure.vItr().
void wblut.hemesh.HE_MeshStructure.resetVertexUserLabels | ( | ) |
Reset all vertex labels to -1.
References wblut.hemesh.HE_MeshStructure.vItr().
|
protected |
void wblut.hemesh.HE_MeshStructure.setEdgeUserLabels | ( | final int | label | ) |
void wblut.hemesh.HE_MeshStructure.setFace | ( | final HE_Halfedge | he, |
final HE_Face | f | ||
) |
Link face to halfedge
he | |
f |
References wblut.hemesh.HE_Halfedge._setFace(), wblut.hemesh.HE_Halfedge.getPair(), and wblut.hemesh.HE_MeshStructure.setPair().
void wblut.hemesh.HE_MeshStructure.setFaceColor | ( | final int | color | ) |
color |
References wblut.hemesh.HE_MeshStructure.fItr(), wblut.hemesh.HE_FaceIterator.hasNext(), wblut.hemesh.HE_FaceIterator.next(), and wblut.hemesh.HE_MeshElement.setColor().
void wblut.hemesh.HE_MeshStructure.setFaceColorWithInternalLabel | ( | final int | color, |
final int | i | ||
) |
void wblut.hemesh.HE_MeshStructure.setFaceColorWithOtherInternalLabel | ( | final int | color, |
final int | i | ||
) |
void wblut.hemesh.HE_MeshStructure.setFaceColorWithOtherUserLabel | ( | final int | color, |
final int | i | ||
) |
void wblut.hemesh.HE_MeshStructure.setFaceColorWithUserLabel | ( | final int | color, |
final int | i | ||
) |
|
protected |
void wblut.hemesh.HE_MeshStructure.setFaceUserLabels | ( | final int | label | ) |
void wblut.hemesh.HE_MeshStructure.setHalfedge | ( | final HE_Face | f, |
final HE_Halfedge | he | ||
) |
void wblut.hemesh.HE_MeshStructure.setHalfedge | ( | final HE_Vertex | v, |
final HE_Halfedge | he | ||
) |
void wblut.hemesh.HE_MeshStructure.setHalfedgeColor | ( | final int | color | ) |
color |
References wblut.hemesh.HE_HalfedgeIterator.hasNext(), wblut.hemesh.HE_MeshStructure.heItr(), wblut.hemesh.HE_HalfedgeIterator.next(), and wblut.hemesh.HE_MeshElement.setColor().
void wblut.hemesh.HE_MeshStructure.setHalfedgeColorWithInternalLabel | ( | final int | color, |
final int | i | ||
) |
void wblut.hemesh.HE_MeshStructure.setHalfedgeColorWithOtherInternalLabel | ( | final int | color, |
final int | i | ||
) |
void wblut.hemesh.HE_MeshStructure.setHalfedgeColorWithOtherUserLabel | ( | final int | color, |
final int | i | ||
) |
void wblut.hemesh.HE_MeshStructure.setHalfedgeColorWithUserLabel | ( | final int | color, |
final int | i | ||
) |
|
protected |
void wblut.hemesh.HE_MeshStructure.setHalfedgeUserLabels | ( | final int | label | ) |
Reset all halfedge labels to value.
label |
References wblut.hemesh.HE_MeshStructure.heItr().
void wblut.hemesh.HE_MeshStructure.setName | ( | final String | name | ) |
void wblut.hemesh.HE_MeshStructure.setNext | ( | final HE_Halfedge | he, |
final HE_Halfedge | hen | ||
) |
Link hen to he as next halfedge, he is linked as previous halfedge to he.
he | |
hen |
References wblut.hemesh.HE_Halfedge._setNext(), and wblut.hemesh.HE_Halfedge._setPrev().
void wblut.hemesh.HE_MeshStructure.setPair | ( | final HE_Halfedge | he1, |
final HE_Halfedge | he2 | ||
) |
Pair two halfedges
he1 | |
he2 |
References wblut.hemesh.HE_Halfedge._setPair(), and wblut.hemesh.HE_MeshStructure.add().
void wblut.hemesh.HE_MeshStructure.setVertex | ( | final HE_Halfedge | he, |
final HE_Vertex | v | ||
) |
References wblut.hemesh.HE_Vertex.set().
void wblut.hemesh.HE_MeshStructure.setVertex | ( | final HE_Vertex | v, |
final double | x, | ||
final double | y, | ||
final double | z | ||
) |
References wblut.hemesh.HE_Vertex.set().
void wblut.hemesh.HE_MeshStructure.setVertex | ( | final HE_Vertex | v, |
final double | x, | ||
final double | y | ||
) |
References wblut.hemesh.HE_Vertex.set().
void wblut.hemesh.HE_MeshStructure.setVertexColor | ( | final int | color | ) |
color |
References wblut.hemesh.HE_VertexIterator.hasNext(), wblut.hemesh.HE_VertexIterator.next(), wblut.hemesh.HE_MeshElement.setColor(), and wblut.hemesh.HE_MeshStructure.vItr().
void wblut.hemesh.HE_MeshStructure.setVertexColorWithInternalLabel | ( | final int | color, |
final int | i | ||
) |
void wblut.hemesh.HE_MeshStructure.setVertexColorWithOtherInternalLabel | ( | final int | color, |
final int | i | ||
) |
void wblut.hemesh.HE_MeshStructure.setVertexColorWithOtherUserLabel | ( | final int | color, |
final int | i | ||
) |
void wblut.hemesh.HE_MeshStructure.setVertexColorWithUserLabel | ( | final int | color, |
final int | i | ||
) |
|
protected |
void wblut.hemesh.HE_MeshStructure.setVertexUserLabels | ( | final int | label | ) |
void wblut.hemesh.HE_MeshStructure.setVertexWithIndex | ( | final int | index, |
final WB_Coord | c | ||
) |
void wblut.hemesh.HE_MeshStructure.setVertexWithIndex | ( | final int | index, |
final double | x, | ||
final double | y, | ||
final double | z | ||
) |
void wblut.hemesh.HE_MeshStructure.setVertexWithIndex | ( | final int | index, |
final double | x, | ||
final double | y | ||
) |
void wblut.hemesh.HE_MeshStructure.setVertexWithKey | ( | final long | key, |
final WB_Coord | c | ||
) |
void wblut.hemesh.HE_MeshStructure.setVertexWithKey | ( | final long | key, |
final double | x, | ||
final double | y, | ||
final double | z | ||
) |
void wblut.hemesh.HE_MeshStructure.setVertexWithKey | ( | final long | key, |
final double | x, | ||
final double | y | ||
) |
void wblut.hemesh.HE_MeshStructure.setVerticesFromDouble | ( | final double | values[][] | ) |
Set vertex positions to values in a 2D array. If length of array is not the same as number of vertices, nothing happens.
values | 2D array of double. First index is number of vertices, second index is 3 (x-,y- and z-coordinate) |
References wblut.hemesh.HE_MeshStructure.clearPrecomputed(), wblut.hemesh.HE_MeshStructure.getNumberOfVertices(), wblut.hemesh.HE_Vertex.set(), and wblut.hemesh.HE_MeshStructure.vItr().
void wblut.hemesh.HE_MeshStructure.setVerticesFromFloat | ( | final double[] | values | ) |
Set vertex positions to values in a 1D array. If length of array is not 3* number of vertices, nothing happens.
values | 1D array of float. 3 values, x,y, and z, per point |
References wblut.hemesh.HE_MeshStructure.clearPrecomputed(), wblut.hemesh.HE_MeshStructure.getNumberOfVertices(), wblut.hemesh.HE_Vertex.set(), and wblut.hemesh.HE_MeshStructure.vItr().
void wblut.hemesh.HE_MeshStructure.setVerticesFromFloat | ( | final float[] | values | ) |
Set vertex positions to values in a 1D array. If length of array is not 3* number of vertices, nothing happens.
values | 1D array of float. 3 values, x,y, and z, per point |
References wblut.hemesh.HE_MeshStructure.clearPrecomputed(), wblut.hemesh.HE_MeshStructure.getNumberOfVertices(), wblut.hemesh.HE_Vertex.set(), and wblut.hemesh.HE_MeshStructure.vItr().
void wblut.hemesh.HE_MeshStructure.setVerticesFromFloat | ( | final float | values[][] | ) |
Set vertex positions to values in a 2D array. If length of array is not the same as number of vertices, nothing happens.
values | 2D array of float. First index is number of vertices, second index is 3 (x-,y- and z-coordinate) |
References wblut.hemesh.HE_MeshStructure.clearPrecomputed(), wblut.hemesh.HE_MeshStructure.getNumberOfVertices(), wblut.hemesh.HE_Vertex.set(), and wblut.hemesh.HE_MeshStructure.vItr().
void wblut.hemesh.HE_MeshStructure.setVerticesFromFloat | ( | final int[] | values | ) |
Set vertex positions to values in a 1D array. If length of array is not 3* number of vertices, nothing happens.
values | 1D array of float. 3 values, x,y, and z, per point |
References wblut.hemesh.HE_MeshStructure.clearPrecomputed(), wblut.hemesh.HE_MeshStructure.getNumberOfVertices(), wblut.hemesh.HE_Vertex.set(), and wblut.hemesh.HE_MeshStructure.vItr().
void wblut.hemesh.HE_MeshStructure.setVerticesFromInt | ( | final int | values[][] | ) |
Set vertex positions to values in a 2D array. If length of array is not the same as number of vertices, nothing happens.
values | 2D array of int. First index is number of vertices, second index is 3 (x-,y- and z-coordinate) |
References wblut.hemesh.HE_MeshStructure.clearPrecomputed(), wblut.hemesh.HE_MeshStructure.getNumberOfVertices(), wblut.hemesh.HE_Vertex.set(), and wblut.hemesh.HE_MeshStructure.vItr().
void wblut.hemesh.HE_MeshStructure.setVerticesFromPoint | ( | final List<?extends WB_Coord > | values | ) |
Set vertex positions to List of WB_Coord. If the size of the List is not the same as number of vertices, nothing happens.
values | array of WB_Coord. |
References wblut.hemesh.HE_MeshStructure.clearPrecomputed(), wblut.hemesh.HE_MeshStructure.getNumberOfVertices(), wblut.hemesh.HE_Vertex.set(), and wblut.hemesh.HE_MeshStructure.vItr().
void wblut.hemesh.HE_MeshStructure.setVerticesFromPoint | ( | final WB_Coord[] | values | ) |
Set vertex positions to array of WB_Coord. If length of array is not the same as number of vertices, nothing happens.
values | array of WB_Coord. |
References wblut.hemesh.HE_MeshStructure.clearPrecomputed(), wblut.hemesh.HE_MeshStructure.getNumberOfVertices(), wblut.hemesh.HE_Vertex.set(), and wblut.hemesh.HE_MeshStructure.vItr().
void wblut.hemesh.HE_MeshStructure.sort | ( | ) |
Sort all faces and vertices in lexographical order
References wblut.hemesh.HE_MeshStructure.addFaces(), wblut.hemesh.HE_MeshStructure.addVertices(), wblut.hemesh.HE_MeshStructure.fItr(), wblut.hemesh.HE_MeshStructure.getFaces(), wblut.hemesh.HE_MeshStructure.getVertices(), wblut.hemesh.HE_FaceIterator.hasNext(), wblut.hemesh.HE_FaceIterator.next(), and wblut.hemesh.HE_Face.sort().
void wblut.hemesh.HE_MeshStructure.sort | ( | final HE_FaceSort | faceSort, |
final HE_VertexSort | vertexSort | ||
) |
References wblut.hemesh.HE_MeshStructure.addFaces(), wblut.hemesh.HE_MeshStructure.addVertices(), wblut.hemesh.HE_MeshStructure.fItr(), wblut.hemesh.HE_MeshStructure.getFaces(), wblut.hemesh.HE_MeshStructure.getVertices(), wblut.hemesh.HE_FaceIterator.hasNext(), wblut.hemesh.HE_FaceIterator.next(), and wblut.hemesh.HE_Face.sort().
void wblut.hemesh.HE_MeshStructure.uncapBoundaryHalfedges | ( | ) |
Uncap halfedges.
References wblut.hemesh.HE_MeshStructure.clearPair(), wblut.hemesh.HE_Halfedge.getFace(), wblut.hemesh.HE_MeshStructure.getHalfedges(), wblut.hemesh.HE_Halfedge.getNextInVertex(), wblut.hemesh.HE_MeshStructure.getNumberOfHalfedges(), wblut.hemesh.HE_Halfedge.getVertex(), wblut.core.WB_ProgressReporter.WB_ProgressCounter.increment(), wblut.hemesh.HE_MeshStructure.removeHalfedges(), wblut.hemesh.HE_MeshStructure.setHalfedge(), wblut.core.WB_ProgressReporter.WB_ProgressTracker.setStartStatus(), wblut.core.WB_ProgressReporter.WB_ProgressTracker.setStopStatus(), and wblut.hemesh.HE_MeshElement.tracker.
HE_VertexIterator wblut.hemesh.HE_MeshStructure.vItr | ( | ) |
Vertex iterator.
|
protected |
|
protected |
|
protected |
|
protected |