HE_Mesh
6.0.1
|
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 () |
![]() | |
abstract void | clear () |
![]() | |
final void | setInternalLabel (final int label) |
abstract void | clear () |
abstract void | clearPrecomputed () |
Private Attributes | |
HE_Vertex | _vertex |
HE_Halfedge | _pair |
HE_Halfedge | _next |
HE_Halfedge | _prev |
HE_Face | _face |
HE_TextureCoordinate | uvw |
Additional Inherited Members | |
![]() | |
volatile boolean | visited |
boolean | visible |
int | color |
![]() | |
final long | key |
int | internalLabel |
int | userLabel |
![]() | |
static final WB_GeometryFactory | gf = new WB_GeometryFactory() |
static final WB_ProgressTracker | tracker = WB_ProgressTracker.instance() |
![]() | |
static AtomicLong | currentKey = new AtomicLong(0) |
Half-edge element of half-edge data structure.
wblut.hemesh.HE_Halfedge.HE_Halfedge | ( | ) |
Instantiates a new HE_Halfedge.
|
protected |
Clear face.
|
protected |
Clear next.
|
protected |
Clear pair.
|
protected |
Clear prev.
|
protected |
Clear vertex.
|
protected |
Sets the face.
face | the new face |
|
protected |
Set next halfedge in face.
he | next halfedge |
|
protected |
Pair halfedges.
he | halfedge to pair |
|
protected |
Sets previous halfedge in face, only to be called by setNext.
he | next halfedge |
|
protected |
Sets vertex.
vertex | vertex |
|
protected |
void wblut.hemesh.HE_Halfedge.clearPrecomputed | ( | ) |
void wblut.hemesh.HE_Halfedge.clearUVW | ( | ) |
Clear halfedge UVW.
int wblut.hemesh.HE_Halfedge.compareTo | ( | final HE_Halfedge | he | ) |
he |
References wblut.hemesh.HE_Vertex.compareTo(), wblut.hemesh.HE_Halfedge.getVertex(), and wblut.hemesh.HE_Halfedge.key().
void wblut.hemesh.HE_Halfedge.copyProperties | ( | final HE_Halfedge | el | ) |
el |
References wblut.hemesh.HE_Halfedge.getUVW().
double wblut.hemesh.HE_Halfedge.getAngle | ( | ) |
double wblut.hemesh.HE_Halfedge.getCotan | ( | ) |
Computes cotangent of the angle opposite this halfedge. Triangles only
References wblut.hemesh.HET_MeshOp.getCotan().
HE_Halfedge wblut.hemesh.HE_Halfedge.getEdge | ( | ) |
Get edge of halfedge.
References wblut.hemesh.HE_Halfedge._pair, and wblut.hemesh.HE_Halfedge.isEdge().
double wblut.hemesh.HE_Halfedge.getEdgeArea | ( | ) |
Get area of faces bounding edge.
References wblut.hemesh.HE_Halfedge._face, wblut.hemesh.HE_Halfedge._pair, wblut.hemesh.HE_Face.getFaceArea(), and wblut.hemesh.HE_Halfedge.isEdge().
WB_Coord wblut.hemesh.HE_Halfedge.getEdgeCenter | ( | ) |
WB_Coord wblut.hemesh.HE_Halfedge.getEdgeCenter | ( | final double | f | ) |
double wblut.hemesh.HE_Halfedge.getEdgeCosDihedralAngle | ( | ) |
double wblut.hemesh.HE_Halfedge.getEdgeDihedralAngle | ( | ) |
Return angle between adjacent faces.
References wblut.hemesh.HE_Halfedge._face, wblut.hemesh.HE_Halfedge._pair, wblut.geom.WB_GeometryOp3D.getDihedralAngleNorm(), wblut.hemesh.HE_Face.getFaceNormal(), and wblut.hemesh.HE_Halfedge.isEdge().
WB_Coord wblut.hemesh.HE_Halfedge.getEdgeNormal | ( | ) |
WB_Coord wblut.hemesh.HE_Halfedge.getEdgeTangent | ( | ) |
References wblut.hemesh.HE_Halfedge.getHalfedgeTangent(), wblut.hemesh.HE_Halfedge.isEdge(), and wblut.geom.WB_Vector.mul().
WB_Point wblut.hemesh.HE_Halfedge.getEndPosition | ( | ) |
Get end position of halfedge.
References wblut.hemesh.HE_Halfedge._vertex, and wblut.hemesh.HE_Vertex.getPosition().
HE_Vertex wblut.hemesh.HE_Halfedge.getEndVertex | ( | ) |
HE_Face wblut.hemesh.HE_Halfedge.getFace | ( | ) |
double wblut.hemesh.HE_Halfedge.getHalfedgeArea | ( | ) |
WB_Coord wblut.hemesh.HE_Halfedge.getHalfedgeCenter | ( | ) |
Get center of halfedge.
References wblut.hemesh.HE_Halfedge._vertex, wblut.geom.WB_GeometryFactory3D.createMidpoint(), wblut.hemesh.HE_Halfedge.getVertex(), and wblut.hemesh.HE_MeshElement.gf.
WB_Coord wblut.hemesh.HE_Halfedge.getHalfedgeCenter | ( | final double | f | ) |
Get offset center of halfedge.
f |
References wblut.hemesh.HE_Halfedge._vertex, wblut.geom.WB_GeometryFactory3D.createMidpoint(), wblut.hemesh.HE_Halfedge.getHalfedgeNormal(), wblut.hemesh.HE_Halfedge.getVertex(), and wblut.hemesh.HE_MeshElement.gf.
double wblut.hemesh.HE_Halfedge.getHalfedgeDihedralAngle | ( | ) |
Get angle between adjacent faces.
References wblut.geom.WB_Vector.cross(), wblut.geom.WB_Vector.dot(), wblut.hemesh.HE_Halfedge.getFace(), wblut.hemesh.HE_Face.getFaceNormal(), wblut.hemesh.HE_Halfedge.getHalfedgeTangent(), wblut.hemesh.HE_Halfedge.getPair(), wblut.hemesh.HE_Halfedge.isInnerBoundary(), and wblut.hemesh.HE_Halfedge.isOuterBoundary().
WB_Coord wblut.hemesh.HE_Halfedge.getHalfedgeNormal | ( | ) |
Get halfedge normal.
References wblut.geom.WB_Vector.cross(), wblut.hemesh.HE_Halfedge.getFace(), wblut.hemesh.HE_Face.getFaceNormal(), wblut.hemesh.HE_Halfedge.getNextInFace(), wblut.hemesh.HE_Halfedge.getPair(), wblut.hemesh.HE_Halfedge.getVertex(), wblut.geom.WB_Vector.normalizeSelf(), wblut.geom.WB_MutableCoordinate.set(), and wblut.geom.WB_Vector.subSelf().
WB_Coord wblut.hemesh.HE_Halfedge.getHalfedgeTangent | ( | ) |
Get tangent WB_Vector of halfedge.
References wblut.hemesh.HE_Halfedge._vertex, wblut.hemesh.HE_Halfedge.getVertex(), wblut.geom.WB_Vector.normalizeSelf(), and wblut.geom.WB_Vector.subToVector3D().
WB_Classification wblut.hemesh.HE_Halfedge.getHalfedgeType | ( | ) |
Get type of face vertex associated with halfedge.
References wblut.hemesh.HE_Halfedge._face, wblut.geom.WB_Classification.CONCAVE, wblut.geom.WB_Classification.CONVEX, wblut.geom.WB_Vector.cross(), wblut.geom.WB_Vector.dot(), wblut.math.WB_Epsilon.EPSILON, wblut.geom.WB_Classification.FLAT, wblut.hemesh.HE_Face.getFaceNormal(), wblut.hemesh.HE_Halfedge.getNextInFace(), wblut.hemesh.HE_Halfedge.getPrevInFace(), wblut.geom.WB_Vector.isParallel(), wblut.geom.WB_Vector.mul(), wblut.geom.WB_Vector.normalizeSelf(), and wblut.geom.WB_Vector.subToVector3D().
HE_TextureCoordinate wblut.hemesh.HE_Halfedge.getHalfedgeUVW | ( | ) |
Get texture coordinate belonging to this halfedge . If no halfedge UVW exists, zero coordinates are returned.
References wblut.hemesh.HE_Halfedge.uvw, and wblut.hemesh.HE_TextureCoordinate.ZERO.
WB_Coord wblut.hemesh.HE_Halfedge.getHalfedgeVector | ( | ) |
double wblut.hemesh.HE_Halfedge.getLength | ( | ) |
HE_Halfedge wblut.hemesh.HE_Halfedge.getNextInFace | ( | ) |
HE_Halfedge wblut.hemesh.HE_Halfedge.getNextInFace | ( | final int | n | ) |
Get n'th next halfedge in face.
References wblut.hemesh.HE_Halfedge.getNextInFace().
HE_Halfedge wblut.hemesh.HE_Halfedge.getNextInVertex | ( | ) |
Get next halfedge in vertex.
References wblut.hemesh.HE_Halfedge.getNextInFace().
HE_Halfedge wblut.hemesh.HE_Halfedge.getNextInVertex | ( | final int | n | ) |
HE_Halfedge wblut.hemesh.HE_Halfedge.getPair | ( | ) |
WB_Point wblut.hemesh.HE_Halfedge.getPosition | ( | ) |
References wblut.hemesh.HE_Vertex.getPosition().
HE_Halfedge wblut.hemesh.HE_Halfedge.getPrevInFace | ( | ) |
HE_Halfedge wblut.hemesh.HE_Halfedge.getPrevInFace | ( | final int | n | ) |
HE_Halfedge wblut.hemesh.HE_Halfedge.getPrevInVertex | ( | ) |
Get previous halfedge in vertex.
References wblut.hemesh.HE_Halfedge.getPair(), and wblut.hemesh.HE_Halfedge.getPrevInFace().
HE_Halfedge wblut.hemesh.HE_Halfedge.getPrevInVertex | ( | final int | n | ) |
Get n'th previous halfedge in vertex.
References wblut.hemesh.HE_Halfedge.getPrevInVertex().
double wblut.hemesh.HE_Halfedge.getSqLength | ( | ) |
WB_Point wblut.hemesh.HE_Halfedge.getStartPosition | ( | ) |
References wblut.hemesh.HE_Vertex.getPosition().
HE_Vertex wblut.hemesh.HE_Halfedge.getStartVertex | ( | ) |
References wblut.hemesh.HE_Halfedge._vertex.
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.
References wblut.hemesh.HE_Vertex.getVertexUVW(), wblut.hemesh.HE_Halfedge.uvw, and wblut.hemesh.HE_TextureCoordinate.ZERO.
HE_Vertex wblut.hemesh.HE_Halfedge.getVertex | ( | ) |
HE_TextureCoordinate wblut.hemesh.HE_Halfedge.getVertexUVW | ( | ) |
Get texture coordinate belonging to the halfedge vertex. If no vertex UVW exists, zero coordinates are returned.
References wblut.hemesh.HE_Vertex.getVertexUVW(), and wblut.hemesh.HE_TextureCoordinate.ZERO.
boolean wblut.hemesh.HE_Halfedge.hasHalfedgeUVW | ( | ) |
Check if this halfedge has texture coordinates.
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.
References wblut.hemesh.HE_Vertex.hasVertexUVW().
boolean wblut.hemesh.HE_Halfedge.hasVertexUVW | ( | ) |
Check if the halfedge vertex has a vertex UVW.
References wblut.hemesh.HE_Vertex.hasVertexUVW().
boolean wblut.hemesh.HE_Halfedge.isBoundary | ( | ) |
References wblut.hemesh.HE_Halfedge.isInnerBoundary().
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.
References wblut.hemesh.HE_Halfedge._face, and wblut.hemesh.HE_Halfedge.key().
boolean wblut.hemesh.HE_Halfedge.isInnerBoundary | ( | ) |
References wblut.hemesh.HE_Halfedge._face.
boolean wblut.hemesh.HE_Halfedge.isOuterBoundary | ( | ) |
long wblut.hemesh.HE_Halfedge.key | ( | ) |
Get key.
void wblut.hemesh.HE_Halfedge.setUVW | ( | final double | u, |
final double | v, | ||
final double | w | ||
) |
Set halfedge UVW.
u | |
v | |
w |
void wblut.hemesh.HE_Halfedge.setUVW | ( | final WB_Coord | uvw | ) |
Set halfedge UVW.
uvw | WB_Coord |
void wblut.hemesh.HE_Halfedge.setUVW | ( | final HE_TextureCoordinate | uvw | ) |
Set halfedge UVW.
uvw | HE_TextureCoordinate |
String wblut.hemesh.HE_Halfedge.toString | ( | ) |
|
private |
Associated face.
|
private |
Next halfedge in face.
|
private |
Halfedge pair.
|
private |
Previous halfedge in face.
|
private |
Start vertex of halfedge.
|
private |
Associated edge.