HE_Mesh  6.0.1
wblut.hemesh.HE_Mesh Class Reference
+ Inheritance diagram for wblut.hemesh.HE_Mesh:

Classes

class  CreatorThread
 
class  ModifierThread
 
class  SimplifierThread
 
class  SubdividorThread
 

Public Member Functions

 HE_Mesh ()
 
 HE_Mesh (final HE_Mesh mesh)
 
 HE_Mesh (final HEC_Creator creator)
 
 HE_Mesh (final WB_Mesh mesh)
 
 HE_Mesh (final WB_MeshCreator mesh)
 
void add (final HE_Boundary b)
 
void add (final HE_Element el)
 
void add (final HE_Face f)
 
void add (final HE_Halfedge he)
 
void add (final HE_Mesh mesh)
 
void add (final HE_Vertex v)
 
void addBoundaries (final Collection<?extends HE_Boundary > boundaries)
 
void addBoundaries (final HE_Boundary[] boundaries)
 
void addBoundaries (final HE_Mesh source)
 
void addDerivedElement (final HE_Face f, final HE_Element...el)
 
void addDerivedElement (final HE_Halfedge he, final HE_Element...el)
 
void addDerivedElement (final HE_Vertex v, final HE_Element...el)
 
void addFaces (final Collection<?extends HE_Face > faces)
 
void addFaces (final HE_Face[] faces)
 
void addFaces (final HE_HalfedgeStructure source)
 
void addHalfedges (final Collection<?extends HE_Halfedge > halfedges)
 
void addHalfedges (final HE_Halfedge[] halfedges)
 
void addHalfedges (final HE_HalfedgeStructure source)
 
void addPointInClosestFace (final WB_Coord p, final WB_KDTree< WB_Coord, Long > vertexTree)
 
void addSelection (final String name, final HE_Selection sel)
 
void addVertices (final Collection<?extends HE_Vertex > vertices)
 
void addVertices (final HE_HalfedgeStructure source)
 
void addVertices (final HE_Vertex[] vertices)
 
HE_Mesh apply (final WB_Transform T)
 
HE_Mesh applySelf (final WB_Transform T)
 
HE_BoundaryIterator bItr ()
 
void capHalfedges ()
 
void clean ()
 
void cleanSelections ()
 
HE_Mesh cleanUnusedElementsByFace ()
 
void clear ()
 
void clearBoundaries ()
 
void clearEdges ()
 
void clearFace (final HE_Halfedge he)
 
void clearFaces ()
 
void clearHalfedge (final HE_Boundary b)
 
void clearHalfedge (final HE_Face f)
 
void clearHalfedge (final HE_Vertex v)
 
void clearHalfedges ()
 
void clearNext (final HE_Halfedge he)
 
void clearPair (final HE_Halfedge he)
 
void clearPrecomputed ()
 
void clearPrecomputedFaces ()
 
void clearPrecomputedHalfedges ()
 
void clearPrecomputedVertices ()
 
void clearPrev (final HE_Halfedge he)
 
void clearSelections ()
 
void clearVertex (final HE_Halfedge he)
 
void clearVertices ()
 
void clearVisitedElements ()
 
boolean contains (final HE_Boundary b)
 
boolean contains (final HE_Element el)
 
boolean contains (final HE_Face f)
 
boolean contains (final HE_Halfedge he)
 
boolean contains (final HE_Vertex v)
 
boolean containsBoundary (final long key)
 
boolean containsEdge (final long key)
 
boolean containsFace (final long key)
 
boolean containsHalfedge (final long key)
 
boolean containsVertex (final long key)
 
HE_Mesh copy ()
 
HE_Selection copySelection (final String from, final String to)
 
HE_Path createPathFromIndices (final int[] vertices, final boolean loop)
 
void createThreaded (final HEC_Creator creator)
 
void cutFace (final HE_Face f)
 
void cycleHalfedges (final List< HE_Halfedge > halfedges)
 
void cycleHalfedgesReverse (final List< HE_Halfedge > halfedges)
 
HE_Face deleteEdge (final HE_Halfedge e)
 
void deleteFace (final HE_Face f)
 
void deleteFaces (final HE_Selection faces)
 
HE_EdgeIterator eItr ()
 
void fitInAABB (final WB_AABB AABB)
 
void fitInAABB (final WB_AABB from, final WB_AABB to)
 
double fitInAABBConstrained (final WB_AABB AABB)
 
double fitInAABBConstrained (final WB_AABB from, final WB_AABB to)
 
HE_FaceIterator fItr ()
 
void fuse (final HE_Mesh mesh)
 
HE_Face fuseCoplanarFace (final HE_Face face, final double a)
 
void fuseCoplanarFaces ()
 
void fuseCoplanarFaces (final double a)
 
HE_Mesh get ()
 
WB_AABB getAABB ()
 
List< HE_HalfedgegetAllBoundaryHalfedges ()
 
List< HE_VertexgetAllBoundaryVertices ()
 
double getAngleDefect ()
 
double getArea ()
 
List< HE_BoundarygetBoundaries ()
 
HE_Boundary[] getBoundariesAsArray ()
 
HE_Path[] getBoundaryAsPath ()
 
HE_Boundary getBoundaryWithIndex (final int i)
 
HE_Boundary getBoundaryWithKey (final long key)
 
WB_Sphere getBoundingSphere ()
 
WB_Point getCenter ()
 
WB_Coord getClosestPoint (final WB_Coord p, final WB_KDTree< WB_Coord, Long > vertexTree)
 
HE_Vertex getClosestVertex (final WB_Coord p, final WB_KDTree< WB_Coord, Long > vertexTree)
 
WB_Coord[] getEdgeCenters ()
 
WB_Coord[] getEdgeNormals ()
 
List< HE_HalfedgegetEdges ()
 
HE_Halfedge[] getEdgesAsArray ()
 
int[][] getEdgesAsInt ()
 
HE_Halfedge getEdgeWithIndex (final int i)
 
HE_Halfedge getEdgeWithKey (final long key)
 
int getEulerCharacteristic ()
 
WB_Coord getFaceCenter (final int id)
 
WB_Coord[] getFaceCenters ()
 
int[] getFaceColors ()
 
int[] getFaceInternalLabels ()
 
WB_Coord getFaceNormal (final int id)
 
WB_Coord[] getFaceNormals ()
 
List< HE_FacegetFaces ()
 
HE_Face[] getFacesAsArray ()
 
int[][] getFacesAsInt ()
 
int[] getFaceTextureIds ()
 
WB_KDTree< WB_Coord, Long > getFaceTree ()
 
int[] getFaceUserLabels ()
 
boolean[] getFaceVisibility ()
 
HE_Face getFaceWithIndex (final int i)
 
HE_Face getFaceWithKey (final long key)
 
int getGenus ()
 
HE_Halfedge getHalfedgeFromTo (final HE_Vertex v0, final HE_Vertex v1)
 
List< HE_HalfedgegetHalfedges ()
 
HE_Halfedge[] getHalfedgesAsArray ()
 
HE_Halfedge getHalfedgeWithIndex (final int i)
 
HE_Halfedge getHalfedgeWithKey (final long key)
 
int getIndex (final HE_Boundary b)
 
int getIndex (final HE_Face f)
 
int getIndex (final HE_Halfedge edge)
 
int getIndex (final HE_Vertex v)
 
Map< Long, WB_CoordgetKeyedEdgeCenters ()
 
Map< Long, WB_CoordgetKeyedEdgeNormals ()
 
Map< Long, WB_CoordgetKeyedFaceCenters ()
 
Map< Long, WB_CoordgetKeyedFaceNormals ()
 
Map< Long, WB_CoordgetKeyedVertexNormals ()
 
double[] getLimits ()
 
double getMeanEdgeLength ()
 
String getName ()
 
HE_Selection getNewSelection ()
 
HE_Selection getNewSelection (final String name)
 
WB_Network getNetwork ()
 
int getNumberOfBoundaries ()
 
int getNumberOfEdges ()
 
int getNumberOfFaces ()
 
int getNumberOfHalfedges ()
 
int getNumberOfVertices ()
 
WB_CoordCollection getPoints ()
 
List< WB_PolygongetPolygonList ()
 
WB_Polygon[] getPolygons ()
 
WB_Segment[] getSegments ()
 
HE_Selection getSelection (final String name)
 
Set< String > getSelectionNames ()
 
List< HE_FacegetSharedFaces (final HE_Vertex v1, final HE_Vertex v2)
 
int[] getTriangles ()
 
List< HE_HalfedgegetUnpairedHalfedges ()
 
WB_Coord getVertex (final int i)
 
int[] getVertexColors ()
 
int[] getVertexInternalLabels ()
 
Map< Long, Integer > getVertexKeyToIndexMap ()
 
WB_Coord getVertexNormal (final int i)
 
WB_Coord[] getVertexNormals ()
 
WB_KDTree< WB_Coord, Long > getVertexTree ()
 
int[] getVertexUserLabels ()
 
boolean[] getVertexVisibility ()
 
HE_Vertex getVertexWithIndex (final int i)
 
HE_Vertex getVertexWithKey (final long key)
 
List< HE_VertexgetVertices ()
 
HE_Vertex[] getVerticesAsArray ()
 
List< WB_CoordgetVerticesAsCoord ()
 
double[][] getVerticesAsDouble ()
 
float[][] getVerticesAsFloat ()
 
HE_HalfedgeIterator heItr ()
 
boolean isFinished ()
 
boolean isSurface ()
 
HE_Mesh modify (final HEM_Modifier modifier)
 
void modifyThreaded (final HEM_Modifier modifier)
 
HE_Mesh move (final double x, final double y, final double z)
 
HE_Mesh move (final WB_Coord v)
 
HE_Mesh moveSelf (final double x, final double y, final double z)
 
HE_Mesh moveSelf (final WB_Coord v)
 
HE_Mesh moveTo (final double x, final double y, final double z)
 
HE_Mesh moveTo (final WB_Coord v)
 
HE_Mesh moveToSelf (final double x, final double y, final double z)
 
HE_Mesh moveToSelf (final WB_Coord v)
 
void orderHalfedges (final List< HE_Halfedge > halfedges, final boolean loop)
 
void orderHalfedgesReverse (final List< HE_Halfedge > halfedges, final boolean loop)
 
void pairHalfedges ()
 
void pairHalfedges (final List< HE_Halfedge > unpairedHalfedges)
 
List< HE_HalfedgepairHalfedgesOnePass ()
 
void remove (final HE_Boundary b)
 
void remove (final HE_Face f)
 
void remove (final HE_Halfedge he)
 
void remove (final HE_Vertex v)
 
void removeBoundaries (final Collection<?extends HE_Boundary > boundaries)
 
void removeBoundaries (final HE_Boundary[] boundaries)
 
void removeEdges (final Collection<?extends HE_Halfedge > edges)
 
void removeEdges (final HE_Halfedge[] edges)
 
void removeFaces (final Collection<?extends HE_Face > faces)
 
void removeFaces (final HE_Face[] faces)
 
void removeHalfedges (final Collection<?extends HE_Halfedge > halfedges)
 
void removeHalfedges (final HE_Halfedge[] halfedges)
 
HE_Selection removeSelection (final String name)
 
void removeVertices (final Collection<?extends HE_Vertex > vertices)
 
void removeVertices (final HE_Vertex[] vertices)
 
boolean renameSelection (final String from, final String to)
 
HE_Selection replaceSelection (final String name, final HE_Selection sel)
 
void resetEdgeUserLabels ()
 
void resetFaceUserLabels ()
 
void resetHalfedgeUserLabels ()
 
void resetUserLabels ()
 
void resetVertexUserLabels ()
 
HE_Mesh rotateAboutAxis (final double angle, final double px, final double py, final double pz, final double ax, final double ay, final double az)
 
HE_Mesh rotateAboutAxis (final double angle, final WB_Coord p, final WB_Coord a)
 
HE_Mesh rotateAboutAxis2P (final double angle, final double p1x, final double p1y, final double p1z, final double p2x, final double p2y, final double p2z)
 
HE_Mesh rotateAboutAxis2P (final double angle, final WB_Coord p1, final WB_Coord p2)
 
HE_Mesh rotateAboutAxis2PSelf (final double angle, final double p1x, final double p1y, final double p1z, final double p2x, final double p2y, final double p2z)
 
HE_Mesh rotateAboutAxis2PSelf (final double angle, final WB_Coord p1, final WB_Coord p2)
 
HE_Mesh rotateAboutAxisSelf (final double angle, final double px, final double py, final double pz, final double ax, final double ay, final double az)
 
HE_Mesh rotateAboutAxisSelf (final double angle, final WB_Coord p, final WB_Coord a)
 
HE_Mesh rotateAboutCenter (final double angle, final double ax, final double ay, final double az)
 
HE_Mesh rotateAboutCenter (final double angle, final WB_Coord a)
 
HE_Mesh rotateAboutCenterSelf (final double angle, final double ax, final double ay, final double az)
 
HE_Mesh rotateAboutCenterSelf (final double angle, final WB_Coord a)
 
HE_Mesh rotateAboutOrigin (final double angle, final double ax, final double ay, final double az)
 
HE_Mesh rotateAboutOrigin (final double angle, final WB_Coord a)
 
HE_Mesh rotateAboutOriginSelf (final double angle, final double ax, final double ay, final double az)
 
HE_Mesh rotateAboutOriginSelf (final double angle, final WB_Coord a)
 
HE_Mesh scale (final double scaleFactor)
 
HE_Mesh scale (final double scaleFactorx, final double scaleFactory, final double scaleFactorz)
 
HE_Mesh scale (final double scaleFactorx, final double scaleFactory, final double scaleFactorz, final WB_Coord c)
 
HE_Mesh scale (final double scaleFactor, final WB_Coord c)
 
HE_Mesh scaleSelf (final double scaleFactor)
 
HE_Mesh scaleSelf (final double scaleFactorx, final double scaleFactory, final double scaleFactorz)
 
HE_Mesh scaleSelf (final double scaleFactorx, final double scaleFactory, final double scaleFactorz, final WB_Coord c)
 
HE_Mesh scaleSelf (final double scaleFactor, final WB_Coord c)
 
HE_Selection selectAll ()
 
HE_Selection selectAll (final String name)
 
HE_Selection selectAllEdges ()
 
HE_Selection selectAllEdges (final String name)
 
HE_Selection selectAllFaces ()
 
HE_Selection selectAllFaces (final String name)
 
HE_Selection selectAllHalfedges ()
 
HE_Selection selectAllHalfedges (final String name)
 
HE_Selection selectAllInnerBoundaryHalfedges ()
 
HE_Selection selectAllInnerBoundaryHalfedges (final String name)
 
HE_Selection selectAllOuterBoundaryHalfedges ()
 
HE_Selection selectAllOuterBoundaryHalfedges (final String name)
 
HE_Selection selectAllVertices ()
 
HE_Selection selectAllVertices (final String name)
 
HE_Selection selectBackEdges (final String name, final WB_Plane P)
 
HE_Selection selectBackEdges (final WB_Plane P)
 
HE_Selection selectBackFaces (final String name, final WB_Plane P)
 
HE_Selection selectBackFaces (final WB_Plane P)
 
HE_Selection selectBackVertices (final String name, final WB_Plane P)
 
HE_Selection selectBackVertices (final WB_Plane P)
 
HE_Selection selectBoundaryEdges ()
 
HE_Selection selectBoundaryEdges (final String name)
 
HE_Selection selectBoundaryFaces ()
 
HE_Selection selectBoundaryFaces (final String name)
 
HE_Selection selectBoundaryVertices ()
 
HE_Selection selectBoundaryVertices (final String name)
 
HE_Selection selectCrossingEdges (final String name, final WB_Plane P)
 
HE_Selection selectCrossingEdges (final WB_Plane P)
 
HE_Selection selectCrossingFaces (final String name, final WB_Plane P)
 
HE_Selection selectCrossingFaces (final WB_Plane P)
 
HE_Selection selectEdgesWithLabel (final int label)
 
HE_Selection selectEdgesWithLabel (final String name, final int label)
 
HE_Selection selectEdgesWithOtherInternalLabel (final int label)
 
HE_Selection selectEdgesWithOtherInternalLabel (final String name, final int label)
 
HE_Selection selectEdgesWithOtherLabel (final int label)
 
HE_Selection selectEdgesWithOtherLabel (final String name, final int label)
 
HE_Selection selectEdgeWithInternalLabel (final int label)
 
HE_Selection selectEdgeWithInternalLabel (final String name, final int label)
 
HE_Selection selectFacesWithInternalLabel (final int label)
 
HE_Selection selectFacesWithInternalLabel (final String name, final int label)
 
HE_Selection selectFacesWithLabel (final int label)
 
HE_Selection selectFacesWithLabel (final String name, final int label)
 
HE_Selection selectFacesWithNormal (final String name, final WB_Coord v)
 
HE_Selection selectFacesWithNormal (final String name, final WB_Coord n, final double ta)
 
HE_Selection selectFacesWithNormal (final WB_Coord v)
 
HE_Selection selectFacesWithNormal (final WB_Coord n, final double ta)
 
HE_Selection selectFacesWithOtherInternalLabel (final int label)
 
HE_Selection selectFacesWithOtherInternalLabel (final String name, final int label)
 
HE_Selection selectFacesWithOtherLabel (final int label)
 
HE_Selection selectFacesWithOtherLabel (final String name, final int label)
 
HE_Selection selectFrontEdges (final String name, final WB_Plane P)
 
HE_Selection selectFrontEdges (final WB_Plane P)
 
HE_Selection selectFrontFaces (final String name, final WB_Plane P)
 
HE_Selection selectFrontFaces (final WB_Plane P)
 
HE_Selection selectFrontVertices (final String name, final WB_Plane P)
 
HE_Selection selectFrontVertices (final WB_Plane P)
 
HE_Selection selectHalfedgesWithLabel (final int label)
 
HE_Selection selectHalfedgesWithLabel (final String name, final int label)
 
HE_Selection selectHalfedgesWithOtherInternalLabel (final int label)
 
HE_Selection selectHalfedgesWithOtherInternalLabel (final String name, final int label)
 
HE_Selection selectHalfedgesWithOtherLabel (final int label)
 
HE_Selection selectHalfedgesWithOtherLabel (final String name, final int label)
 
HE_Selection selectHalfedgeWithInternalLabel (final int label)
 
HE_Selection selectHalfedgeWithInternalLabel (final String name, final int label)
 
HE_Selection selectOnVertices (final String name, final WB_Plane P)
 
HE_Selection selectOnVertices (final WB_Plane P)
 
HE_Selection selectRandomEdges (final double r)
 
HE_Selection selectRandomEdges (final double r, final long seed)
 
HE_Selection selectRandomEdges (final String name, final double r)
 
HE_Selection selectRandomEdges (final String name, final double r, final long seed)
 
HE_Selection selectRandomFaces (final double r)
 
HE_Selection selectRandomFaces (final double r, final long seed)
 
HE_Selection selectRandomFaces (final String name, final double r)
 
HE_Selection selectRandomFaces (final String name, final double r, final long seed)
 
HE_Selection selectRandomVertices (final double r)
 
HE_Selection selectRandomVertices (final double r, final long seed)
 
HE_Selection selectRandomVertices (final String name, final double r)
 
HE_Selection selectRandomVertices (final String name, final double r, final long seed)
 
HE_Selection selectVerticesWithInternalLabel (final int label)
 
HE_Selection selectVerticesWithInternalLabel (final String name, final int label)
 
HE_Selection selectVerticesWithLabel (final int label)
 
HE_Selection selectVerticesWithLabel (final String name, final int label)
 
HE_Selection selectVerticesWithOtherInternalLabel (final int label)
 
HE_Selection selectVerticesWithOtherInternalLabel (final String name, final int label)
 
HE_Selection selectVerticesWithOtherLabel (final int label)
 
HE_Selection selectVerticesWithOtherLabel (final String name, final int label)
 
void set (final HE_Mesh target)
 
void setEdgeUserLabels (final int label)
 
void setFace (final HE_Halfedge he, final HE_Face f)
 
void setFaceColor (final int color)
 
void setFaceColorWithInternalLabel (final int color, final int i)
 
void setFaceColorWithOtherInternalLabel (final int color, final int i)
 
void setFaceColorWithOtherUserLabel (final int color, final int i)
 
void setFaceColorWithUserLabel (final int color, final int i)
 
void setFaceUserLabels (final int label)
 
void setHalfedge (final HE_Boundary b, final HE_Halfedge he)
 
void setHalfedge (final HE_Face f, final HE_Halfedge he)
 
void setHalfedge (final HE_Vertex v, final HE_Halfedge he)
 
void setHalfedgeColor (final int color)
 
void setHalfedgeColorWithInternalLabel (final int color, final int i)
 
void setHalfedgeColorWithOtherInternalLabel (final int color, final int i)
 
void setHalfedgeColorWithOtherUserLabel (final int color, final int i)
 
void setHalfedgeColorWithUserLabel (final int color, final int i)
 
void setHalfedgeUserLabels (final int label)
 
void setName (final String name)
 
void setNext (final HE_Halfedge he, final HE_Halfedge hen)
 
void setPair (final HE_Halfedge he1, final HE_Halfedge he2)
 
void setPairNoSelectionCheck (final HE_Halfedge he1, final HE_Halfedge he2)
 
void setVertex (final HE_Halfedge he, final HE_Vertex v)
 
void setVertex (final HE_Vertex v, final double x, final double y)
 
void setVertex (final HE_Vertex v, final double x, final double y, final double z)
 
void setVertex (final HE_Vertex v, final WB_Coord c)
 
void setVertexColor (final int color)
 
void setVertexColorWithInternalLabel (final int color, final int i)
 
void setVertexColorWithOtherInternalLabel (final int color, final int i)
 
void setVertexColorWithOtherUserLabel (final int color, final int i)
 
void setVertexColorWithUserLabel (final int color, final int i)
 
void setVertexUserLabels (final int label)
 
void setVertexWithIndex (final int index, final double x, final double y)
 
void setVertexWithIndex (final int index, final double x, final double y, final double z)
 
void setVertexWithIndex (final int index, final WB_Coord c)
 
void setVertexWithKey (final long key, final double x, final double y)
 
void setVertexWithKey (final long key, final double x, final double y, final double z)
 
void setVertexWithKey (final long key, final WB_Coord c)
 
void setVerticesFromDouble (final double[][] values)
 
void setVerticesFromFloat (final double[] values)
 
void setVerticesFromFloat (final float[] values)
 
void setVerticesFromFloat (final float[][] values)
 
void setVerticesFromFloat (final int[] values)
 
void setVerticesFromInt (final int[][] values)
 
void setVerticesFromPoint (final List<?extends WB_Coord > values)
 
void setVerticesFromPoint (final WB_Coord[] values)
 
HE_Mesh simplify (final HES_Simplifier simplifier)
 
void simplifyThreaded (final HES_Simplifier simplifier)
 
void smooth ()
 
void smooth (final int rep)
 
void sort ()
 
void sort (final HE_FaceSort faceSort, final HE_VertexSort vertexSort)
 
HE_Mesh subdivide (final HES_Subdividor subdividor)
 
HE_Mesh subdivide (final HES_Subdividor subdividor, final int rep)
 
void subdivideThreaded (final HES_Subdividor subdividor)
 
void subdivideThreaded (final HES_Subdividor subdividor, final int rep)
 
WB_Mesh toFacelistMesh ()
 
String toString ()
 
HE_Mesh transform (final WB_Transform T)
 
HE_Mesh transformSelf (final WB_Transform T)
 
HE_Selection triangulate ()
 
HE_Selection triangulate (final HE_Face face)
 
HE_Selection triangulate (final HE_Selection sel)
 
HE_Selection triangulate (final long key)
 
HE_Selection triangulateConcaveFace (final HE_Face face)
 
HE_Selection triangulateConcaveFace (final long key)
 
HE_Selection triangulateConcaveFaces ()
 
HE_Selection triangulateConcaveFaces (final List< HE_Face > sel)
 
HE_Selection triangulateFaceStar (final HE_Vertex v)
 
HE_Selection triangulateFaceStar (final long vertexkey)
 
void uncapBoundaryHalfedges ()
 
void update ()
 
void updateBoundaries ()
 
boolean validate ()
 
HE_VertexIterator vItr ()
 
- Public Member Functions inherited from wblut.hemesh.HE_MeshElement
 HE_MeshElement ()
 
void clearVisited ()
 
void setVisited ()
 
void setVisited (final boolean b)
 
boolean isVisited ()
 
void setVisible (final boolean b)
 
boolean isVisible ()
 
int hashCode ()
 
boolean equals (final Object other)
 
void copyProperties (final HE_MeshElement el)
 
int getColor ()
 
void setColor (final int color)
 
- Public Member Functions inherited from wblut.hemesh.HE_Element
 HE_Element ()
 
final void setUserLabel (final int label)
 
final long getKey ()
 
final int getInternalLabel ()
 
final int getUserLabel ()
 
int hashCode ()
 
boolean equals (final Object other)
 
void copyProperties (final HE_Element el)
 
- Public Member Functions inherited from wblut.hemesh.HE_HalfedgeStructure
void add (HE_Element el)
 
void add (HE_Face f)
 
void add (HE_Halfedge he)
 
void add (HE_Mesh mesh)
 
void add (HE_Vertex v)
 
void addFaces (Collection<?extends HE_Face > faces)
 
void addFaces (HE_Face[] faces)
 
void addFaces (HE_HalfedgeStructure source)
 
void addHalfedges (Collection<?extends HE_Halfedge > halfedges)
 
void addHalfedges (HE_Halfedge[] halfedges)
 
void addHalfedges (HE_HalfedgeStructure source)
 
void addVertices (Collection<?extends HE_Vertex > vertices)
 
void addVertices (HE_HalfedgeStructure source)
 
void addVertices (HE_Vertex[] vertices)
 
boolean contains (HE_Element el)
 
HE_Halfedge getEdgeWithIndex (int i)
 
HE_Face getFaceWithIndex (int i)
 
HE_Halfedge getHalfedgeWithIndex (int i)
 
HE_Vertex getVertexWithIndex (int i)
 
HE_Mesh modify (HEM_Modifier modifier)
 
void remove (HE_Face f)
 
void remove (HE_Halfedge he)
 
void remove (HE_Vertex v)
 
void removeEdges (Collection<?extends HE_Halfedge > edges)
 
void removeEdges (HE_Halfedge[] edges)
 
void removeFaces (Collection<?extends HE_Face > faces)
 
void removeFaces (HE_Face[] faces)
 
void removeHalfedges (Collection<?extends HE_Halfedge > halfedges)
 
void removeHalfedges (HE_Halfedge[] halfedges)
 
void removeVertices (Collection<?extends HE_Vertex > vertices)
 
void removeVertices (HE_Vertex[] vertices)
 
void setName (String name)
 
HE_Mesh simplify (HES_Simplifier simplifier)
 
HE_Mesh subdivide (HES_Subdividor subdividor)
 
HE_Mesh subdivide (HES_Subdividor subdividor, int rep)
 
HE_Face getFaceWithKey (long key)
 
HE_Halfedge getHalfedgeWithKey (long key)
 
HE_Halfedge getEdgeWithKey (long key)
 
HE_Vertex getVertexWithKey (long key)
 
boolean contains (HE_Face f)
 
boolean contains (HE_Halfedge he)
 
boolean contains (HE_Vertex v)
 
boolean containsFace (long key)
 
boolean containsHalfedge (long key)
 
boolean containsEdge (long key)
 
boolean containsVertex (long key)
 
int getIndex (HE_Face f)
 
int getIndex (HE_Halfedge edge)
 
int getIndex (HE_Vertex v)
 

Protected Member Functions

void resetEdgeInternalLabels ()
 
void resetFaceInternalLabels ()
 
void resetHalfedgeInternalLabels ()
 
void resetInternalLabels ()
 
void resetVertexInternalLabels ()
 
void setEdgeInternalLabels (final int label)
 
void setFaceInternalLabels (final int label)
 
void setHalfedgeInternalLabels (final int label)
 
void setVertexInternalLabels (final int label)
 
- Protected Member Functions inherited from wblut.hemesh.HE_MeshElement
abstract void clear ()
 
- Protected Member Functions inherited from wblut.hemesh.HE_Element
final void setInternalLabel (final int label)
 
abstract void clear ()
 
abstract void clearPrecomputed ()
 

Protected Attributes

WB_GeometryFactory gf = new WB_GeometryFactory()
 
- Protected Attributes inherited from wblut.hemesh.HE_MeshElement
volatile boolean visited
 
boolean visible
 
int color
 
- Protected Attributes inherited from wblut.hemesh.HE_Element
final long key
 
int internalLabel
 
int userLabel
 

Private Member Functions

void replaceFaces (final HE_Mesh mesh)
 
void replaceHalfedges (final HE_Mesh mesh)
 
void replaceVertices (final HE_Mesh mesh)
 

Private Attributes

HE_RAS< HE_Boundaryboundaries
 
HE_RAS< HE_Halfedgeedges
 
HE_RAS< HE_Facefaces
 
HE_RAS< HE_Halfedgehalfedges
 
HE_RAS< HE_HalfedgeunpairedHalfedges
 
HE_RAS< HE_Vertexvertices
 

Additional Inherited Members

- Static Protected Attributes inherited from wblut.hemesh.HE_MeshElement
static final WB_GeometryFactory gf = new WB_GeometryFactory()
 
static final WB_ProgressTracker tracker = WB_ProgressTracker.instance()
 
- Static Protected Attributes inherited from wblut.hemesh.HE_Element
static AtomicLong currentKey = new AtomicLong(0)
 

Detailed Description

Half-edge mesh data structure.

Author
Frederik Vanhoutte (W:Blut)

Constructor & Destructor Documentation

wblut.hemesh.HE_Mesh.HE_Mesh ( )

Instantiates a new HE_Mesh.

wblut.hemesh.HE_Mesh.HE_Mesh ( final HE_Mesh  mesh)
Parameters
mesh

References wblut.hemesh.HE_Mesh.set().

wblut.hemesh.HE_Mesh.HE_Mesh ( final HEC_Creator  creator)

Constructor.

Parameters
creatorHE_Creator that generates this mesh

References wblut.hemesh.HEC_Creator.create().

wblut.hemesh.HE_Mesh.HE_Mesh ( final WB_Mesh  mesh)
Parameters
mesh
wblut.hemesh.HE_Mesh.HE_Mesh ( final WB_MeshCreator  mesh)
Parameters
mesh

References wblut.geom.WB_MeshCreator.create().

Member Function Documentation

void wblut.hemesh.HE_Mesh.add ( final HE_Boundary  b)
void wblut.hemesh.HE_Mesh.add ( final HE_Element  el)
void wblut.hemesh.HE_Mesh.add ( final HE_Face  f)

Add face.

Parameters
fface to add

References wblut.hemesh.HE_RAS< E extends HE_Element >.add().

void wblut.hemesh.HE_Mesh.add ( final HE_Halfedge  he)
void wblut.hemesh.HE_Mesh.add ( final HE_Vertex  v)

Add vertex.

Parameters
vvertex to add

References wblut.hemesh.HE_RAS< E extends HE_Element >.add().

void wblut.hemesh.HE_Mesh.addBoundaries ( final Collection<?extends HE_Boundary boundaries)
Parameters
boundaries

References wblut.hemesh.HE_Mesh.add().

void wblut.hemesh.HE_Mesh.addBoundaries ( final HE_Boundary[]  boundaries)
Parameters
boundaries

References wblut.hemesh.HE_Mesh.add().

void wblut.hemesh.HE_Mesh.addBoundaries ( final HE_Mesh  source)
Parameters
source

References wblut.hemesh.HE_Mesh.getBoundaries().

void wblut.hemesh.HE_Mesh.addDerivedElement ( final HE_Face  f,
final HE_Element...  el 
)

Adds a face to the mesh. The face is also added to any selection that contains one of the elements it derives from.

Parameters
fnew face
elelements the face derives from

References wblut.hemesh.HE_Mesh.add(), and wblut.hemesh.HE_Mesh.contains().

void wblut.hemesh.HE_Mesh.addDerivedElement ( final HE_Halfedge  he,
final HE_Element...  el 
)

Adds a halfedge to the mesh. The halfedge is also added to any selection that contains one of the elements it derives from.

Parameters
henew halfedge
elelements the halfedge derives from

References wblut.hemesh.HE_Mesh.add(), and wblut.hemesh.HE_Mesh.contains().

void wblut.hemesh.HE_Mesh.addDerivedElement ( final HE_Vertex  v,
final HE_Element...  el 
)

Adds a vertex to the mesh. The vertex is also added to any selection that contains one of the elements it derives from.

Parameters
vnew vertex
elelements the vertex derives from

References wblut.hemesh.HE_Mesh.add(), and wblut.hemesh.HE_Mesh.contains().

void wblut.hemesh.HE_Mesh.addFaces ( final Collection<?extends HE_Face faces)

Adds faces.

Parameters
facesfaces to add as Collection<? extends HE_Face>

References wblut.hemesh.HE_Mesh.add().

void wblut.hemesh.HE_Mesh.addFaces ( final HE_Face[]  faces)

Adds faces.

Parameters
facesfaces to add as HE_Face[]

References wblut.hemesh.HE_Mesh.add().

void wblut.hemesh.HE_Mesh.addFaces ( final HE_HalfedgeStructure  source)
Parameters
source

References wblut.hemesh.HE_HalfedgeStructure.getFaces().

void wblut.hemesh.HE_Mesh.addHalfedges ( final Collection<?extends HE_Halfedge halfedges)

Adds halfedges.

Parameters
halfedgeshalfedges to add as Collection<? extends HE_Halfedge>

References wblut.hemesh.HE_Mesh.add().

void wblut.hemesh.HE_Mesh.addHalfedges ( final HE_Halfedge[]  halfedges)

Adds halfedges.

Parameters
halfedgeshalfedges to add as HE_Halfedge[]

References wblut.hemesh.HE_Mesh.add().

void wblut.hemesh.HE_Mesh.addHalfedges ( final HE_HalfedgeStructure  source)
void wblut.hemesh.HE_Mesh.addSelection ( final String  name,
final HE_Selection  sel 
)
void wblut.hemesh.HE_Mesh.addVertices ( final Collection<?extends HE_Vertex vertices)

Adds vertices.

Parameters
verticesvertices to add as Collection<? extends HE_Vertex>

References wblut.hemesh.HE_Mesh.add().

void wblut.hemesh.HE_Mesh.addVertices ( final HE_HalfedgeStructure  source)
Parameters
source

References wblut.hemesh.HE_HalfedgeStructure.getVertices().

void wblut.hemesh.HE_Mesh.addVertices ( final HE_Vertex[]  vertices)

Adds vertices.

Parameters
verticesvertices to add as HE_Vertex[]

References wblut.hemesh.HE_Mesh.add().

HE_Mesh wblut.hemesh.HE_Mesh.apply ( final WB_Transform  T)
HE_Mesh wblut.hemesh.HE_Mesh.applySelf ( final WB_Transform  T)
Parameters
T
Returns

References wblut.hemesh.HE_Mesh.modify().

HE_BoundaryIterator wblut.hemesh.HE_Mesh.bItr ( )
void wblut.hemesh.HE_Mesh.clean ( )

Clean.

References wblut.hemesh.HE_Mesh.modify().

void wblut.hemesh.HE_Mesh.cleanSelections ( )
HE_Mesh wblut.hemesh.HE_Mesh.cleanUnusedElementsByFace ( )

Clean all mesh elements not used by any faces.

Returns
self

References wblut.hemesh.HET_MeshOp.cleanUnusedElementsByFace().

void wblut.hemesh.HE_Mesh.clearBoundaries ( )
void wblut.hemesh.HE_Mesh.clearEdges ( )
void wblut.hemesh.HE_Mesh.clearFace ( final HE_Halfedge  he)
void wblut.hemesh.HE_Mesh.clearFaces ( )
void wblut.hemesh.HE_Mesh.clearHalfedge ( final HE_Boundary  b)

Unlink halfedge from boundary

Parameters
b

References wblut.hemesh.HE_Boundary._clearHalfedge().

void wblut.hemesh.HE_Mesh.clearHalfedge ( final HE_Face  f)

Unlink halfedge from face

Parameters
f

References wblut.hemesh.HE_Face._clearHalfedge().

void wblut.hemesh.HE_Mesh.clearHalfedge ( final HE_Vertex  v)

Unlink halfedge from vertex

Parameters
v

References wblut.hemesh.HE_Vertex._clearHalfedge().

void wblut.hemesh.HE_Mesh.clearHalfedges ( )
void wblut.hemesh.HE_Mesh.clearNext ( final HE_Halfedge  he)

Unlink next halfedge from halfedge, unlinks the corresponding "previous" relationship.

Parameters
he

References wblut.hemesh.HE_Halfedge._clearNext(), wblut.hemesh.HE_Halfedge._clearPrev(), and wblut.hemesh.HE_Halfedge.getNextInFace().

void wblut.hemesh.HE_Mesh.clearPair ( final HE_Halfedge  he)

Unpair halfedge. If the halfedge was paired, its pair is unpaired as well.

Parameters
he

References wblut.hemesh.HE_Halfedge._clearPair(), wblut.hemesh.HE_Mesh.add(), and wblut.hemesh.HE_Halfedge.getPair().

void wblut.hemesh.HE_Mesh.clearPrecomputedHalfedges ( )
void wblut.hemesh.HE_Mesh.clearPrev ( final HE_Halfedge  he)

Unlink previous halfedge from halfedge, unlinks the corresponding "next" relationship.

Parameters
he

References wblut.hemesh.HE_Halfedge._clearNext(), wblut.hemesh.HE_Halfedge._clearPrev(), and wblut.hemesh.HE_Halfedge.getPrevInFace().

void wblut.hemesh.HE_Mesh.clearSelections ( )
void wblut.hemesh.HE_Mesh.clearVertex ( final HE_Halfedge  he)

Unlink vertex from halfedge

Parameters
he

References wblut.hemesh.HE_Halfedge._clearVertex().

void wblut.hemesh.HE_Mesh.clearVertices ( )
boolean wblut.hemesh.HE_Mesh.contains ( final HE_Boundary  b)
boolean wblut.hemesh.HE_Mesh.contains ( final HE_Element  el)
boolean wblut.hemesh.HE_Mesh.contains ( final HE_Face  f)

Check if structure contains face.

Parameters
fface
Returns
true, if successful

References wblut.hemesh.HE_RAS< E extends HE_Element >.contains().

boolean wblut.hemesh.HE_Mesh.contains ( final HE_Halfedge  he)

Check if structure contains halfedge.

Parameters
hehalfedge
Returns
true, if successful

References wblut.hemesh.HE_RAS< E extends HE_Element >.contains().

boolean wblut.hemesh.HE_Mesh.contains ( final HE_Vertex  v)

Check if structure contains vertex.

Parameters
vvertex
Returns
true, if successful

References wblut.hemesh.HE_RAS< E extends HE_Element >.contains().

boolean wblut.hemesh.HE_Mesh.containsBoundary ( final long  key)
boolean wblut.hemesh.HE_Mesh.containsEdge ( final long  key)
boolean wblut.hemesh.HE_Mesh.containsFace ( final long  key)
boolean wblut.hemesh.HE_Mesh.containsHalfedge ( final long  key)
boolean wblut.hemesh.HE_Mesh.containsVertex ( final long  key)
HE_Mesh wblut.hemesh.HE_Mesh.copy ( )

Deep copy of mesh.

Returns
copy as new HE_Mesh

References wblut.hemesh.HE_Mesh.HE_Mesh().

HE_Selection wblut.hemesh.HE_Mesh.copySelection ( final String  from,
final String  to 
)
HE_Path wblut.hemesh.HE_Mesh.createPathFromIndices ( final int[]  vertices,
final boolean  loop 
)
void wblut.hemesh.HE_Mesh.createThreaded ( final HEC_Creator  creator)
void wblut.hemesh.HE_Mesh.cutFace ( final HE_Face  f)
void wblut.hemesh.HE_Mesh.cycleHalfedges ( final List< HE_Halfedge halfedges)

Cycle halfedges.

Parameters
halfedgeshalfedges to cycle

References wblut.hemesh.HE_Mesh.orderHalfedges().

void wblut.hemesh.HE_Mesh.cycleHalfedgesReverse ( final List< HE_Halfedge halfedges)

Cycle halfedges.

Parameters
halfedgeshalfedges to cycle

References wblut.hemesh.HE_Mesh.orderHalfedgesReverse().

void wblut.hemesh.HE_Mesh.deleteFace ( final HE_Face  f)

Delete face and remove all references. Its halfedges remain and form a valid boundary loop.

Parameters
fface to delete

References wblut.hemesh.HE_Mesh.clearFace(), wblut.hemesh.HE_Face.getHalfedge(), and wblut.hemesh.HE_Halfedge.getNextInFace().

void wblut.hemesh.HE_Mesh.deleteFaces ( final HE_Selection  faces)

Delete face and remove all references.

Parameters
facesfaces to delete

References wblut.hemesh.HE_Mesh.capHalfedges(), wblut.hemesh.HE_Mesh.cleanUnusedElementsByFace(), wblut.hemesh.HE_Selection.fItr(), and wblut.hemesh.HE_Mesh.fItr().

HE_EdgeIterator wblut.hemesh.HE_Mesh.eItr ( )

Edge iterator.

Returns
edge iterator

Implements wblut.hemesh.HE_HalfedgeStructure.

HE_FaceIterator wblut.hemesh.HE_Mesh.fItr ( )

Face iterator.

Returns
face iterator

Implements wblut.hemesh.HE_HalfedgeStructure.

References wblut.hemesh.HE_Mesh.getFaces().

void wblut.hemesh.HE_Mesh.fuseCoplanarFaces ( )

Fuse all planar faces. Can lead to concave faces.

void wblut.hemesh.HE_Mesh.fuseCoplanarFaces ( final double  a)
HE_Mesh wblut.hemesh.HE_Mesh.get ( )

Deep copy of mesh.

Returns
copy as new HE_Mesh

References wblut.hemesh.HE_Mesh.HE_Mesh().

WB_AABB wblut.hemesh.HE_Mesh.getAABB ( )

Get axis-aligned bounding box surrounding mesh.

Returns
WB_AABB axis-aligned bounding box

Implements wblut.hemesh.HE_HalfedgeStructure.

References wblut.geom.WB_GeometryFactory3D.createPoint(), and wblut.hemesh.HE_Mesh.getLimits().

List<HE_Halfedge> wblut.hemesh.HE_Mesh.getAllBoundaryHalfedges ( )

Collect all boundary halfedges.

Returns
boundary halfedges

References wblut.hemesh.HE_Mesh.heItr().

List<HE_Vertex> wblut.hemesh.HE_Mesh.getAllBoundaryVertices ( )

Collect all boundary vertices.

Returns
boundary vertices

References wblut.hemesh.HE_Mesh.heItr().

double wblut.hemesh.HE_Mesh.getAngleDefect ( )
double wblut.hemesh.HE_Mesh.getArea ( )
Returns

References wblut.hemesh.HE_Mesh.fItr().

List<HE_Boundary> wblut.hemesh.HE_Mesh.getBoundaries ( )
HE_Boundary [] wblut.hemesh.HE_Mesh.getBoundariesAsArray ( )
HE_Path [] wblut.hemesh.HE_Mesh.getBoundaryAsPath ( )
HE_Boundary wblut.hemesh.HE_Mesh.getBoundaryWithIndex ( final int  i)

Get boundary with index. Indices of mesh elements are not fixed and will change when the mesh is modified.

Parameters
iboundary index
Returns

References wblut.hemesh.HE_RAS< E extends HE_Element >.getWithIndex(), and wblut.hemesh.HE_RAS< E extends HE_Element >.size().

HE_Boundary wblut.hemesh.HE_Mesh.getBoundaryWithKey ( final long  key)

Get boundary with key. The key of a mesh element is unique and never changes.

Parameters
keyboundary key
Returns
boundary

References wblut.hemesh.HE_RAS< E extends HE_Element >.getWithKey().

WB_Sphere wblut.hemesh.HE_Mesh.getBoundingSphere ( )
WB_Point wblut.hemesh.HE_Mesh.getCenter ( )

Get the center (average of all vertex positions).

Returns
the center

References wblut.geom.WB_Point.addSelf(), wblut.geom.WB_Point.divSelf(), wblut.hemesh.HE_Mesh.getNumberOfVertices(), and wblut.hemesh.HE_Mesh.vItr().

WB_Coord wblut.hemesh.HE_Mesh.getClosestPoint ( final WB_Coord  p,
final WB_KDTree< WB_Coord, Long >  vertexTree 
)

Return the closest point on the mesh.

Parameters
pquery point
vertexTreeKD-tree from mesh (from vertexTree())
Returns
WB_Coordinate closest point

References wblut.geom.WB_GeometryOp3D.getClosestPoint3D(), wblut.hemesh.HE_Vertex.getFaceStar(), wblut.geom.WB_KDTree< T extends WB_Coord, V >.getNearestNeighbors(), wblut.geom.WB_GeometryOp3D.getSqDistance3D(), and wblut.hemesh.HE_Mesh.getVertexWithKey().

HE_Vertex wblut.hemesh.HE_Mesh.getClosestVertex ( final WB_Coord  p,
final WB_KDTree< WB_Coord, Long >  vertexTree 
)

Return the closest vertex on the mesh.

Parameters
pquery point
vertexTreeKD-tree from mesh (from vertexTree())
Returns
HE_Vertex closest vertex

References wblut.geom.WB_KDTree< T extends WB_Coord, V >.getNearestNeighbors(), and wblut.hemesh.HE_Mesh.getVertexWithKey().

WB_Coord [] wblut.hemesh.HE_Mesh.getEdgeCenters ( )

Return all edge centers.

Returns
array of WB_Coordinate.

References wblut.hemesh.HE_Mesh.eItr(), wblut.hemesh.HE_Halfedge.getHalfedgeCenter(), and wblut.hemesh.HE_Mesh.getNumberOfEdges().

WB_Coord [] wblut.hemesh.HE_Mesh.getEdgeNormals ( )

Return all edge normals.

Returns
array of WB_Coordinate.

References wblut.hemesh.HE_Mesh.eItr(), wblut.hemesh.HE_Halfedge.getEdgeNormal(), and wblut.hemesh.HE_Mesh.getNumberOfEdges().

List<HE_Halfedge> wblut.hemesh.HE_Mesh.getEdges ( )
HE_Halfedge [] wblut.hemesh.HE_Mesh.getEdgesAsArray ( )
HE_Halfedge wblut.hemesh.HE_Mesh.getEdgeWithIndex ( final int  i)

Get edge with index. Indices of mesh elements are not fixed and will change when the mesh is modified.

Parameters
iedge index
Returns

References wblut.hemesh.HE_RAS< E extends HE_Element >.getWithIndex(), and wblut.hemesh.HE_RAS< E extends HE_Element >.size().

HE_Halfedge wblut.hemesh.HE_Mesh.getEdgeWithKey ( final long  key)

Get edge with key. The key of a mesh element is unique and never changes.

Parameters
keyhalfedge key
Returns
halfedge

References wblut.hemesh.HE_RAS< E extends HE_Element >.getWithKey().

int wblut.hemesh.HE_Mesh.getEulerCharacteristic ( )
WB_Coord wblut.hemesh.HE_Mesh.getFaceCenter ( final int  id)
WB_Coord [] wblut.hemesh.HE_Mesh.getFaceCenters ( )

Return all face centers.

Returns
array of WB_Coordinate.

References wblut.hemesh.HE_Mesh.fItr(), wblut.hemesh.HE_Face.getFaceCenter(), and wblut.hemesh.HE_Mesh.getNumberOfFaces().

int [] wblut.hemesh.HE_Mesh.getFaceInternalLabels ( )
WB_Coord wblut.hemesh.HE_Mesh.getFaceNormal ( final int  id)
WB_Coord [] wblut.hemesh.HE_Mesh.getFaceNormals ( )

Return all face normals.

Returns
array of WB_Coordinate.

References wblut.hemesh.HE_Mesh.fItr(), wblut.hemesh.HE_Face.getFaceNormal(), and wblut.hemesh.HE_Mesh.getNumberOfFaces().

List<HE_Face> wblut.hemesh.HE_Mesh.getFaces ( )
HE_Face [] wblut.hemesh.HE_Mesh.getFacesAsArray ( )
int [][] wblut.hemesh.HE_Mesh.getFacesAsInt ( )
int [] wblut.hemesh.HE_Mesh.getFaceTextureIds ( )
WB_KDTree<WB_Coord, Long> wblut.hemesh.HE_Mesh.getFaceTree ( )

Return a KD-tree containing all face centers.

Returns
WB_KDTree

References wblut.geom.WB_KDTree< T extends WB_Coord, V >.add(), and wblut.hemesh.HE_Mesh.fItr().

int [] wblut.hemesh.HE_Mesh.getFaceUserLabels ( )
boolean [] wblut.hemesh.HE_Mesh.getFaceVisibility ( )
HE_Face wblut.hemesh.HE_Mesh.getFaceWithIndex ( final int  i)

Get face with index. Indices of mesh elements are not fixed and will change when the mesh is modified.

Parameters
iface index
Returns

References wblut.hemesh.HE_RAS< E extends HE_Element >.getWithIndex(), and wblut.hemesh.HE_RAS< E extends HE_Element >.size().

HE_Face wblut.hemesh.HE_Mesh.getFaceWithKey ( final long  key)

Get face with key. The key of a mesh element is unique and never changes.

Parameters
keyface key
Returns
face

References wblut.hemesh.HE_RAS< E extends HE_Element >.getWithKey().

int wblut.hemesh.HE_Mesh.getGenus ( )
HE_Halfedge wblut.hemesh.HE_Mesh.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.

Parameters
v0
v1
Returns

References wblut.hemesh.HE_Vertex.getHalfedgeStar().

List<HE_Halfedge> wblut.hemesh.HE_Mesh.getHalfedges ( )
HE_Halfedge [] wblut.hemesh.HE_Mesh.getHalfedgesAsArray ( )

Halfedges as array.

Returns
all halfedges as HE_Halfedge[]

Implements wblut.hemesh.HE_HalfedgeStructure.

References wblut.hemesh.HE_Mesh.getHalfedges(), and wblut.hemesh.HE_Mesh.halfedges.

HE_Halfedge wblut.hemesh.HE_Mesh.getHalfedgeWithIndex ( final int  i)

Get halfedge with index. Indices of mesh elements are not fixed and will change when the mesh is modified.

Parameters
ihalfedge index
Returns

References wblut.hemesh.HE_RAS< E extends HE_Element >.getWithIndex(), and wblut.hemesh.HE_RAS< E extends HE_Element >.size().

HE_Halfedge wblut.hemesh.HE_Mesh.getHalfedgeWithKey ( final long  key)

Get halfedge with key. The key of a mesh element is unique and never changes.

Parameters
keyhalfedge key
Returns
halfedge

References wblut.hemesh.HE_RAS< E extends HE_Element >.getWithKey().

int wblut.hemesh.HE_Mesh.getIndex ( final HE_Boundary  b)
int wblut.hemesh.HE_Mesh.getIndex ( final HE_Face  f)
int wblut.hemesh.HE_Mesh.getIndex ( final HE_Halfedge  edge)
Parameters
edge
Returns

References wblut.hemesh.HE_RAS< E extends HE_Element >.indexOf().

int wblut.hemesh.HE_Mesh.getIndex ( final HE_Vertex  v)
Map<Long, WB_Coord> wblut.hemesh.HE_Mesh.getKeyedEdgeCenters ( )

Return all edge centers.

Returns
UnifiedMap of WB_Coordinate.

References wblut.hemesh.HE_Mesh.eItr().

Map<Long, WB_Coord> wblut.hemesh.HE_Mesh.getKeyedEdgeNormals ( )

Return all edge normals.

Returns
UnifiedMap of WB_Coordinate.

References wblut.hemesh.HE_Mesh.eItr().

Map<Long, WB_Coord> wblut.hemesh.HE_Mesh.getKeyedFaceCenters ( )

Return all face centers.

Returns
UnifiedMap of WB_Coordinate.

References wblut.hemesh.HE_Mesh.fItr().

Map<Long, WB_Coord> wblut.hemesh.HE_Mesh.getKeyedFaceNormals ( )

Return all face normals.

Returns
UnifiedMap of WB_Coordinate.

References wblut.hemesh.HE_Mesh.fItr().

Map<Long, WB_Coord> wblut.hemesh.HE_Mesh.getKeyedVertexNormals ( )

Get vertex normals mapped on vertex key

Returns

References wblut.hemesh.HE_Mesh.vItr().

double [] wblut.hemesh.HE_Mesh.getLimits ( )

Get range of vertex coordinates.

Returns
array of limit values: min x, min y, min z, max x, max y, max z

Implements wblut.hemesh.HE_HalfedgeStructure.

References wblut.hemesh.HE_Mesh.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_Mesh.getName ( )
HE_Selection wblut.hemesh.HE_Mesh.getNewSelection ( )
HE_Selection wblut.hemesh.HE_Mesh.getNewSelection ( final String  name)
int wblut.hemesh.HE_Mesh.getNumberOfBoundaries ( )

Number of boundaries.

Returns
the number of boundaries

References wblut.hemesh.HE_RAS< E extends HE_Element >.size().

int wblut.hemesh.HE_Mesh.getNumberOfEdges ( )

Number of edges.

Returns
the number of edges

Implements wblut.hemesh.HE_HalfedgeStructure.

References wblut.hemesh.HE_RAS< E extends HE_Element >.size().

int wblut.hemesh.HE_Mesh.getNumberOfFaces ( )

Number of faces.

Returns
the number of faces

Implements wblut.hemesh.HE_HalfedgeStructure.

References wblut.hemesh.HE_RAS< E extends HE_Element >.size().

int wblut.hemesh.HE_Mesh.getNumberOfHalfedges ( )

Number of halfedges.

Returns
the number of halfedges

Implements wblut.hemesh.HE_HalfedgeStructure.

References wblut.hemesh.HE_RAS< E extends HE_Element >.size().

int wblut.hemesh.HE_Mesh.getNumberOfVertices ( )

Number of vertices.

Returns
the number of vertices

Implements wblut.hemesh.HE_HalfedgeStructure.

References wblut.hemesh.HE_RAS< E extends HE_Element >.size().

List<WB_Polygon> wblut.hemesh.HE_Mesh.getPolygonList ( )

Gets the polygon list.

Returns
the polygon list

References wblut.hemesh.HE_Mesh.fItr(), and wblut.hemesh.HE_Face.toPolygon().

WB_Polygon [] wblut.hemesh.HE_Mesh.getPolygons ( )

Return the mesh as polygon soup.

Returns
array of WB_polygon

References wblut.hemesh.HE_Mesh.fItr(), wblut.hemesh.HE_Mesh.getNumberOfFaces(), and wblut.hemesh.HE_Face.toPolygon().

WB_Segment [] wblut.hemesh.HE_Mesh.getSegments ( )
HE_Selection wblut.hemesh.HE_Mesh.getSelection ( final String  name)
Set<String> wblut.hemesh.HE_Mesh.getSelectionNames ( )
Returns
List<HE_Face> wblut.hemesh.HE_Mesh.getSharedFaces ( final HE_Vertex  v1,
final HE_Vertex  v2 
)
Parameters
v1
v2
Returns

References wblut.hemesh.HE_Vertex.getFaceStar().

List<HE_Halfedge> wblut.hemesh.HE_Mesh.getUnpairedHalfedges ( )

Collect all unpaired halfedges.

Returns
the unpaired halfedges

References wblut.hemesh.HE_Mesh.halfedges.

WB_Coord wblut.hemesh.HE_Mesh.getVertex ( final int  i)
int [] wblut.hemesh.HE_Mesh.getVertexInternalLabels ( )
Map<Long, Integer> wblut.hemesh.HE_Mesh.getVertexKeyToIndexMap ( )

Vertex key to index.

Returns
the map

References wblut.hemesh.HE_Mesh.vItr().

WB_Coord wblut.hemesh.HE_Mesh.getVertexNormal ( final int  i)
WB_Coord [] wblut.hemesh.HE_Mesh.getVertexNormals ( )

Return all vertex normals.

Returns
array of WB_Coordinate.

References wblut.hemesh.HE_Mesh.getNumberOfVertices(), wblut.hemesh.HE_Vertex.getVertexNormal(), and wblut.hemesh.HE_Mesh.vItr().

WB_KDTree<WB_Coord, Long> wblut.hemesh.HE_Mesh.getVertexTree ( )

Return a KD-tree containing all vertices.

Returns
WB_KDTree

References wblut.geom.WB_KDTree< T extends WB_Coord, V >.add(), and wblut.hemesh.HE_Mesh.vItr().

int [] wblut.hemesh.HE_Mesh.getVertexUserLabels ( )
boolean [] wblut.hemesh.HE_Mesh.getVertexVisibility ( )
HE_Vertex wblut.hemesh.HE_Mesh.getVertexWithIndex ( final int  i)

Get vertex with index. Indices of mesh elements are not fixed and will change when the mesh is modified.

Parameters
ivertex index
Returns

References wblut.hemesh.HE_RAS< E extends HE_Element >.getWithIndex(), and wblut.hemesh.HE_RAS< E extends HE_Element >.size().

HE_Vertex wblut.hemesh.HE_Mesh.getVertexWithKey ( final long  key)

Get vertex with key. The key of a mesh element is unique and never changes.

Parameters
keyvertex key
Returns
vertex

References wblut.hemesh.HE_RAS< E extends HE_Element >.getWithKey().

List<HE_Vertex> wblut.hemesh.HE_Mesh.getVertices ( )
HE_Vertex [] wblut.hemesh.HE_Mesh.getVerticesAsArray ( )

Vertices as array.

Returns
all vertices as HE_Vertex[]

Implements wblut.hemesh.HE_HalfedgeStructure.

References wblut.hemesh.HE_Mesh.getNumberOfVertices(), and wblut.hemesh.HE_Mesh.vertices.

List<WB_Coord> wblut.hemesh.HE_Mesh.getVerticesAsCoord ( )

Return all vertex positions as an immutable List of immutable WB_Coord.

Returns
array of WB_Coord.

References wblut.hemesh.HE_Mesh.vItr().

double [][] wblut.hemesh.HE_Mesh.getVerticesAsDouble ( )

Return all vertex positions as an array .

Returns
2D array of double. First index gives vertex. Second index gives x-,y- or z-coordinate.

References wblut.hemesh.HE_Mesh.getNumberOfVertices(), wblut.hemesh.HE_Mesh.vItr(), wblut.hemesh.HE_Vertex.xd(), wblut.hemesh.HE_Vertex.yd(), and wblut.hemesh.HE_Vertex.zd().

float [][] wblut.hemesh.HE_Mesh.getVerticesAsFloat ( )

Return all vertex positions as an array .

Returns
2D array of float. First index gives vertex. Second index gives x-,y- or z-coordinate.

References wblut.hemesh.HE_Mesh.getNumberOfVertices(), wblut.hemesh.HE_Mesh.vItr(), wblut.hemesh.HE_Vertex.xf(), wblut.hemesh.HE_Vertex.yf(), and wblut.hemesh.HE_Vertex.zf().

HE_HalfedgeIterator wblut.hemesh.HE_Mesh.heItr ( )

Halfedge iterator.

Returns
halfedge iterator

Implements wblut.hemesh.HE_HalfedgeStructure.

References wblut.hemesh.HE_HalfedgeIterator.getIterator().

boolean wblut.hemesh.HE_Mesh.isFinished ( )
boolean wblut.hemesh.HE_Mesh.isSurface ( )
HE_Mesh wblut.hemesh.HE_Mesh.modify ( final HEM_Modifier  modifier)

Modify the mesh.

Parameters
modifierHE_Modifier to apply
Returns
self

References wblut.hemesh.HEM_Modifier.apply(), wblut.hemesh.HE_Mesh.clearPrecomputed(), and wblut.hemesh.HE_Mesh.modifyThreaded().

void wblut.hemesh.HE_Mesh.modifyThreaded ( final HEM_Modifier  modifier)
HE_Mesh wblut.hemesh.HE_Mesh.move ( final double  x,
final double  y,
final double  z 
)
HE_Mesh wblut.hemesh.HE_Mesh.move ( final WB_Coord  v)

Created translated copy of mesh.

Parameters
v
Returns
copy

References wblut.hemesh.HE_Mesh.move(), wblut.geom.WB_Coord.xd(), wblut.geom.WB_Coord.yd(), and wblut.geom.WB_Coord.zd().

HE_Mesh wblut.hemesh.HE_Mesh.moveSelf ( final double  x,
final double  y,
final double  z 
)

Translate entire mesh.

Parameters
x
y
z
Returns
self

References wblut.hemesh.HE_Mesh.clearPrecomputed(), and wblut.hemesh.HE_Mesh.vItr().

HE_Mesh wblut.hemesh.HE_Mesh.moveSelf ( final WB_Coord  v)

Translate entire mesh.

Parameters
vthe v
Returns
self

References wblut.hemesh.HE_Mesh.moveSelf(), wblut.geom.WB_Coord.xd(), wblut.geom.WB_Coord.yd(), and wblut.geom.WB_Coord.zd().

HE_Mesh wblut.hemesh.HE_Mesh.moveTo ( final WB_Coord  v)

create copy of mesh at given position.

Parameters
v
Returns
copy

References wblut.hemesh.HE_Mesh.moveTo(), wblut.geom.WB_Coord.xd(), wblut.geom.WB_Coord.yd(), and wblut.geom.WB_Coord.zd().

HE_Mesh wblut.hemesh.HE_Mesh.moveToSelf ( final double  x,
final double  y,
final double  z 
)
HE_Mesh wblut.hemesh.HE_Mesh.moveToSelf ( final WB_Coord  v)

Translate entire mesh to given position.

Parameters
v
Returns
self

References wblut.hemesh.HE_Mesh.moveToSelf(), wblut.geom.WB_Coord.xd(), wblut.geom.WB_Coord.yd(), and wblut.geom.WB_Coord.zd().

void wblut.hemesh.HE_Mesh.orderHalfedges ( final List< HE_Halfedge halfedges,
final boolean  loop 
)
void wblut.hemesh.HE_Mesh.orderHalfedgesReverse ( final List< HE_Halfedge halfedges,
final boolean  loop 
)

Cycle halfedges.

Parameters
halfedgeshalfedges to cycle

References wblut.hemesh.HE_Mesh.setNext().

void wblut.hemesh.HE_Mesh.pairHalfedges ( )
void wblut.hemesh.HE_Mesh.pairHalfedges ( final List< HE_Halfedge unpairedHalfedges)
void wblut.hemesh.HE_Mesh.remove ( final HE_Boundary  b)
void wblut.hemesh.HE_Mesh.remove ( final HE_Face  f)

Removes face.

Parameters
fface to remove

References wblut.hemesh.HE_RAS< E extends HE_Element >.remove(), and wblut.hemesh.HE_Selection.remove().

void wblut.hemesh.HE_Mesh.remove ( final HE_Halfedge  he)

Removes halfedge.

Parameters
hehalfedge to remove

References wblut.hemesh.HE_RAS< E extends HE_Element >.remove(), and wblut.hemesh.HE_Selection.remove().

void wblut.hemesh.HE_Mesh.remove ( final HE_Vertex  v)

Removes vertex.

Parameters
vvertex to remove

References wblut.hemesh.HE_RAS< E extends HE_Element >.remove(), and wblut.hemesh.HE_Selection.remove().

void wblut.hemesh.HE_Mesh.removeBoundaries ( final Collection<?extends HE_Boundary boundaries)
void wblut.hemesh.HE_Mesh.removeBoundaries ( final HE_Boundary[]  boundaries)
void wblut.hemesh.HE_Mesh.removeEdges ( final Collection<?extends HE_Halfedge edges)

Removes edges.

Parameters
edgesedges to remove as Collection<? extends HE_Halfedge>
void wblut.hemesh.HE_Mesh.removeEdges ( final HE_Halfedge[]  edges)

Removes edges.

Parameters
edgesedges to remove as HE_Halfedge[]
void wblut.hemesh.HE_Mesh.removeFaces ( final Collection<?extends HE_Face faces)

Removes faces.

Parameters
facesfaces to remove as Collection<? extends HE_Face>
void wblut.hemesh.HE_Mesh.removeFaces ( final HE_Face[]  faces)

Removes faces.

Parameters
facesfaces to remove as HE_Face[]
void wblut.hemesh.HE_Mesh.removeHalfedges ( final Collection<?extends HE_Halfedge halfedges)

Removes halfedges.

Parameters
halfedgeshalfedges to remove as Collection<? extends HE_Halfedge>
void wblut.hemesh.HE_Mesh.removeHalfedges ( final HE_Halfedge[]  halfedges)

Removes halfedges.

Parameters
halfedgeshalfedges to remove as HE_Halfedge[]
HE_Selection wblut.hemesh.HE_Mesh.removeSelection ( final String  name)
void wblut.hemesh.HE_Mesh.removeVertices ( final Collection<?extends HE_Vertex vertices)

Removes vertices.

Parameters
verticesvertices to remove as Collection<? extends HE_Vertex>
void wblut.hemesh.HE_Mesh.removeVertices ( final HE_Vertex[]  vertices)

Removes vertices.

Parameters
verticesvertices to remove as HE_Vertex[]
boolean wblut.hemesh.HE_Mesh.renameSelection ( final String  from,
final String  to 
)
void wblut.hemesh.HE_Mesh.replaceFaces ( final HE_Mesh  mesh)
private
void wblut.hemesh.HE_Mesh.replaceHalfedges ( final HE_Mesh  mesh)
private
HE_Selection wblut.hemesh.HE_Mesh.replaceSelection ( final String  name,
final HE_Selection  sel 
)
void wblut.hemesh.HE_Mesh.replaceVertices ( final HE_Mesh  mesh)
private
void wblut.hemesh.HE_Mesh.resetEdgeInternalLabels ( )
protected

Reset all edge labels to -1.

References wblut.hemesh.HE_Mesh.eItr().

void wblut.hemesh.HE_Mesh.resetEdgeUserLabels ( )

Reset all edge labels to -1.

References wblut.hemesh.HE_Mesh.eItr().

void wblut.hemesh.HE_Mesh.resetFaceInternalLabels ( )
protected

Reset face labels to -1.

References wblut.hemesh.HE_Mesh.fItr().

void wblut.hemesh.HE_Mesh.resetFaceUserLabels ( )

Reset all face labels to -1.

References wblut.hemesh.HE_Mesh.fItr().

void wblut.hemesh.HE_Mesh.resetHalfedgeInternalLabels ( )
protected

Reset all halfedge labels to -1.

References wblut.hemesh.HE_Mesh.heItr().

void wblut.hemesh.HE_Mesh.resetHalfedgeUserLabels ( )

Reset all halfedge labels to -1.

References wblut.hemesh.HE_Mesh.heItr().

void wblut.hemesh.HE_Mesh.resetInternalLabels ( )
protected
void wblut.hemesh.HE_Mesh.resetVertexInternalLabels ( )
protected

Reset all vertex labels to -1.

References wblut.hemesh.HE_Mesh.vItr().

void wblut.hemesh.HE_Mesh.resetVertexUserLabels ( )

Reset all vertex labels to -1.

References wblut.hemesh.HE_Mesh.vItr().

HE_Mesh wblut.hemesh.HE_Mesh.rotateAboutAxis ( final double  angle,
final double  px,
final double  py,
final double  pz,
final double  ax,
final double  ay,
final double  az 
)

Rotate entire mesh around an arbitrary axis defined by a point and a direction.

Parameters
angle
px
py
pz
ax
ay
az
Returns
copy

References wblut.geom.WB_Transform.addRotateAboutAxis(), wblut.geom.WB_Transform.applyAsPointSelf(), wblut.hemesh.HE_Mesh.clearPrecomputed(), wblut.hemesh.HE_Mesh.copy(), and wblut.hemesh.HE_Mesh.vItr().

HE_Mesh wblut.hemesh.HE_Mesh.rotateAboutAxis ( final double  angle,
final WB_Coord  p,
final WB_Coord  a 
)

Create copy of mesh rotated around an arbitrary axis defined by a point and a direction.

Parameters
angleangle
protation point
aaxis
Returns
copy

References wblut.geom.WB_Transform.addRotateAboutAxis(), wblut.geom.WB_Transform.applyAsPointSelf(), wblut.hemesh.HE_Mesh.clearPrecomputed(), wblut.hemesh.HE_Mesh.copy(), and wblut.hemesh.HE_Mesh.vItr().

HE_Mesh wblut.hemesh.HE_Mesh.rotateAboutAxis2P ( final double  angle,
final double  p1x,
final double  p1y,
final double  p1z,
final double  p2x,
final double  p2y,
final double  p2z 
)

Create rotated copy of mesh around an arbitrary axis defined by 2 points.

Parameters
angleangle
p1xx-coordinate of first point on axis
p1yy-coordinate of first point on axis
p1zz-coordinate of first point on axis
p2xx-coordinate of second point on axis
p2yy-coordinate of second point on axis
p2zz-coordinate of second point on axis
Returns
copy

References wblut.geom.WB_Transform.addRotateAboutAxis(), wblut.geom.WB_Transform.applyAsPointSelf(), wblut.hemesh.HE_Mesh.clearPrecomputed(), wblut.hemesh.HE_Mesh.copy(), and wblut.hemesh.HE_Mesh.vItr().

HE_Mesh wblut.hemesh.HE_Mesh.rotateAboutAxis2P ( final double  angle,
final WB_Coord  p1,
final WB_Coord  p2 
)

Create copy of mesh rotated around an arbitrary axis defined by 2 points.

Parameters
angleangle
p1first point on axis
p2second point on axis
Returns
copy

References wblut.geom.WB_Transform.addRotateAboutAxis(), wblut.geom.WB_Transform.applyAsPointSelf(), wblut.hemesh.HE_Mesh.clearPrecomputed(), wblut.hemesh.HE_Mesh.copy(), and wblut.hemesh.HE_Mesh.vItr().

HE_Mesh wblut.hemesh.HE_Mesh.rotateAboutAxis2PSelf ( final double  angle,
final double  p1x,
final double  p1y,
final double  p1z,
final double  p2x,
final double  p2y,
final double  p2z 
)

Rotate entire mesh around an arbitrary axis defined by 2 points.

Parameters
angleangle
p1xx-coordinate of first point on axis
p1yy-coordinate of first point on axis
p1zz-coordinate of first point on axis
p2xx-coordinate of second point on axis
p2yy-coordinate of second point on axis
p2zz-coordinate of second point on axis
Returns
self

References wblut.geom.WB_Transform.addRotateAboutAxis(), wblut.geom.WB_Transform.applyAsPointSelf(), wblut.hemesh.HE_Mesh.clearPrecomputed(), and wblut.hemesh.HE_Mesh.vItr().

HE_Mesh wblut.hemesh.HE_Mesh.rotateAboutAxis2PSelf ( final double  angle,
final WB_Coord  p1,
final WB_Coord  p2 
)

Rotate entire mesh around an arbitrary axis defined by 2 points..

Parameters
angleangle
p1first point on axis
p2second point on axis
Returns
self

References wblut.geom.WB_Transform.addRotateAboutAxis(), wblut.geom.WB_Transform.applyAsPointSelf(), wblut.hemesh.HE_Mesh.clearPrecomputed(), and wblut.hemesh.HE_Mesh.vItr().

HE_Mesh wblut.hemesh.HE_Mesh.rotateAboutAxisSelf ( final double  angle,
final double  px,
final double  py,
final double  pz,
final double  ax,
final double  ay,
final double  az 
)

Rotate entire mesh around an arbitrary axis defined by a point and a direction.

Parameters
angle
px
py
pz
ax
ay
az
Returns
self

References wblut.geom.WB_Transform.addRotateAboutAxis(), wblut.geom.WB_Transform.applyAsPointSelf(), wblut.hemesh.HE_Mesh.clearPrecomputed(), and wblut.hemesh.HE_Mesh.vItr().

HE_Mesh wblut.hemesh.HE_Mesh.rotateAboutAxisSelf ( final double  angle,
final WB_Coord  p,
final WB_Coord  a 
)

Rotate entire mesh around an arbitrary axis defined by a point and a direction.

Parameters
angleangle
protation point
aaxis
Returns
self

References wblut.geom.WB_Transform.addRotateAboutAxis(), wblut.geom.WB_Transform.applyAsPointSelf(), wblut.hemesh.HE_Mesh.clearPrecomputed(), and wblut.hemesh.HE_Mesh.vItr().

HE_Mesh wblut.hemesh.HE_Mesh.rotateAboutCenter ( final double  angle,
final double  ax,
final double  ay,
final double  az 
)

Create copy of mesh rotated around an arbitrary axis in center.

Parameters
angle
ax
ay
az
Returns
copy

References wblut.hemesh.HE_Mesh.getCenter(), and wblut.hemesh.HE_Mesh.rotateAboutAxis().

HE_Mesh wblut.hemesh.HE_Mesh.rotateAboutCenter ( final double  angle,
final WB_Coord  a 
)

Create copy of mesh rotated around an arbitrary axis in center.

Parameters
angleangle
aaxis
Returns
self

References wblut.hemesh.HE_Mesh.getCenter(), and wblut.hemesh.HE_Mesh.rotateAboutAxis().

HE_Mesh wblut.hemesh.HE_Mesh.rotateAboutCenterSelf ( final double  angle,
final double  ax,
final double  ay,
final double  az 
)

Rotate entire mesh around an arbitrary axis in center.

Parameters
angle
ax
ay
az
Returns

References wblut.hemesh.HE_Mesh.getCenter(), and wblut.hemesh.HE_Mesh.rotateAboutAxisSelf().

HE_Mesh wblut.hemesh.HE_Mesh.rotateAboutCenterSelf ( final double  angle,
final WB_Coord  a 
)

Rotate entire mesh around an arbitrary axis in center.

Parameters
angleangle
aaxis
Returns
self

References wblut.hemesh.HE_Mesh.getCenter(), and wblut.hemesh.HE_Mesh.rotateAboutAxisSelf().

HE_Mesh wblut.hemesh.HE_Mesh.rotateAboutOrigin ( final double  angle,
final double  ax,
final double  ay,
final double  az 
)

Create copy of mesh rotated around an arbitrary axis in origin.

Parameters
angle
ax
ay
az
Returns
copy

References wblut.geom.WB_Transform.addRotateAboutOrigin(), wblut.geom.WB_Transform.applyAsPointSelf(), wblut.hemesh.HE_Mesh.clearPrecomputed(), wblut.hemesh.HE_Mesh.copy(), and wblut.hemesh.HE_Mesh.vItr().

HE_Mesh wblut.hemesh.HE_Mesh.rotateAboutOrigin ( final double  angle,
final WB_Coord  a 
)

Create copy of mesh rotate around an arbitrary axis in origin.

Parameters
angleangle
aaxis
Returns
copy

References wblut.geom.WB_Transform.addRotateAboutOrigin(), wblut.geom.WB_Transform.applyAsPointSelf(), wblut.hemesh.HE_Mesh.clearPrecomputed(), wblut.hemesh.HE_Mesh.copy(), and wblut.hemesh.HE_Mesh.vItr().

HE_Mesh wblut.hemesh.HE_Mesh.rotateAboutOriginSelf ( final double  angle,
final double  ax,
final double  ay,
final double  az 
)

Rotate entire mesh around an arbitrary axis in origin.

Parameters
angle
ax
ay
az
Returns

References wblut.geom.WB_Transform.addRotateAboutOrigin(), wblut.geom.WB_Transform.applyAsPointSelf(), wblut.hemesh.HE_Mesh.clearPrecomputed(), and wblut.hemesh.HE_Mesh.vItr().

HE_Mesh wblut.hemesh.HE_Mesh.rotateAboutOriginSelf ( final double  angle,
final WB_Coord  a 
)

Rotate entire mesh around an arbitrary axis in origin.

Parameters
angleangle
aaxis
Returns
self

References wblut.geom.WB_Transform.addRotateAboutOrigin(), wblut.geom.WB_Transform.applyAsPointSelf(), wblut.hemesh.HE_Mesh.clearPrecomputed(), and wblut.hemesh.HE_Mesh.vItr().

HE_Mesh wblut.hemesh.HE_Mesh.scale ( final double  scaleFactor)

Create copy of mesh scaled around bodycenter.

Parameters
scaleFactorscale
Returns
copy
HE_Mesh wblut.hemesh.HE_Mesh.scale ( final double  scaleFactorx,
final double  scaleFactory,
final double  scaleFactorz 
)

Create copy of mesh scaled around bodycenter.

Parameters
scaleFactorxx-coordinate of scale factor
scaleFactoryy-coordinate of scale factor
scaleFactorzz-coordinate of scale factor
Returns
copy

References wblut.hemesh.HE_Mesh.clearPrecomputed(), wblut.hemesh.HE_Mesh.copy(), wblut.hemesh.HE_Mesh.getCenter(), wblut.hemesh.HE_Vertex.set(), wblut.hemesh.HE_Mesh.vItr(), wblut.geom.WB_MutableCoordinate.xd(), wblut.hemesh.HE_Vertex.xd(), wblut.geom.WB_MutableCoordinate.yd(), wblut.hemesh.HE_Vertex.yd(), wblut.geom.WB_MutableCoordinate.zd(), and wblut.hemesh.HE_Vertex.zd().

HE_Mesh wblut.hemesh.HE_Mesh.scale ( final double  scaleFactorx,
final double  scaleFactory,
final double  scaleFactorz,
final WB_Coord  c 
)

Create copy of mesh scaled around center point.

Parameters
scaleFactorxx-coordinate of scale factor
scaleFactoryy-coordinate of scale factor
scaleFactorzz-coordinate of scale factor
ccenter
Returns
copy

References wblut.hemesh.HE_Mesh.clearPrecomputed(), wblut.hemesh.HE_Mesh.copy(), wblut.hemesh.HE_Vertex.set(), wblut.hemesh.HE_Mesh.vItr(), wblut.geom.WB_Coord.xd(), wblut.hemesh.HE_Vertex.xd(), wblut.geom.WB_Coord.yd(), wblut.hemesh.HE_Vertex.yd(), wblut.geom.WB_Coord.zd(), and wblut.hemesh.HE_Vertex.zd().

HE_Mesh wblut.hemesh.HE_Mesh.scale ( final double  scaleFactor,
final WB_Coord  c 
)

Create copy of mesh scaled around center point.

Parameters
scaleFactorscale
ccenter
Returns
copy

References wblut.hemesh.HE_Mesh.scale().

HE_Mesh wblut.hemesh.HE_Mesh.scaleSelf ( final double  scaleFactor)

Scale entire mesh around bodycenter.

Parameters
scaleFactorscale
Returns
self
HE_Mesh wblut.hemesh.HE_Mesh.scaleSelf ( final double  scaleFactorx,
final double  scaleFactory,
final double  scaleFactorz 
)

Scale entire mesh around bodycenter.

Parameters
scaleFactorxx-coordinate of scale factor
scaleFactoryy-coordinate of scale factor
scaleFactorzz-coordinate of scale factor
Returns
self

References wblut.hemesh.HE_Mesh.clearPrecomputed(), wblut.hemesh.HE_Mesh.getCenter(), wblut.hemesh.HE_Vertex.set(), wblut.hemesh.HE_Mesh.vItr(), wblut.geom.WB_MutableCoordinate.xd(), wblut.hemesh.HE_Vertex.xd(), wblut.geom.WB_MutableCoordinate.yd(), wblut.hemesh.HE_Vertex.yd(), wblut.geom.WB_MutableCoordinate.zd(), and wblut.hemesh.HE_Vertex.zd().

HE_Mesh wblut.hemesh.HE_Mesh.scaleSelf ( final double  scaleFactorx,
final double  scaleFactory,
final double  scaleFactorz,
final WB_Coord  c 
)

Scale entire mesh around center point.

Parameters
scaleFactorxx-coordinate of scale factor
scaleFactoryy-coordinate of scale factor
scaleFactorzz-coordinate of scale factor
ccenter
Returns
self

References wblut.hemesh.HE_Mesh.clearPrecomputed(), wblut.hemesh.HE_Vertex.set(), wblut.hemesh.HE_Mesh.vItr(), wblut.geom.WB_Coord.xd(), wblut.hemesh.HE_Vertex.xd(), wblut.geom.WB_Coord.yd(), wblut.hemesh.HE_Vertex.yd(), wblut.geom.WB_Coord.zd(), and wblut.hemesh.HE_Vertex.zd().

HE_Mesh wblut.hemesh.HE_Mesh.scaleSelf ( final double  scaleFactor,
final WB_Coord  c 
)

Scale entire mesh around center point.

Parameters
scaleFactorscale
ccenter
Returns
self

References wblut.hemesh.HE_Mesh.scaleSelf().

HE_Selection wblut.hemesh.HE_Mesh.selectAll ( )

Select all mesh elements. Unnamed selections are not stored in the mesh and are not updated.

Returns
current selection

References wblut.hemesh.HE_Selection.addFaces(), wblut.hemesh.HE_Selection.addHalfedges(), and wblut.hemesh.HE_Selection.addVertices().

HE_Selection wblut.hemesh.HE_Mesh.selectAll ( final String  name)
HE_Selection wblut.hemesh.HE_Mesh.selectAllEdges ( )
Parameters
name

References wblut.hemesh.HE_Selection.addEdges().

HE_Selection wblut.hemesh.HE_Mesh.selectAllEdges ( final String  name)
Parameters
name

References wblut.hemesh.HE_Selection.addEdges().

HE_Selection wblut.hemesh.HE_Mesh.selectAllFaces ( )
Parameters
name

References wblut.hemesh.HE_Selection.addFaces().

HE_Selection wblut.hemesh.HE_Mesh.selectAllFaces ( final String  name)
Parameters
name

References wblut.hemesh.HE_Selection.addFaces().

HE_Selection wblut.hemesh.HE_Mesh.selectAllHalfedges ( )
Parameters
name

References wblut.hemesh.HE_Selection.addHalfedges().

HE_Selection wblut.hemesh.HE_Mesh.selectAllHalfedges ( final String  name)
Parameters
name

References wblut.hemesh.HE_Selection.addHalfedges().

HE_Selection wblut.hemesh.HE_Mesh.selectAllInnerBoundaryHalfedges ( )
HE_Selection wblut.hemesh.HE_Mesh.selectAllInnerBoundaryHalfedges ( final String  name)
HE_Selection wblut.hemesh.HE_Mesh.selectAllOuterBoundaryHalfedges ( )
HE_Selection wblut.hemesh.HE_Mesh.selectAllOuterBoundaryHalfedges ( final String  name)
HE_Selection wblut.hemesh.HE_Mesh.selectAllVertices ( )
Parameters
name

References wblut.hemesh.HE_Selection.addVertices().

HE_Selection wblut.hemesh.HE_Mesh.selectAllVertices ( final String  name)
Parameters
name

References wblut.hemesh.HE_Selection.addVertices().

HE_Selection wblut.hemesh.HE_Mesh.selectBoundaryFaces ( final String  name)
HE_Selection wblut.hemesh.HE_Mesh.selectBoundaryVertices ( final String  name)
HE_Selection wblut.hemesh.HE_Mesh.selectEdgesWithLabel ( final int  label)
HE_Selection wblut.hemesh.HE_Mesh.selectEdgesWithLabel ( final String  name,
final int  label 
)
HE_Selection wblut.hemesh.HE_Mesh.selectEdgesWithOtherInternalLabel ( final int  label)
HE_Selection wblut.hemesh.HE_Mesh.selectEdgesWithOtherInternalLabel ( final String  name,
final int  label 
)
HE_Selection wblut.hemesh.HE_Mesh.selectEdgesWithOtherLabel ( final int  label)
HE_Selection wblut.hemesh.HE_Mesh.selectEdgesWithOtherLabel ( final String  name,
final int  label 
)
HE_Selection wblut.hemesh.HE_Mesh.selectEdgeWithInternalLabel ( final int  label)
HE_Selection wblut.hemesh.HE_Mesh.selectEdgeWithInternalLabel ( final String  name,
final int  label 
)
HE_Selection wblut.hemesh.HE_Mesh.selectFacesWithInternalLabel ( final int  label)
HE_Selection wblut.hemesh.HE_Mesh.selectFacesWithInternalLabel ( final String  name,
final int  label 
)
HE_Selection wblut.hemesh.HE_Mesh.selectFacesWithLabel ( final int  label)
HE_Selection wblut.hemesh.HE_Mesh.selectFacesWithLabel ( final String  name,
final int  label 
)
HE_Selection wblut.hemesh.HE_Mesh.selectFacesWithOtherInternalLabel ( final int  label)
HE_Selection wblut.hemesh.HE_Mesh.selectFacesWithOtherInternalLabel ( final String  name,
final int  label 
)
HE_Selection wblut.hemesh.HE_Mesh.selectFacesWithOtherLabel ( final int  label)
HE_Selection wblut.hemesh.HE_Mesh.selectFacesWithOtherLabel ( final String  name,
final int  label 
)
HE_Selection wblut.hemesh.HE_Mesh.selectHalfedgesWithLabel ( final int  label)
HE_Selection wblut.hemesh.HE_Mesh.selectHalfedgesWithLabel ( final String  name,
final int  label 
)
HE_Selection wblut.hemesh.HE_Mesh.selectHalfedgesWithOtherInternalLabel ( final int  label)
HE_Selection wblut.hemesh.HE_Mesh.selectHalfedgesWithOtherInternalLabel ( final String  name,
final int  label 
)
HE_Selection wblut.hemesh.HE_Mesh.selectHalfedgesWithOtherLabel ( final int  label)
HE_Selection wblut.hemesh.HE_Mesh.selectHalfedgesWithOtherLabel ( final String  name,
final int  label 
)
HE_Selection wblut.hemesh.HE_Mesh.selectHalfedgeWithInternalLabel ( final int  label)
HE_Selection wblut.hemesh.HE_Mesh.selectHalfedgeWithInternalLabel ( final String  name,
final int  label 
)
HE_Selection wblut.hemesh.HE_Mesh.selectRandomEdges ( final double  r)
HE_Selection wblut.hemesh.HE_Mesh.selectRandomEdges ( final double  r,
final long  seed 
)
HE_Selection wblut.hemesh.HE_Mesh.selectRandomEdges ( final String  name,
final double  r 
)
HE_Selection wblut.hemesh.HE_Mesh.selectRandomEdges ( final String  name,
final double  r,
final long  seed 
)
HE_Selection wblut.hemesh.HE_Mesh.selectRandomFaces ( final double  r)
HE_Selection wblut.hemesh.HE_Mesh.selectRandomFaces ( final double  r,
final long  seed 
)
HE_Selection wblut.hemesh.HE_Mesh.selectRandomFaces ( final String  name,
final double  r 
)
HE_Selection wblut.hemesh.HE_Mesh.selectRandomFaces ( final String  name,
final double  r,
final long  seed 
)
HE_Selection wblut.hemesh.HE_Mesh.selectRandomVertices ( final double  r)
HE_Selection wblut.hemesh.HE_Mesh.selectRandomVertices ( final double  r,
final long  seed 
)
HE_Selection wblut.hemesh.HE_Mesh.selectRandomVertices ( final String  name,
final double  r 
)
HE_Selection wblut.hemesh.HE_Mesh.selectRandomVertices ( final String  name,
final double  r,
final long  seed 
)
HE_Selection wblut.hemesh.HE_Mesh.selectVerticesWithInternalLabel ( final int  label)
HE_Selection wblut.hemesh.HE_Mesh.selectVerticesWithInternalLabel ( final String  name,
final int  label 
)
HE_Selection wblut.hemesh.HE_Mesh.selectVerticesWithLabel ( final int  label)
HE_Selection wblut.hemesh.HE_Mesh.selectVerticesWithLabel ( final String  name,
final int  label 
)
HE_Selection wblut.hemesh.HE_Mesh.selectVerticesWithOtherInternalLabel ( final int  label)
HE_Selection wblut.hemesh.HE_Mesh.selectVerticesWithOtherInternalLabel ( final String  name,
final int  label 
)
HE_Selection wblut.hemesh.HE_Mesh.selectVerticesWithOtherLabel ( final int  label)
HE_Selection wblut.hemesh.HE_Mesh.selectVerticesWithOtherLabel ( final String  name,
final int  label 
)
void wblut.hemesh.HE_Mesh.set ( final HE_Mesh  target)

Replace mesh with deep copy of target.

Parameters
targetHE_Mesh to be duplicated

References wblut.hemesh.HE_Mesh.copy(), wblut.hemesh.HE_Mesh.replaceFaces(), wblut.hemesh.HE_Mesh.replaceHalfedges(), and wblut.hemesh.HE_Mesh.replaceVertices().

void wblut.hemesh.HE_Mesh.setEdgeInternalLabels ( final int  label)
protected

Set edge labels to value.

Parameters
label

References wblut.hemesh.HE_Mesh.eItr().

void wblut.hemesh.HE_Mesh.setEdgeUserLabels ( final int  label)

Reset all edge labels to value.

Parameters
label

References wblut.hemesh.HE_Mesh.eItr().

void wblut.hemesh.HE_Mesh.setFace ( final HE_Halfedge  he,
final HE_Face  f 
)
void wblut.hemesh.HE_Mesh.setFaceColor ( final int  color)
void wblut.hemesh.HE_Mesh.setFaceColorWithInternalLabel ( final int  color,
final int  i 
)
void wblut.hemesh.HE_Mesh.setFaceColorWithOtherInternalLabel ( final int  color,
final int  i 
)
void wblut.hemesh.HE_Mesh.setFaceColorWithOtherUserLabel ( final int  color,
final int  i 
)
void wblut.hemesh.HE_Mesh.setFaceColorWithUserLabel ( final int  color,
final int  i 
)
void wblut.hemesh.HE_Mesh.setFaceInternalLabels ( final int  label)
protected

Set face labels to value.

Parameters
label

References wblut.hemesh.HE_Mesh.fItr().

void wblut.hemesh.HE_Mesh.setFaceUserLabels ( final int  label)

Reset all face labels to value.

Parameters
label

References wblut.hemesh.HE_Mesh.fItr().

void wblut.hemesh.HE_Mesh.setHalfedge ( final HE_Boundary  b,
final HE_Halfedge  he 
)
Parameters
b
he

References wblut.hemesh.HE_Boundary._setHalfedge().

void wblut.hemesh.HE_Mesh.setHalfedge ( final HE_Face  f,
final HE_Halfedge  he 
)

Link halfedge to face

Parameters
f
he

References wblut.hemesh.HE_Face._setHalfedge().

void wblut.hemesh.HE_Mesh.setHalfedge ( final HE_Vertex  v,
final HE_Halfedge  he 
)

Link halfedge to vertex

Parameters
v
he

References wblut.hemesh.HE_Vertex._setHalfedge().

void wblut.hemesh.HE_Mesh.setHalfedgeColor ( final int  color)
Parameters
color

References wblut.hemesh.HE_Mesh.heItr().

void wblut.hemesh.HE_Mesh.setHalfedgeColorWithInternalLabel ( final int  color,
final int  i 
)
void wblut.hemesh.HE_Mesh.setHalfedgeColorWithOtherInternalLabel ( final int  color,
final int  i 
)
void wblut.hemesh.HE_Mesh.setHalfedgeColorWithOtherUserLabel ( final int  color,
final int  i 
)
void wblut.hemesh.HE_Mesh.setHalfedgeColorWithUserLabel ( final int  color,
final int  i 
)
void wblut.hemesh.HE_Mesh.setHalfedgeInternalLabels ( final int  label)
protected

Det edge labels to value.

Parameters
label

References wblut.hemesh.HE_Mesh.heItr().

void wblut.hemesh.HE_Mesh.setHalfedgeUserLabels ( final int  label)

Reset all halfedge labels to value.

Parameters
label

References wblut.hemesh.HE_Mesh.heItr().

void wblut.hemesh.HE_Mesh.setName ( final String  name)
void wblut.hemesh.HE_Mesh.setNext ( final HE_Halfedge  he,
final HE_Halfedge  hen 
)

Link hen to he as next halfedge, he is linked as previous halfedge to he.

Parameters
he
hen

References wblut.hemesh.HE_Halfedge._setNext(), and wblut.hemesh.HE_Halfedge._setPrev().

void wblut.hemesh.HE_Mesh.setPair ( final HE_Halfedge  he1,
final HE_Halfedge  he2 
)
void wblut.hemesh.HE_Mesh.setPairNoSelectionCheck ( final HE_Halfedge  he1,
final HE_Halfedge  he2 
)
void wblut.hemesh.HE_Mesh.setVertex ( final HE_Halfedge  he,
final HE_Vertex  v 
)

Link vertex to halfedge

Parameters
he
v

References wblut.hemesh.HE_Halfedge._setVertex().

void wblut.hemesh.HE_Mesh.setVertex ( final HE_Vertex  v,
final double  x,
final double  y 
)
void wblut.hemesh.HE_Mesh.setVertex ( final HE_Vertex  v,
final double  x,
final double  y,
final double  z 
)
void wblut.hemesh.HE_Mesh.setVertex ( final HE_Vertex  v,
final WB_Coord  c 
)
void wblut.hemesh.HE_Mesh.setVertexColor ( final int  color)
void wblut.hemesh.HE_Mesh.setVertexColorWithInternalLabel ( final int  color,
final int  i 
)
void wblut.hemesh.HE_Mesh.setVertexColorWithOtherInternalLabel ( final int  color,
final int  i 
)
void wblut.hemesh.HE_Mesh.setVertexColorWithOtherUserLabel ( final int  color,
final int  i 
)
void wblut.hemesh.HE_Mesh.setVertexColorWithUserLabel ( final int  color,
final int  i 
)
void wblut.hemesh.HE_Mesh.setVertexInternalLabels ( final int  label)
protected

Set all vertex labels to value.

Parameters
label

References wblut.hemesh.HE_Mesh.vItr().

void wblut.hemesh.HE_Mesh.setVertexUserLabels ( final int  label)

Set all vertex labels to value.

Parameters
label

References wblut.hemesh.HE_Mesh.vItr().

void wblut.hemesh.HE_Mesh.setVertexWithIndex ( final int  index,
final double  x,
final double  y 
)
void wblut.hemesh.HE_Mesh.setVertexWithIndex ( final int  index,
final double  x,
final double  y,
final double  z 
)
void wblut.hemesh.HE_Mesh.setVertexWithIndex ( final int  index,
final WB_Coord  c 
)
void wblut.hemesh.HE_Mesh.setVertexWithKey ( final long  key,
final double  x,
final double  y 
)
void wblut.hemesh.HE_Mesh.setVertexWithKey ( final long  key,
final double  x,
final double  y,
final double  z 
)
void wblut.hemesh.HE_Mesh.setVertexWithKey ( final long  key,
final WB_Coord  c 
)
void wblut.hemesh.HE_Mesh.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.

Parameters
values2D array of double. First index is number of vertices, second index is 3 (x-,y- and z-coordinate)

References wblut.hemesh.HE_Mesh.clearPrecomputed(), wblut.hemesh.HE_Mesh.getNumberOfVertices(), wblut.hemesh.HE_Vertex.set(), and wblut.hemesh.HE_Mesh.vItr().

void wblut.hemesh.HE_Mesh.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.

Parameters
values1D array of float. 3 values, x,y, and z, per point

References wblut.hemesh.HE_Mesh.clearPrecomputed(), wblut.hemesh.HE_Mesh.getNumberOfVertices(), wblut.hemesh.HE_Vertex.set(), and wblut.hemesh.HE_Mesh.vItr().

void wblut.hemesh.HE_Mesh.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.

Parameters
values1D array of float. 3 values, x,y, and z, per point

References wblut.hemesh.HE_Mesh.clearPrecomputed(), wblut.hemesh.HE_Mesh.getNumberOfVertices(), wblut.hemesh.HE_Vertex.set(), and wblut.hemesh.HE_Mesh.vItr().

void wblut.hemesh.HE_Mesh.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.

Parameters
values2D array of float. First index is number of vertices, second index is 3 (x-,y- and z-coordinate)

References wblut.hemesh.HE_Mesh.clearPrecomputed(), wblut.hemesh.HE_Mesh.getNumberOfVertices(), wblut.hemesh.HE_Vertex.set(), and wblut.hemesh.HE_Mesh.vItr().

void wblut.hemesh.HE_Mesh.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.

Parameters
values1D array of float. 3 values, x,y, and z, per point

References wblut.hemesh.HE_Mesh.clearPrecomputed(), wblut.hemesh.HE_Mesh.getNumberOfVertices(), wblut.hemesh.HE_Vertex.set(), and wblut.hemesh.HE_Mesh.vItr().

void wblut.hemesh.HE_Mesh.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.

Parameters
values2D array of int. First index is number of vertices, second index is 3 (x-,y- and z-coordinate)

References wblut.hemesh.HE_Mesh.clearPrecomputed(), wblut.hemesh.HE_Mesh.getNumberOfVertices(), wblut.hemesh.HE_Vertex.set(), and wblut.hemesh.HE_Mesh.vItr().

void wblut.hemesh.HE_Mesh.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.

Parameters
valuesarray of WB_Coord.

References wblut.hemesh.HE_Mesh.clearPrecomputed(), wblut.hemesh.HE_Mesh.getNumberOfVertices(), wblut.hemesh.HE_Vertex.set(), and wblut.hemesh.HE_Mesh.vItr().

void wblut.hemesh.HE_Mesh.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.

Parameters
valuesarray of WB_Coord.

References wblut.hemesh.HE_Mesh.clearPrecomputed(), wblut.hemesh.HE_Mesh.getNumberOfVertices(), wblut.hemesh.HE_Vertex.set(), and wblut.hemesh.HE_Mesh.vItr().

HE_Mesh wblut.hemesh.HE_Mesh.simplify ( final HES_Simplifier  simplifier)

Simplify.

Parameters
simplifierthe simplifier
Returns
the h e_ mesh

References wblut.hemesh.HES_Simplifier.apply(), wblut.hemesh.HE_Mesh.clearPrecomputed(), and wblut.hemesh.HE_Mesh.simplifyThreaded().

void wblut.hemesh.HE_Mesh.simplifyThreaded ( final HES_Simplifier  simplifier)
void wblut.hemesh.HE_Mesh.smooth ( )
void wblut.hemesh.HE_Mesh.smooth ( final int  rep)
HE_Mesh wblut.hemesh.HE_Mesh.subdivide ( final HES_Subdividor  subdividor)

Subdivide the mesh.

Parameters
subdividorHE_Subdividor to apply
Returns
self

References wblut.hemesh.HES_Subdividor.apply(), wblut.hemesh.HE_Mesh.clearPrecomputed(), and wblut.hemesh.HE_Mesh.subdivideThreaded().

HE_Mesh wblut.hemesh.HE_Mesh.subdivide ( final HES_Subdividor  subdividor,
final int  rep 
)

Subdivide the mesh a number of times.

Parameters
subdividorHE_Subdividor to apply
repsubdivision iterations. WARNING: higher values will lead to unmanageable number of faces.
Returns
self

References wblut.hemesh.HES_Subdividor.apply(), wblut.hemesh.HE_Mesh.clearPrecomputed(), and wblut.hemesh.HE_Mesh.subdivideThreaded().

void wblut.hemesh.HE_Mesh.subdivideThreaded ( final HES_Subdividor  subdividor)
void wblut.hemesh.HE_Mesh.subdivideThreaded ( final HES_Subdividor  subdividor,
final int  rep 
)
HE_Mesh wblut.hemesh.HE_Mesh.transform ( final WB_Transform  T)

Create transformed copy of mesh.

Parameters
TWB_Transform to apply
Returns
copy

References wblut.hemesh.HE_Mesh.copy(), and wblut.hemesh.HE_Mesh.modify().

HE_Mesh wblut.hemesh.HE_Mesh.transformSelf ( final WB_Transform  T)

Apply transform to entire mesh.

Parameters
TWB_Transform to apply
Returns
self

References wblut.hemesh.HE_Mesh.modify().

HE_Selection wblut.hemesh.HE_Mesh.triangulate ( )

Triangulate all faces.

Returns

References wblut.hemesh.HET_MeshOp.triangulate().

HE_Selection wblut.hemesh.HE_Mesh.triangulate ( final HE_Face  face)
Parameters
face
Returns

References wblut.hemesh.HET_MeshOp.triangulate().

HE_Selection wblut.hemesh.HE_Mesh.triangulate ( final HE_Selection  sel)

Triangulate.

Parameters
selthe sel
Returns

References wblut.hemesh.HET_MeshOp.triangulate().

HE_Selection wblut.hemesh.HE_Mesh.triangulate ( final long  key)

Triangulate face.

Parameters
keykey of face
Returns

References wblut.hemesh.HE_Mesh.getFaceWithKey(), and wblut.hemesh.HE_Mesh.triangulate().

HE_Selection wblut.hemesh.HE_Mesh.triangulateConcaveFace ( final HE_Face  face)

Triangulate face if concave.

Parameters
facekey of face
Returns

References wblut.hemesh.HET_MeshOp.triangulateConcaveFace().

HE_Selection wblut.hemesh.HE_Mesh.triangulateConcaveFace ( final long  key)

Triangulate face if concave.

Parameters
keykey of face
Returns

References wblut.hemesh.HET_MeshOp.triangulateConcaveFace().

HE_Selection wblut.hemesh.HE_Mesh.triangulateConcaveFaces ( )

Triangulate all concave faces.

Returns

References wblut.hemesh.HET_MeshOp.triangulateConcaveFaces().

HE_Selection wblut.hemesh.HE_Mesh.triangulateConcaveFaces ( final List< HE_Face sel)
Parameters
sel
Returns

References wblut.hemesh.HET_MeshOp.triangulateConcaveFaces().

HE_Selection wblut.hemesh.HE_Mesh.triangulateFaceStar ( final HE_Vertex  v)
Parameters
v
Returns

References wblut.hemesh.HET_MeshOp.triangulateFaceStar().

HE_Selection wblut.hemesh.HE_Mesh.triangulateFaceStar ( final long  vertexkey)
Parameters
vertexkey
Returns

References wblut.hemesh.HET_MeshOp.triangulateFaceStar().

void wblut.hemesh.HE_Mesh.update ( )
boolean wblut.hemesh.HE_Mesh.validate ( )

Check consistency of datastructure.

Returns
true or false

References wblut.hemesh.HET_Diagnosis.validate().

HE_VertexIterator wblut.hemesh.HE_Mesh.vItr ( )

Vertex iterator.

Returns
vertex iterator

Implements wblut.hemesh.HE_HalfedgeStructure.

Member Data Documentation

HE_RAS<HE_Boundary> wblut.hemesh.HE_Mesh.boundaries
private
HE_RAS<HE_Halfedge> wblut.hemesh.HE_Mesh.edges
private
HE_RAS<HE_Face> wblut.hemesh.HE_Mesh.faces
private
WB_GeometryFactory wblut.hemesh.HE_Mesh.gf = new WB_GeometryFactory()
protected
HE_RAS<HE_Halfedge> wblut.hemesh.HE_Mesh.halfedges
private
HE_RAS<HE_Halfedge> wblut.hemesh.HE_Mesh.unpairedHalfedges
private
HE_RAS<HE_Vertex> wblut.hemesh.HE_Mesh.vertices
private

The documentation for this class was generated from the following file: