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

Public Member Functions

 HE_Halfedge ()
 
long key ()
 
HE_Halfedge getPrevInFace ()
 
HE_Halfedge getPrevInFace (final int n)
 
HE_Halfedge getNextInFace ()
 
HE_Halfedge getNextInFace (final int n)
 
HE_Halfedge getNextInVertex ()
 
HE_Halfedge getNextInVertex (final int n)
 
HE_Halfedge getPrevInVertex ()
 
HE_Halfedge getPrevInVertex (final int n)
 
HE_Halfedge getPair ()
 
WB_Classification getHalfedgeType ()
 
WB_Coord getHalfedgeTangent ()
 
WB_Coord getEdgeTangent ()
 
WB_Coord getHalfedgeCenter ()
 
WB_Coord getEdgeCenter ()
 
WB_Coord getEdgeCenter (final double f)
 
HE_Halfedge getEdge ()
 
HE_Face getFace ()
 
HE_Vertex getVertex ()
 
HE_Vertex getStartVertex ()
 
HE_Vertex getEndVertex ()
 
WB_Coord getEdgeNormal ()
 
WB_Coord getHalfedgeNormal ()
 
double getHalfedgeArea ()
 
double getHalfedgeDihedralAngle ()
 
String toString ()
 
double getLength ()
 
double getSqLength ()
 
boolean isEdge ()
 
boolean isBoundary ()
 
boolean isInnerBoundary ()
 
boolean isOuterBoundary ()
 
double getEdgeArea ()
 
double getEdgeDihedralAngle ()
 
void copyProperties (final HE_Halfedge el)
 
double getAngle ()
 
double getCotan ()
 
HE_TextureCoordinate getUVW ()
 
HE_TextureCoordinate getHalfedgeUVW ()
 
HE_TextureCoordinate getVertexUVW ()
 
void clearUVW ()
 
void setUVW (final double u, final double v, final double w)
 
void setUVW (final WB_Coord uvw)
 
void setUVW (final HE_TextureCoordinate uvw)
 
boolean hasHalfedgeUVW ()
 
boolean hasUVW ()
 
boolean hasVertexUVW ()
 
int compareTo (final HE_Halfedge he)
 
int hashCode ()
 
- 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

void _setNext (final HE_Halfedge he)
 
void _setPrev (final HE_Halfedge he)
 
void _setPair (final HE_Halfedge he)
 
void _setFace (final HE_Face face)
 
void _setVertex (final HE_Vertex vertex)
 
void _clearNext ()
 
void _clearPrev ()
 
void _clearPair ()
 
void _clearFace ()
 
void _clearVertex ()
 
void clear ()
 
- 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 ()
 

Private Attributes

HE_Vertex _vertex
 
HE_Halfedge _pair
 
HE_Halfedge _next
 
HE_Halfedge _prev
 
HE_Face _face
 
HE_TextureCoordinate uvw
 

Additional Inherited Members

- 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 element of half-edge data structure.

Author
Frederik Vanhoutte (W:Blut)

Constructor & Destructor Documentation

wblut.hemesh.HE_Halfedge.HE_Halfedge ( )

Instantiates a new HE_Halfedge.

Member Function Documentation

void wblut.hemesh.HE_Halfedge._clearFace ( )
protected

Clear face.

void wblut.hemesh.HE_Halfedge._clearNext ( )
protected

Clear next.

void wblut.hemesh.HE_Halfedge._clearPair ( )
protected

Clear pair.

void wblut.hemesh.HE_Halfedge._clearPrev ( )
protected

Clear prev.

void wblut.hemesh.HE_Halfedge._clearVertex ( )
protected

Clear vertex.

void wblut.hemesh.HE_Halfedge._setFace ( final HE_Face  face)
protected

Sets the face.

Parameters
facethe new face
void wblut.hemesh.HE_Halfedge._setNext ( final HE_Halfedge  he)
protected

Set next halfedge in face.

Parameters
henext halfedge
void wblut.hemesh.HE_Halfedge._setPair ( final HE_Halfedge  he)
protected

Pair halfedges.

Parameters
hehalfedge to pair
void wblut.hemesh.HE_Halfedge._setPrev ( final HE_Halfedge  he)
protected

Sets previous halfedge in face, only to be called by setNext.

Parameters
henext halfedge
void wblut.hemesh.HE_Halfedge._setVertex ( final HE_Vertex  vertex)
protected

Sets the vertex.

Parameters
vertexthe new vertex
void wblut.hemesh.HE_Halfedge.clear ( )
protected
void wblut.hemesh.HE_Halfedge.clearUVW ( )

Clear halfedge UVW.

int wblut.hemesh.HE_Halfedge.compareTo ( final HE_Halfedge  he)
Parameters
he
Returns
void wblut.hemesh.HE_Halfedge.copyProperties ( final HE_Halfedge  el)
Parameters
el
double wblut.hemesh.HE_Halfedge.getAngle ( )
Returns
double wblut.hemesh.HE_Halfedge.getCotan ( )
Returns
HE_Halfedge wblut.hemesh.HE_Halfedge.getEdge ( )

Get edge of halfedge.

Returns
edge
double wblut.hemesh.HE_Halfedge.getEdgeArea ( )

Get area of faces bounding edge.

Returns
area
WB_Coord wblut.hemesh.HE_Halfedge.getEdgeCenter ( )
Returns
WB_Coord wblut.hemesh.HE_Halfedge.getEdgeCenter ( final double  f)
Parameters
f
Returns
double wblut.hemesh.HE_Halfedge.getEdgeDihedralAngle ( )

Return angle between adjacent faces.

Returns
angle
WB_Coord wblut.hemesh.HE_Halfedge.getEdgeNormal ( )
Returns
WB_Coord wblut.hemesh.HE_Halfedge.getEdgeTangent ( )
Returns
HE_Vertex wblut.hemesh.HE_Halfedge.getEndVertex ( )

Get end vertex of halfedge.

Returns
vertex
HE_Face wblut.hemesh.HE_Halfedge.getFace ( )

Get face of halfedge.

Returns
face
double wblut.hemesh.HE_Halfedge.getHalfedgeArea ( )

Get area of faces bounding halfedge.

Returns
area
WB_Coord wblut.hemesh.HE_Halfedge.getHalfedgeCenter ( )

Get center of halfedge.

Returns
center
double wblut.hemesh.HE_Halfedge.getHalfedgeDihedralAngle ( )

Get angle between adjacent faces.

Returns
angle
WB_Coord wblut.hemesh.HE_Halfedge.getHalfedgeNormal ( )

Get halfedge normal.

Returns
in-face normal of face, points inwards
WB_Coord wblut.hemesh.HE_Halfedge.getHalfedgeTangent ( )

Get tangent WB_Vector of halfedge.

Returns
tangent
WB_Classification wblut.hemesh.HE_Halfedge.getHalfedgeType ( )

Get type of face vertex associated with halfedge.

Returns
HE.FLAT, HE.CONVEX, HE.CONCAVE
HE_TextureCoordinate wblut.hemesh.HE_Halfedge.getHalfedgeUVW ( )

Get texture coordinate belonging to this halfedge . If no halfedge UVW exists, zero coordinates are returned.

Returns
double wblut.hemesh.HE_Halfedge.getLength ( )
Returns
HE_Halfedge wblut.hemesh.HE_Halfedge.getNextInFace ( )

Get next halfedge in face.

Returns
next halfedge
HE_Halfedge wblut.hemesh.HE_Halfedge.getNextInFace ( final int  n)

Get n'th next halfedge in face.

Returns
next halfedge
HE_Halfedge wblut.hemesh.HE_Halfedge.getNextInVertex ( )

Get next halfedge in vertex.

Returns
next halfedge
HE_Halfedge wblut.hemesh.HE_Halfedge.getNextInVertex ( final int  n)

Get n'th next halfedge in vertex.

Returns
HE_Halfedge wblut.hemesh.HE_Halfedge.getPair ( )

Get paired halfedge.

Returns
paired halfedge
HE_Halfedge wblut.hemesh.HE_Halfedge.getPrevInFace ( )

Get previous halfedge in face.

Returns
previous halfedge
HE_Halfedge wblut.hemesh.HE_Halfedge.getPrevInFace ( final int  n)

Get n'th previous halfedge in face.

Returns
HE_Halfedge wblut.hemesh.HE_Halfedge.getPrevInVertex ( )

Get previous halfedge in vertex.

Returns
HE_Halfedge wblut.hemesh.HE_Halfedge.getPrevInVertex ( final int  n)

Get n'th previous halfedge in vertex.

Returns
double wblut.hemesh.HE_Halfedge.getSqLength ( )
Returns
HE_Vertex wblut.hemesh.HE_Halfedge.getStartVertex ( )
Returns
HE_TextureCoordinate wblut.hemesh.HE_Halfedge.getUVW ( )

Get texture coordinate belonging to the halfedge vertex in this face. If no halfedge UVW exists, returns the vertex UVW. If neither exist, zero coordinates are returned.

Returns
HE_Vertex wblut.hemesh.HE_Halfedge.getVertex ( )

Get vertex of halfedge.

Returns
vertex
HE_TextureCoordinate wblut.hemesh.HE_Halfedge.getVertexUVW ( )

Get texture coordinate belonging to the halfedge vertex. If no vertex UVW exists, zero coordinates are returned.

Returns
boolean wblut.hemesh.HE_Halfedge.hasHalfedgeUVW ( )

Check if this halfedge has texture coordinates.

Returns
int wblut.hemesh.HE_Halfedge.hashCode ( )
boolean wblut.hemesh.HE_Halfedge.hasUVW ( )

Check if the halfedge vertex has a UVW for this face, either a halfedge UVW or a vertex UVW.

Returns
boolean wblut.hemesh.HE_Halfedge.hasVertexUVW ( )

Check if the halfedge vertex has a vertex UVW.

Returns
boolean wblut.hemesh.HE_Halfedge.isBoundary ( )
Returns
Deprecated:
Use isInnerBoundary() instead
boolean wblut.hemesh.HE_Halfedge.isEdge ( )

A halfedge is considered an edge if it has a paired halfedge and one of these conditions is met:

a) both the halfedge and its pair have no face, and the halfedge key is lower b) the halfedge has a face and its pair has no face c) both the halfedge and its pair have a face, and the halfedge key is lower.

Returns
boolean wblut.hemesh.HE_Halfedge.isInnerBoundary ( )
Returns
boolean wblut.hemesh.HE_Halfedge.isOuterBoundary ( )
Returns
long wblut.hemesh.HE_Halfedge.key ( )

Get key.

Returns
key
void wblut.hemesh.HE_Halfedge.setUVW ( final double  u,
final double  v,
final double  w 
)

Set halfedge UVW.

Parameters
u
v
w
void wblut.hemesh.HE_Halfedge.setUVW ( final WB_Coord  uvw)

Set halfedge UVW.

Parameters
uvwWB_Coord
void wblut.hemesh.HE_Halfedge.setUVW ( final HE_TextureCoordinate  uvw)

Set halfedge UVW.

Parameters
uvwHE_TextureCoordinate
String wblut.hemesh.HE_Halfedge.toString ( )

Member Data Documentation

HE_Face wblut.hemesh.HE_Halfedge._face
private

Associated face.

HE_Halfedge wblut.hemesh.HE_Halfedge._next
private

Next halfedge in face.

HE_Halfedge wblut.hemesh.HE_Halfedge._pair
private

Halfedge pair.

HE_Halfedge wblut.hemesh.HE_Halfedge._prev
private

Previous halfedge in face.

HE_Vertex wblut.hemesh.HE_Halfedge._vertex
private

Start vertex of halfedge.

HE_TextureCoordinate wblut.hemesh.HE_Halfedge.uvw
private

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