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

Public Member Functions

 HE_Mesh ()
 
 HE_Mesh (final HEC_Creator creator)
 
 HE_Mesh (final WB_Mesh mesh)
 
 HE_Mesh (final WB_MeshCreator mesh)
 
 HE_Mesh (final HE_Mesh mesh)
 
HE_Mesh copy ()
 
HE_Mesh get ()
 
void set (final HE_Mesh target)
 
HE_Mesh modify (final HEM_Modifier modifier)
 
HE_Mesh subdivide (final HES_Subdividor subdividor)
 
HE_Mesh subdivide (final HES_Subdividor subdividor, final int rep)
 
void smooth ()
 
void smooth (final int rep)
 
HE_Mesh simplify (final HES_Simplifier simplifier)
 
void fuse (final HE_Mesh mesh)
 
WB_Mesh toFacelistMesh ()
 
WB_Frame getFrame ()
 
HE_Mesh apply (final WB_Transform T)
 
HE_Mesh applySelf (final WB_Transform T)
 
HE_Mesh transformSelf (final WB_Transform T)
 
HE_Mesh transform (final WB_Transform T)
 
HE_Mesh moveSelf (final double x, final double y, final double z)
 
HE_Mesh move (final double x, final double y, final double z)
 
HE_Mesh moveSelf (final WB_Coord v)
 
HE_Mesh move (final WB_Coord v)
 
HE_Mesh moveToSelf (final double x, final double y, final double z)
 
HE_Mesh moveTo (final double x, final double y, final double z)
 
HE_Mesh moveToSelf (final WB_Coord v)
 
HE_Mesh moveTo (final WB_Coord v)
 
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 rotateAboutAxis2P (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 rotateAboutAxis2P (final double angle, final WB_Coord p1, final WB_Coord p2)
 
HE_Mesh rotateAboutAxisSelf (final double angle, final WB_Coord p, final WB_Coord a)
 
HE_Mesh rotateAboutAxis (final double angle, final WB_Coord p, final WB_Coord a)
 
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 rotateAboutAxis (final double angle, final double px, final double py, final double pz, final double ax, final double ay, final double az)
 
HE_Mesh rotateAboutOriginSelf (final double angle, final WB_Coord a)
 
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 rotateAboutOrigin (final double angle, final double ax, final double ay, final double az)
 
HE_Mesh rotateAboutCenterSelf (final double angle, final WB_Coord a)
 
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 rotateAboutCenter (final double angle, final double ax, final double ay, final double az)
 
HE_Mesh scaleSelf (final double scaleFactorx, final double scaleFactory, final double scaleFactorz, final WB_Coord c)
 
HE_Mesh scale (final double scaleFactorx, final double scaleFactory, final double scaleFactorz, final WB_Coord c)
 
HE_Mesh scaleSelf (final double scaleFactor, final WB_Coord c)
 
HE_Mesh scale (final double scaleFactor, final WB_Coord c)
 
HE_Mesh scaleSelf (final double scaleFactorx, final double scaleFactory, final double scaleFactorz)
 
HE_Mesh scale (final double scaleFactorx, final double scaleFactory, final double scaleFactorz)
 
HE_Mesh scaleSelf (final double scaleFactor)
 
HE_Mesh scale (final double scaleFactor)
 
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)
 
WB_Point getCenter ()
 
void deleteFaces (final HE_Selection faces)
 
void deleteFace (final HE_Face f)
 
void cutFace (final HE_Face f)
 
HE_Face deleteEdge (final HE_Halfedge e)
 
List< WB_TrianglegetTriangles ()
 
HE_Selection triangulateConcaveFaces ()
 
HE_Selection triangulateConcaveFaces (final List< HE_Face > sel)
 
HE_Selection triangulateConcaveFace (final long key)
 
HE_Selection triangulateConcaveFace (final HE_Face face)
 
boolean validate ()
 
HE_Face fuseCoplanarFace (final HE_Face face, final double a)
 
void fuseCoplanarFaces ()
 
void fuseCoplanarFaces (final double a)
 
WB_KDTree< WB_Coord, Long > getFaceTree ()
 
WB_KDTree< WB_Coord, Long > getVertexTree ()
 
HE_Vertex getClosestVertex (final WB_Coord p, final WB_KDTree< WB_Coord, Long > vertexTree)
 
WB_Coord getClosestPoint (final WB_Coord p, final WB_KDTree< WB_Coord, Long > vertexTree)
 
void addPointInClosestFace (final WB_Coord p, final WB_KDTree< WB_Coord, Long > vertexTree)
 
double getArea ()
 
HE_Selection triangulate (final long key)
 
HE_Selection triangulateFaceStar (final HE_Vertex v)
 
HE_Selection triangulateFaceStar (final long vertexkey)
 
HE_Selection triangulate (final HE_Face face)
 
HE_Selection triangulate ()
 
HE_Selection triangulate (final HE_Selection sel)
 
void clean ()
 
void setVerticesFromFloat (final float[][] values)
 
void setVerticesFromFloat (final float[] values)
 
void setVerticesFromPoint (final WB_Coord[] values)
 
void setVerticesFromPoint (final List<?extends WB_Coord > values)
 
void setVerticesFromDouble (final double[][] values)
 
void setVerticesFromFloat (final double[] values)
 
void setVerticesFromInt (final int[][] values)
 
void setVerticesFromFloat (final int[] values)
 
WB_Coord getFaceNormal (final int id)
 
WB_Coord getFaceCenter (final int id)
 
WB_Coord getVertexNormal (final int i)
 
WB_Coord getVertex (final int i)
 
List< WB_CoordgetPoints ()
 
- Public Member Functions inherited from wblut.hemesh.HE_MeshStructure
 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)
 

Additional Inherited Members

- Protected Member Functions inherited from wblut.hemesh.HE_MeshStructure
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 inherited from wblut.hemesh.HE_MeshStructure
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
 
- 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 HEC_Creator  creator)

Constructor.

Parameters
creatorHE_Creator that generates this mesh
wblut.hemesh.HE_Mesh.HE_Mesh ( final WB_Mesh  mesh)
Parameters
mesh
wblut.hemesh.HE_Mesh.HE_Mesh ( final WB_MeshCreator  mesh)
Parameters
mesh
wblut.hemesh.HE_Mesh.HE_Mesh ( final HE_Mesh  mesh)
Parameters
mesh

Member Function Documentation

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

Split the closest face in the query point.

Parameters
pquery point
vertexTreeKD-tree from mesh (from vertexTree())
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
void wblut.hemesh.HE_Mesh.clean ( )

Clean.

HE_Mesh wblut.hemesh.HE_Mesh.copy ( )

Deep copy of mesh.

Returns
copy as new HE_Mesh
void wblut.hemesh.HE_Mesh.cutFace ( final HE_Face  f)

Delete face and remove all references. Its halfedges are removed, the boundary loop is unpaired.

Parameters
f
HE_Face wblut.hemesh.HE_Mesh.deleteEdge ( final HE_Halfedge  e)

Delete edge. Adjacent faces are fused.

Parameters
eedge to delete
Returns
fused face (or null)
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
void wblut.hemesh.HE_Mesh.deleteFaces ( final HE_Selection  faces)

Delete face and remove all references.

Parameters
facesfaces to delete
void wblut.hemesh.HE_Mesh.fitInAABB ( final WB_AABB  AABB)

Fit in aabb.

Parameters
AABB
void wblut.hemesh.HE_Mesh.fitInAABB ( final WB_AABB  from,
final WB_AABB  to 
)
double wblut.hemesh.HE_Mesh.fitInAABBConstrained ( final WB_AABB  AABB)

Fit in aabb constrained.

Parameters
AABB
Returns
double wblut.hemesh.HE_Mesh.fitInAABBConstrained ( final WB_AABB  from,
final WB_AABB  to 
)
void wblut.hemesh.HE_Mesh.fuse ( final HE_Mesh  mesh)

Add all mesh elements to this mesh. No copies are made. Tries to join geometry.

Parameters
meshmesh to add
HE_Face wblut.hemesh.HE_Mesh.fuseCoplanarFace ( final HE_Face  face,
final double  a 
)

Fuse all coplanar faces connected to face. New face can be concave.

Parameters
facestarting face
athe a
Returns
new face
void wblut.hemesh.HE_Mesh.fuseCoplanarFaces ( )

Fuse all planar faces. Can lead to concave faces.

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

Fuse all planar faces. Can lead to concave faces.

Parameters
athe a
HE_Mesh wblut.hemesh.HE_Mesh.get ( )

Deep copy of mesh.

Returns
copy as new HE_Mesh
double wblut.hemesh.HE_Mesh.getArea ( )
Returns
WB_Point wblut.hemesh.HE_Mesh.getCenter ( )

Get the center (average of all vertex positions).

Returns
the center
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
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
WB_Coord wblut.hemesh.HE_Mesh.getFaceCenter ( final int  id)
WB_Coord wblut.hemesh.HE_Mesh.getFaceNormal ( final int  id)
WB_KDTree<WB_Coord, Long> wblut.hemesh.HE_Mesh.getFaceTree ( )

Return a KD-tree containing all face centers.

Returns
WB_KDTree
WB_Frame wblut.hemesh.HE_Mesh.getFrame ( )

Gets the frame.

Returns
the frame
List<WB_Coord> wblut.hemesh.HE_Mesh.getPoints ( )
List<WB_Triangle> wblut.hemesh.HE_Mesh.getTriangles ( )
Returns
WB_Coord wblut.hemesh.HE_Mesh.getVertex ( final int  i)
WB_Coord wblut.hemesh.HE_Mesh.getVertexNormal ( final int  i)
WB_KDTree<WB_Coord, Long> wblut.hemesh.HE_Mesh.getVertexTree ( )

Return a KD-tree containing all vertices.

Returns
WB_KDTree
HE_Mesh wblut.hemesh.HE_Mesh.modify ( final HEM_Modifier  modifier)

Modify the mesh.

Parameters
modifierHE_Modifier to apply
Returns
self
HE_Mesh wblut.hemesh.HE_Mesh.move ( final double  x,
final double  y,
final double  z 
)

Create translated copy of mesh.

Parameters
x
y
z
Returns
copy
HE_Mesh wblut.hemesh.HE_Mesh.move ( final WB_Coord  v)

Created translated copy of mesh.

Parameters
v
Returns
copy
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
HE_Mesh wblut.hemesh.HE_Mesh.moveSelf ( final WB_Coord  v)

Translate entire mesh.

Parameters
vthe v
Returns
self
HE_Mesh wblut.hemesh.HE_Mesh.moveTo ( final double  x,
final double  y,
final double  z 
)

Create copy of mesh at given position.

Parameters
x
y
z
Returns
copy
HE_Mesh wblut.hemesh.HE_Mesh.moveTo ( final WB_Coord  v)

create copy of mesh at given position.

Parameters
v
Returns
copy
HE_Mesh wblut.hemesh.HE_Mesh.moveToSelf ( final double  x,
final double  y,
final double  z 
)

Translate entire mesh to given position.

Parameters
x
y
z
Returns
self
HE_Mesh wblut.hemesh.HE_Mesh.moveToSelf ( final WB_Coord  v)

Translate entire mesh to given position.

Parameters
v
Returns
self
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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.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
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
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
HE_Mesh wblut.hemesh.HE_Mesh.scaleSelf ( final double  scaleFactor)

Scale entire mesh around bodycenter.

Parameters
scaleFactorscale
Returns
self
void wblut.hemesh.HE_Mesh.set ( final HE_Mesh  target)

Replace mesh with deep copy of target.

Parameters
targetHE_Mesh to be duplicated
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)
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)
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
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
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
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)
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.
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.
HE_Mesh wblut.hemesh.HE_Mesh.simplify ( final HES_Simplifier  simplifier)

Simplify.

Parameters
simplifierthe simplifier
Returns
the h e_ mesh
void wblut.hemesh.HE_Mesh.smooth ( )

Smooth.

void wblut.hemesh.HE_Mesh.smooth ( final int  rep)
Parameters
rep
HE_Mesh wblut.hemesh.HE_Mesh.subdivide ( final HES_Subdividor  subdividor)

Subdivide the mesh.

Parameters
subdividorHE_Subdividor to apply
Returns
self
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
WB_Mesh wblut.hemesh.HE_Mesh.toFacelistMesh ( )
Returns
HE_Mesh wblut.hemesh.HE_Mesh.transform ( final WB_Transform  T)

Create transformed copy of mesh.

Parameters
TWB_Transform to apply
Returns
copy
HE_Mesh wblut.hemesh.HE_Mesh.transformSelf ( final WB_Transform  T)

Apply transform to entire mesh.

Parameters
TWB_Transform to apply
Returns
self
HE_Selection wblut.hemesh.HE_Mesh.triangulate ( final long  key)

Triangulate face.

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

Triangulate all faces.

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

Triangulate.

Parameters
selthe sel
Returns
HE_Selection wblut.hemesh.HE_Mesh.triangulateConcaveFace ( final long  key)

Triangulate face if concave.

Parameters
keykey of face
Returns
HE_Selection wblut.hemesh.HE_Mesh.triangulateConcaveFace ( final HE_Face  face)

Triangulate face if concave.

Parameters
facekey of face
Returns
HE_Selection wblut.hemesh.HE_Mesh.triangulateConcaveFaces ( )

Triangulate all concave faces.

Returns
HE_Selection wblut.hemesh.HE_Mesh.triangulateConcaveFaces ( final List< HE_Face sel)
Parameters
sel
Returns
HE_Selection wblut.hemesh.HE_Mesh.triangulateFaceStar ( final HE_Vertex  v)
Parameters
v
Returns
HE_Selection wblut.hemesh.HE_Mesh.triangulateFaceStar ( final long  vertexkey)
Parameters
vertexkey
Returns
boolean wblut.hemesh.HE_Mesh.validate ( )

Check consistency of datastructure.

Returns
true or false

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