HE_Mesh  5.0.0
wblut.hemesh.HE_MeshStructure Class Reference
+ Inheritance diagram for wblut.hemesh.HE_MeshStructure:

Public Member Functions

 HE_MeshStructure ()
 
 HE_MeshStructure (final HE_MeshStructure ms)
 
final int getNumberOfFaces ()
 
final int getNumberOfHalfedges ()
 
int getNumberOfEdges ()
 
final int getNumberOfVertices ()
 
final HE_Face getFaceWithKey (final long key)
 
final HE_Halfedge getHalfedgeWithKey (final long key)
 
final HE_Halfedge getEdgeWithKey (final long key)
 
final HE_Vertex getVertexWithKey (final long key)
 
final HE_Face getFaceWithIndex (final int i)
 
final HE_Halfedge getHalfedgeWithIndex (final int i)
 
final HE_Halfedge getEdgeWithIndex (final int i)
 
final HE_Vertex getVertexWithIndex (final int i)
 
final void add (final HE_Face f)
 
final void add (final HE_Halfedge he)
 
final void add (final HE_Vertex v)
 
void add (final HE_Mesh mesh)
 
final void addFaces (final HE_Face[] faces)
 
final void addFaces (final Collection<?extends HE_Face > faces)
 
final void addFaces (final HE_MeshStructure source)
 
final void addHalfedges (final HE_Halfedge[] halfedges)
 
final void addHalfedges (final Collection<?extends HE_Halfedge > halfedges)
 
final void addHalfedges (final HE_MeshStructure source)
 
final void addEdges (final HE_MeshStructure source)
 
final void addVertices (final HE_Vertex[] vertices)
 
final void addVertices (final HE_MeshStructure source)
 
final void addVertices (final Collection<?extends HE_Vertex > vertices)
 
final void remove (final HE_Face f)
 
final void remove (final HE_Halfedge he)
 
final void remove (final HE_Vertex v)
 
final void removeFaces (final HE_Face[] faces)
 
final void removeFaces (final Collection<?extends HE_Face > faces)
 
final void removeHalfedges (final HE_Halfedge[] halfedges)
 
final void removeHalfedges (final Collection<?extends HE_Halfedge > halfedges)
 
final void removeVertices (final HE_Vertex[] vertices)
 
final void removeVertices (final Collection<?extends HE_Vertex > vertices)
 
void clear ()
 
final void clearFaces ()
 
final void clearHalfedges ()
 
final void clearVertices ()
 
final boolean contains (final HE_Face f)
 
final boolean contains (final HE_Halfedge he)
 
final boolean contains (final HE_Vertex v)
 
final WB_AABB getAABB ()
 
final WB_Sphere getBoundingSphere ()
 
final double[] getLimits ()
 
final List< HE_VertexgetVertices ()
 
final HE_Vertex[] getVerticesAsArray ()
 
final List< HE_HalfedgegetHalfedges ()
 
final HE_Halfedge[] getHalfedgesAsArray ()
 
final List< HE_HalfedgegetEdges ()
 
final HE_Halfedge[] getEdgesAsArray ()
 
final List< HE_FacegetFaces ()
 
final HE_Face[] getFacesAsArray ()
 
final boolean containsFace (final long key)
 
final boolean containsHalfedge (final long key)
 
final boolean containsEdge (final long key)
 
final boolean containsVertex (final long key)
 
final int getIndex (final HE_Face f)
 
final int getIndex (final HE_Vertex v)
 
HE_VertexIterator vItr ()
 
HE_EdgeIterator eItr ()
 
HE_HalfedgeIterator heItr ()
 
HE_FaceIterator fItr ()
 
void setFace (final HE_Halfedge he, final HE_Face f)
 
void clearFace (final HE_Halfedge he)
 
void setPair (final HE_Halfedge he1, final HE_Halfedge he2)
 
void clearPair (final HE_Halfedge he)
 
void setNext (final HE_Halfedge he, final HE_Halfedge hen)
 
void setVertex (final HE_Halfedge he, final HE_Vertex v)
 
void setHalfedge (final HE_Face f, final HE_Halfedge he)
 
void clearHalfedge (final HE_Face f)
 
void setHalfedge (final HE_Vertex v, final HE_Halfedge he)
 
void clearHalfedge (final HE_Vertex v)
 
void clearNext (final HE_Halfedge he)
 
void clearPrev (final HE_Halfedge he)
 
void clearVertex (final HE_Halfedge he)
 
void sort ()
 
void setFaceColor (final int color)
 
void setVertexColor (final int color)
 
void setHalfedgeColor (final int color)
 
void setFaceColorWithLabel (final int color, final int i)
 
void setFaceColorWithOtherLabel (final int color, final int i)
 
void setFaceColorWithInternalLabel (final int color, final int i)
 
void setFaceColorWithOtherInternalLabel (final int color, final int i)
 
void setVertexColorWithLabel (final int color, final int i)
 
void setVertexColorWithOtherLabel (final int color, final int i)
 
void setVertexColorWithInternalLabel (final int color, final int i)
 
void setVertexColorWithOtherInternalLabel (final int color, final int i)
 
void setHalfedgeColorWithLabel (final int color, final int i)
 
void setHalfedgeColorWithOtherLabel (final int color, final int i)
 
void setHalfedgeColorWithInternalLabel (final int color, final int i)
 
void setHalfedgeColorWithOtherInternalLabel (final int color, final int i)
 
void resetLabels ()
 
void resetVertexLabels ()
 
void resetFaceLabels ()
 
void resetEdgeLabels ()
 
void resetHalfedgeLabels ()
 
void setVertexLabels (final int label)
 
void setFaceLabels (final int label)
 
void setEdgeLabels (final int label)
 
void setHalfedgeLabels (final int label)
 
float[][] getVerticesAsFloat ()
 
double[][] getVerticesAsDouble ()
 
List< WB_CoordgetVerticesAsCoord ()
 
Map< Long, Integer > getVertexKeyToIndexMap ()
 
WB_Coord[] getVertexNormals ()
 
Map< Long, WB_CoordgetKeyedVertexNormals ()
 
int[][] getFacesAsInt ()
 
WB_Coord[] getFaceNormals ()
 
Map< Long, WB_CoordgetKeyedFaceNormals ()
 
WB_Coord[] getFaceCenters ()
 
Map< Long, WB_CoordgetKeyedFaceCenters ()
 
WB_Polygon[] getPolygons ()
 
List< WB_PolygongetPolygonList ()
 
int[][] getEdgesAsInt ()
 
WB_Coord[] getEdgeNormals ()
 
Map< Long, WB_CoordgetKeyedEdgeNormals ()
 
WB_Coord[] getEdgeCenters ()
 
Map< Long, WB_CoordgetKeyedEdgeCenters ()
 
WB_Segment[] getSegments ()
 
HE_Path[] getBoundaryAsPath ()
 
List< WB_PolygongetBoundaryAsPolygons ()
 
List< HE_HalfedgegetBoundaryHalfedges ()
 
List< HE_VertexgetBoundaryVertices ()
 
List< HE_HalfedgegetBoundaryLoopHalfedges ()
 
HE_MeshStructure cleanUnusedElementsByFace ()
 
HE_Path createPathFromIndices (final int[] vertices, final boolean loop)
 
void cycleHalfedges (final List< HE_Halfedge > halfedges)
 
void cycleHalfedgesReverse (final List< HE_Halfedge > halfedges)
 
void orderHalfedges (final List< HE_Halfedge > halfedges)
 
void orderHalfedgesReverse (final List< HE_Halfedge > halfedges)
 
void uncapBoundaryHalfedges ()
 
void capHalfedges ()
 
void fixHalfedgeVertexAssignment ()
 
void fixHalfedgeFaceAssignment ()
 
List< HE_HalfedgegetUnpairedHalfedges ()
 
List< HE_HalfedgepairHalfedgesOnePass ()
 
void pairHalfedges ()
 
void pairHalfedges (final List< HE_Halfedge > unpairedHalfedges)
 
HE_Halfedge getHalfedgeFromTo (final HE_Vertex v0, final HE_Vertex v1)
 
List< HE_FacegetSharedFaces (final HE_Vertex v1, final HE_Vertex v2)
 
int getNumberOfBoundaryComponents ()
 
int getEulerCharacteristic ()
 
int getGenus ()
 
void clearVisitedElements ()
 
void update ()
 
void updateFaces ()
 
- 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 setLabel (final int label)
 
final long getKey ()
 
final int getInternalLabel ()
 
final int getLabel ()
 
int hashCode ()
 
boolean equals (final Object other)
 
void copyProperties (final HE_Element el)
 

Protected Member Functions

final void clearEdges ()
 
final void replaceFaces (final HE_Mesh mesh)
 
final void replaceFaces (final HE_Face[] faces)
 
final void replaceFaces (final Collection<?extends HE_Face > faces)
 
final void replaceVertices (final HE_Mesh mesh)
 
final void replaceVertices (final HE_Vertex[] vertices)
 
final void replaceVertices (final Collection<?extends HE_Vertex > vertices)
 
final void replaceHalfedges (final HE_Mesh mesh)
 
final void replaceHalfedges (final HE_Halfedge[] halfedges)
 
final void replaceHalfedges (final Collection<?extends HE_Halfedge > halfedges)
 
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)
 
- 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 ()
 

Protected Attributes

WB_GeometryFactory gf = new WB_GeometryFactory()
 
HE_RAS< HE_Vertexvertices
 
HE_RAS< HE_Halfedgehalfedges
 
HE_RAS< HE_Halfedgeedges
 
HE_RAS< HE_HalfedgeunpairedHalfedges
 
HE_RAS< HE_Facefaces
 
- 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
 
long labels
 

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

Collection of mesh elements. Contains methods to manipulate the data structures.

Author
Frederik Vanhoutte (W:Blut)

Constructor & Destructor Documentation

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.

Parameters
msmesh structure to copy

Member Function Documentation

final void wblut.hemesh.HE_MeshStructure.add ( final HE_Face  f)

Add face.

Parameters
fface to add
final void wblut.hemesh.HE_MeshStructure.add ( final HE_Halfedge  he)

Adds halfedge.

Parameters
hehalfedge to add
final void wblut.hemesh.HE_MeshStructure.add ( final HE_Vertex  v)

Add vertex.

Parameters
vvertex to add
void wblut.hemesh.HE_MeshStructure.add ( final HE_Mesh  mesh)

Add all mesh elements to this mesh. No copies are made.

Parameters
meshmesh to add
final void wblut.hemesh.HE_MeshStructure.addEdges ( final HE_MeshStructure  source)
Parameters
source
final void wblut.hemesh.HE_MeshStructure.addFaces ( final HE_Face[]  faces)

Adds faces.

Parameters
facesfaces to add as HE_Face[]
final void wblut.hemesh.HE_MeshStructure.addFaces ( final Collection<?extends HE_Face faces)

Adds faces.

Parameters
facesfaces to add as Collection<? extends HE_Face>
final void wblut.hemesh.HE_MeshStructure.addFaces ( final HE_MeshStructure  source)
Parameters
source
final void wblut.hemesh.HE_MeshStructure.addHalfedges ( final HE_Halfedge[]  halfedges)

Adds halfedges.

Parameters
halfedgeshalfedges to add as HE_Halfedge[]
final void wblut.hemesh.HE_MeshStructure.addHalfedges ( final Collection<?extends HE_Halfedge halfedges)

Adds halfedges.

Parameters
halfedgeshalfedges to add as Collection<? extends HE_Halfedge>
final void wblut.hemesh.HE_MeshStructure.addHalfedges ( final HE_MeshStructure  source)
Parameters
source
final void wblut.hemesh.HE_MeshStructure.addVertices ( final HE_Vertex[]  vertices)

Adds vertices.

Parameters
verticesvertices to add as HE_Vertex[]
final void wblut.hemesh.HE_MeshStructure.addVertices ( final HE_MeshStructure  source)
Parameters
source
final void wblut.hemesh.HE_MeshStructure.addVertices ( final Collection<?extends HE_Vertex vertices)

Adds vertices.

Parameters
verticesvertices to add as Collection<? extends HE_Vertex>
void wblut.hemesh.HE_MeshStructure.capHalfedges ( )

Cap all remaining unpaired halfedges. Only use after pairHalfedges();

HE_MeshStructure wblut.hemesh.HE_MeshStructure.cleanUnusedElementsByFace ( )

Clean all mesh elements not used by any faces.

Returns
self
void wblut.hemesh.HE_MeshStructure.clear ( )

Clear entire structure.

final void wblut.hemesh.HE_MeshStructure.clearEdges ( )
protected

Clear edges.

void wblut.hemesh.HE_MeshStructure.clearFace ( final HE_Halfedge  he)

Unlink face from halfedge

Parameters
he
final void wblut.hemesh.HE_MeshStructure.clearFaces ( )

Clear faces.

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

Unlink halfedge from face

Parameters
f
void wblut.hemesh.HE_MeshStructure.clearHalfedge ( final HE_Vertex  v)

Unlink halfedge from vertex

Parameters
v
final 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.

Parameters
he
void wblut.hemesh.HE_MeshStructure.clearPair ( final HE_Halfedge  he)

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

Parameters
he
void wblut.hemesh.HE_MeshStructure.clearPrev ( final HE_Halfedge  he)

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

Parameters
he
void wblut.hemesh.HE_MeshStructure.clearVertex ( final HE_Halfedge  he)

Unlink vertex from halfedge

Parameters
he
final void wblut.hemesh.HE_MeshStructure.clearVertices ( )

Clear vertices.

void wblut.hemesh.HE_MeshStructure.clearVisitedElements ( )
final boolean wblut.hemesh.HE_MeshStructure.contains ( final HE_Face  f)

Check if structure contains face.

Parameters
fface
Returns
true, if successful
final boolean wblut.hemesh.HE_MeshStructure.contains ( final HE_Halfedge  he)

Check if structure contains halfedge.

Parameters
hehalfedge
Returns
true, if successful
final boolean wblut.hemesh.HE_MeshStructure.contains ( final HE_Vertex  v)

Check if structure contains vertex.

Parameters
vvertex
Returns
true, if successful
final boolean wblut.hemesh.HE_MeshStructure.containsEdge ( final long  key)
Parameters
key
Returns
final boolean wblut.hemesh.HE_MeshStructure.containsFace ( final long  key)
Parameters
key
Returns
final boolean wblut.hemesh.HE_MeshStructure.containsHalfedge ( final long  key)
Parameters
key
Returns
final boolean wblut.hemesh.HE_MeshStructure.containsVertex ( final long  key)
Parameters
key
Returns
HE_Path wblut.hemesh.HE_MeshStructure.createPathFromIndices ( final int[]  vertices,
final boolean  loop 
)
Parameters
vertices
loop
Returns
void wblut.hemesh.HE_MeshStructure.cycleHalfedges ( final List< HE_Halfedge halfedges)

Cycle halfedges.

Parameters
halfedgeshalfedges to cycle
void wblut.hemesh.HE_MeshStructure.cycleHalfedgesReverse ( final List< HE_Halfedge halfedges)

Cycle halfedges.

Parameters
halfedgeshalfedges to cycle
HE_EdgeIterator wblut.hemesh.HE_MeshStructure.eItr ( )

Edge iterator.

Returns
edge iterator
HE_FaceIterator wblut.hemesh.HE_MeshStructure.fItr ( )

Face iterator.

Returns
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)

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)

final WB_AABB wblut.hemesh.HE_MeshStructure.getAABB ( )

Get axis-aligned bounding box surrounding mesh.

Returns
WB_AABB axis-aligned bounding box
HE_Path [] wblut.hemesh.HE_MeshStructure.getBoundaryAsPath ( )
Returns
List<WB_Polygon> wblut.hemesh.HE_MeshStructure.getBoundaryAsPolygons ( )
Returns
List<HE_Halfedge> wblut.hemesh.HE_MeshStructure.getBoundaryHalfedges ( )

Collect all boundary halfedges.

Returns
boundary halfedges
List<HE_Halfedge> wblut.hemesh.HE_MeshStructure.getBoundaryLoopHalfedges ( )
Returns
List<HE_Vertex> wblut.hemesh.HE_MeshStructure.getBoundaryVertices ( )

Collect all boundary vertices.

Returns
boundary vertices
final WB_Sphere wblut.hemesh.HE_MeshStructure.getBoundingSphere ( )
Returns
WB_Coord [] wblut.hemesh.HE_MeshStructure.getEdgeCenters ( )

Return all edge centers.

Returns
array of WB_Coordinate.
WB_Coord [] wblut.hemesh.HE_MeshStructure.getEdgeNormals ( )

Return all edge normals.

Returns
array of WB_Coordinate.
final List<HE_Halfedge> wblut.hemesh.HE_MeshStructure.getEdges ( )
Returns
final HE_Halfedge [] wblut.hemesh.HE_MeshStructure.getEdgesAsArray ( )

Edges as array.

Returns
all edges as HE_Halfedge[]
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.

Parameters
iedge index
Returns
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.

Parameters
keyhalfedge key
Returns
halfedge
int wblut.hemesh.HE_MeshStructure.getEulerCharacteristic ( )
Returns
WB_Coord [] wblut.hemesh.HE_MeshStructure.getFaceCenters ( )

Return all face centers.

Returns
array of WB_Coordinate.
WB_Coord [] wblut.hemesh.HE_MeshStructure.getFaceNormals ( )

Return all face normals.

Returns
array of WB_Coordinate.
final List<HE_Face> wblut.hemesh.HE_MeshStructure.getFaces ( )
Returns
final HE_Face [] wblut.hemesh.HE_MeshStructure.getFacesAsArray ( )

Faces as array.

Returns
all faces as HE_Face[]
int [][] wblut.hemesh.HE_MeshStructure.getFacesAsInt ( )

Return the faces as array of vertex indices.

Returns
2D array of int. First index gives face. Second index gives vertices.
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.

Parameters
iface index
Returns
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.

Parameters
keyface key
Returns
face
int wblut.hemesh.HE_MeshStructure.getGenus ( )
Returns
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.

Parameters
v0
v1
Returns
final List<HE_Halfedge> wblut.hemesh.HE_MeshStructure.getHalfedges ( )
Returns
final HE_Halfedge [] wblut.hemesh.HE_MeshStructure.getHalfedgesAsArray ( )

Halfedges as array.

Returns
all halfedges as HE_Halfedge[]
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.

Parameters
ihalfedge index
Returns
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.

Parameters
keyhalfedge key
Returns
halfedge
final int wblut.hemesh.HE_MeshStructure.getIndex ( final HE_Face  f)
Parameters
f
Returns
final int wblut.hemesh.HE_MeshStructure.getIndex ( final HE_Vertex  v)
Parameters
v
Returns
Map<Long, WB_Coord> wblut.hemesh.HE_MeshStructure.getKeyedEdgeCenters ( )

Return all edge centers.

Returns
FastMap of WB_Coordinate.
Map<Long, WB_Coord> wblut.hemesh.HE_MeshStructure.getKeyedEdgeNormals ( )

Return all edge normals.

Returns
FastMap of WB_Coordinate.
Map<Long, WB_Coord> wblut.hemesh.HE_MeshStructure.getKeyedFaceCenters ( )

Return all face centers.

Returns
FastMap of WB_Coordinate.
Map<Long, WB_Coord> wblut.hemesh.HE_MeshStructure.getKeyedFaceNormals ( )

Return all face normals.

Returns
FastMap of WB_Coordinate.
Map<Long, WB_Coord> wblut.hemesh.HE_MeshStructure.getKeyedVertexNormals ( )

Get vertex normals mapped on vertex key

Returns
final double [] wblut.hemesh.HE_MeshStructure.getLimits ( )

Get range of vertex coordinates.

Returns
array of limit values: min x, min y, min z, max x, max y, max z
int wblut.hemesh.HE_MeshStructure.getNumberOfBoundaryComponents ( )
Returns
int wblut.hemesh.HE_MeshStructure.getNumberOfEdges ( )

Number of edges.

Returns
the number of edges
final int wblut.hemesh.HE_MeshStructure.getNumberOfFaces ( )

Number of faces.

Returns
the number of faces
final int wblut.hemesh.HE_MeshStructure.getNumberOfHalfedges ( )

Number of halfedges.

Returns
the number of halfedges
final int wblut.hemesh.HE_MeshStructure.getNumberOfVertices ( )

Number of vertices.

Returns
the number of vertices
List<WB_Polygon> wblut.hemesh.HE_MeshStructure.getPolygonList ( )

Gets the polygon list.

Returns
the polygon list
WB_Polygon [] wblut.hemesh.HE_MeshStructure.getPolygons ( )

Return the mesh as polygon soup.

Returns
array of WB_polygon
WB_Segment [] wblut.hemesh.HE_MeshStructure.getSegments ( )

Gets the segments.

Returns
the segments
List<HE_Face> wblut.hemesh.HE_MeshStructure.getSharedFaces ( final HE_Vertex  v1,
final HE_Vertex  v2 
)
Parameters
v1
v2
Returns
List<HE_Halfedge> wblut.hemesh.HE_MeshStructure.getUnpairedHalfedges ( )

Collect all unpaired halfedges.

Returns
the unpaired halfedges
Map<Long, Integer> wblut.hemesh.HE_MeshStructure.getVertexKeyToIndexMap ( )

Vertex key to index.

Returns
the map
WB_Coord [] wblut.hemesh.HE_MeshStructure.getVertexNormals ( )

Return all vertex normals.

Returns
array of WB_Coordinate.
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.

Parameters
ivertex index
Returns
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.

Parameters
keyvertex key
Returns
vertex
final List<HE_Vertex> wblut.hemesh.HE_MeshStructure.getVertices ( )
Returns
final HE_Vertex [] wblut.hemesh.HE_MeshStructure.getVerticesAsArray ( )

Vertices as array.

Returns
all vertices as HE_Vertex[]
List<WB_Coord> wblut.hemesh.HE_MeshStructure.getVerticesAsCoord ( )

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

Returns
array of WB_Coord.
double [][] wblut.hemesh.HE_MeshStructure.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.
float [][] wblut.hemesh.HE_MeshStructure.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.
HE_HalfedgeIterator wblut.hemesh.HE_MeshStructure.heItr ( )

Halfedge iterator.

Returns
halfedge iterator
void wblut.hemesh.HE_MeshStructure.orderHalfedges ( final List< HE_Halfedge halfedges)
void wblut.hemesh.HE_MeshStructure.orderHalfedgesReverse ( final List< HE_Halfedge halfedges)

Cycle halfedges.

Parameters
halfedgeshalfedges to cycle
void wblut.hemesh.HE_MeshStructure.pairHalfedges ( )
void wblut.hemesh.HE_MeshStructure.pairHalfedges ( final List< HE_Halfedge unpairedHalfedges)

Pair halfedges.

Parameters
unpairedHalfedgesthe unpaired halfedges
List<HE_Halfedge> wblut.hemesh.HE_MeshStructure.pairHalfedgesOnePass ( )

Try to pair all unpaired halfedges.

Returns
final void wblut.hemesh.HE_MeshStructure.remove ( final HE_Face  f)

Removes face.

Parameters
fface to remove
final void wblut.hemesh.HE_MeshStructure.remove ( final HE_Halfedge  he)

Removes halfedge.

Parameters
hehalfedge to remove
final void wblut.hemesh.HE_MeshStructure.remove ( final HE_Vertex  v)

Removes vertex.

Parameters
vvertex to remove
final void wblut.hemesh.HE_MeshStructure.removeFaces ( final HE_Face[]  faces)

Removes faces.

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

Removes faces.

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

Removes halfedges.

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

Removes halfedges.

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

Removes vertices.

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

Removes vertices.

Parameters
verticesvertices to remove as Collection<? extends HE_Vertex>
final void wblut.hemesh.HE_MeshStructure.replaceFaces ( final HE_Mesh  mesh)
protected
Parameters
mesh
final void wblut.hemesh.HE_MeshStructure.replaceFaces ( final HE_Face[]  faces)
protected

Replace faces.

Parameters
facesfaces to replace with as HE_Face[]
final void wblut.hemesh.HE_MeshStructure.replaceFaces ( final Collection<?extends HE_Face faces)
protected

Replace faces.

Parameters
facesfaces to replace with as Collection<? extends HE_Face>
final void wblut.hemesh.HE_MeshStructure.replaceHalfedges ( final HE_Mesh  mesh)
protected
Parameters
mesh
final void wblut.hemesh.HE_MeshStructure.replaceHalfedges ( final HE_Halfedge[]  halfedges)
protected

Replace halfedges.

Parameters
halfedgeshalfedges to replace with as HE_Halfedge[]
final void wblut.hemesh.HE_MeshStructure.replaceHalfedges ( final Collection<?extends HE_Halfedge halfedges)
protected

Replace halfedges.

Parameters
halfedgeshalfedges to replace with as Collection<? extends HE_Halfedge>
final void wblut.hemesh.HE_MeshStructure.replaceVertices ( final HE_Mesh  mesh)
protected
Parameters
mesh
final void wblut.hemesh.HE_MeshStructure.replaceVertices ( final HE_Vertex[]  vertices)
protected

Replace vertices.

Parameters
verticesvertices to replace with as HE_Vertex[]
final void wblut.hemesh.HE_MeshStructure.replaceVertices ( final Collection<?extends HE_Vertex vertices)
protected

Replace vertices.

Parameters
verticesvertices to replace with as Collection<? extends HE_Vertex>
void wblut.hemesh.HE_MeshStructure.resetEdgeInternalLabels ( )
protected

Reset all edge labels to -1.

void wblut.hemesh.HE_MeshStructure.resetEdgeLabels ( )

Reset all edge labels to -1.

void wblut.hemesh.HE_MeshStructure.resetFaceInternalLabels ( )
protected

Reset face labels to -1.

void wblut.hemesh.HE_MeshStructure.resetFaceLabels ( )

Reset all face labels to -1.

void wblut.hemesh.HE_MeshStructure.resetHalfedgeInternalLabels ( )
protected

Reset all halfedge labels to -1.

void wblut.hemesh.HE_MeshStructure.resetHalfedgeLabels ( )

Reset all halfedge labels to -1.

void wblut.hemesh.HE_MeshStructure.resetInternalLabels ( )
protected

Reset all internal labels to -1.

void wblut.hemesh.HE_MeshStructure.resetLabels ( )

Reset all labels.

void wblut.hemesh.HE_MeshStructure.resetVertexInternalLabels ( )
protected

Reset all vertex labels to -1.

void wblut.hemesh.HE_MeshStructure.resetVertexLabels ( )

Reset all vertex labels to -1.

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

Set edge labels to value.

Parameters
label
void wblut.hemesh.HE_MeshStructure.setEdgeLabels ( final int  label)

Reset all edge labels to value.

Parameters
label
void wblut.hemesh.HE_MeshStructure.setFace ( final HE_Halfedge  he,
final HE_Face  f 
)

Link face to halfedge

Parameters
he
f
void wblut.hemesh.HE_MeshStructure.setFaceColor ( final int  color)
Parameters
color
void wblut.hemesh.HE_MeshStructure.setFaceColorWithInternalLabel ( final int  color,
final int  i 
)
Parameters
color
i
void wblut.hemesh.HE_MeshStructure.setFaceColorWithLabel ( final int  color,
final int  i 
)
Parameters
color
i
void wblut.hemesh.HE_MeshStructure.setFaceColorWithOtherInternalLabel ( final int  color,
final int  i 
)
Parameters
color
i
void wblut.hemesh.HE_MeshStructure.setFaceColorWithOtherLabel ( final int  color,
final int  i 
)
Parameters
color
i
void wblut.hemesh.HE_MeshStructure.setFaceInternalLabels ( final int  label)
protected

Set face labels to value.

Parameters
label
void wblut.hemesh.HE_MeshStructure.setFaceLabels ( final int  label)

Reset all face labels to value.

Parameters
label
void wblut.hemesh.HE_MeshStructure.setHalfedge ( final HE_Face  f,
final HE_Halfedge  he 
)

Link halfedge to face

Parameters
f
he
void wblut.hemesh.HE_MeshStructure.setHalfedge ( final HE_Vertex  v,
final HE_Halfedge  he 
)

Link halfedge to vertex

Parameters
v
he
void wblut.hemesh.HE_MeshStructure.setHalfedgeColor ( final int  color)
Parameters
color
void wblut.hemesh.HE_MeshStructure.setHalfedgeColorWithInternalLabel ( final int  color,
final int  i 
)
Parameters
color
i
void wblut.hemesh.HE_MeshStructure.setHalfedgeColorWithLabel ( final int  color,
final int  i 
)
Parameters
color
i
void wblut.hemesh.HE_MeshStructure.setHalfedgeColorWithOtherInternalLabel ( final int  color,
final int  i 
)
Parameters
color
i
void wblut.hemesh.HE_MeshStructure.setHalfedgeColorWithOtherLabel ( final int  color,
final int  i 
)
Parameters
color
i
void wblut.hemesh.HE_MeshStructure.setHalfedgeInternalLabels ( final int  label)
protected

Det edge labels to value.

Parameters
label
void wblut.hemesh.HE_MeshStructure.setHalfedgeLabels ( final int  label)

Reset all halfedge labels to value.

Parameters
label
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.

Parameters
he
hen
void wblut.hemesh.HE_MeshStructure.setPair ( final HE_Halfedge  he1,
final HE_Halfedge  he2 
)

Pair two halfedges

Parameters
he1
he2
void wblut.hemesh.HE_MeshStructure.setVertex ( final HE_Halfedge  he,
final HE_Vertex  v 
)

Link vertex to halfedge

Parameters
he
v
void wblut.hemesh.HE_MeshStructure.setVertexColor ( final int  color)
Parameters
color
void wblut.hemesh.HE_MeshStructure.setVertexColorWithInternalLabel ( final int  color,
final int  i 
)
Parameters
color
i
void wblut.hemesh.HE_MeshStructure.setVertexColorWithLabel ( final int  color,
final int  i 
)
Parameters
color
i
void wblut.hemesh.HE_MeshStructure.setVertexColorWithOtherInternalLabel ( final int  color,
final int  i 
)
Parameters
color
i
void wblut.hemesh.HE_MeshStructure.setVertexColorWithOtherLabel ( final int  color,
final int  i 
)
Parameters
color
i
void wblut.hemesh.HE_MeshStructure.setVertexInternalLabels ( final int  label)
protected

Set all vertex labels to value.

Parameters
label
void wblut.hemesh.HE_MeshStructure.setVertexLabels ( final int  label)

Set all vertex labels to value.

Parameters
label
void wblut.hemesh.HE_MeshStructure.sort ( )

Sort all faces and vertices in lexographical order

void wblut.hemesh.HE_MeshStructure.uncapBoundaryHalfedges ( )

Uncap halfedges.

void wblut.hemesh.HE_MeshStructure.update ( )
void wblut.hemesh.HE_MeshStructure.updateFaces ( )
HE_VertexIterator wblut.hemesh.HE_MeshStructure.vItr ( )

Vertex iterator.

Returns
vertex iterator

Member Data Documentation

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

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