public class IntersectionPoint extends Point3d
| Modifier and Type | Field and Description |
|---|---|
IntersectionContour |
contour |
HalfEdge |
edge |
Face |
face |
int |
intersectionCode |
NEGATIVE_INFINITY, POSITIVE_INFINITY, ZERONEG_X_UNIT, NEG_Y_UNIT, NEG_Z_UNIT, ONES, x, X_UNIT, y, Y_UNIT, z, Z_UNIT| Constructor and Description |
|---|
IntersectionPoint() |
| Modifier and Type | Method and Description |
|---|---|
void |
clearEmptyMarks() |
IntersectionPoint |
clone() |
boolean |
equals(IntersectionPoint mip,
java.lang.StringBuilder msg) |
Face |
findSegmentFace(PolygonalMesh mesh) |
HalfEdge |
getCommonEdge(IntersectionPoint p1)
If this point and the specified intersection point
p1
are degenerate such that they both lie on a common triangle edge,
return that edge. |
int |
getDegeneracies()
Returns flags describing the degeneracies, if any,
for intersection associated with this point.
|
Face |
getEffectiveFace(int meshNum) |
int |
getEmptyMark(int meshNum) |
HalfEdge |
getNearEdge(int meshNum) |
PolygonalMesh |
getOtherMesh(PolygonalMesh mesh) |
Vertex3d |
getSegmentVertex()
If this intersection is degenerate and associated with one of the
segment vertices (but not both), return that vertex.
|
HalfEdge |
getTriangleEdge()
If this intersection is degenerate and associated with one of the
triangle edges (but not a vertex), return that edge.
|
Vertex3d |
getTriangleVertex()
If this intersection is degenerate and associated with one of the
triangle vertices, return that vertex.
|
boolean |
headInsideFace()
Queries whether the edge head is inside the face, after accounting
for tie-breaking), for the intersection associated with this point.
|
boolean |
isCoincident() |
boolean |
matches(IntersectionPoint p) |
IntersectionPoint |
next() |
boolean |
onTriangleBorder() |
boolean |
onTriangleEdge(HalfEdge edge)
Queries whether this intersection point is degenerate such that
it lies on the specified triangle edge.
|
IntersectionPoint |
prev() |
void |
setEffectiveFace(int meshNum,
Face face) |
void |
setEmptyMark(int meshNum,
int mark) |
void |
setNearEdge(int meshNum,
HalfEdge edge) |
inverseTransform, inverseTransform, transform, transformabsolute, absolute, add, add, add, addObj, angle, angleWeightedCross, angleWeightedCrossAdd, combine, computeHashCode, cross, cross, crossAdd, distance, distanceSquared, dot, epsilonEquals, equals, get, get, get, get, get, get, greater, greaterEquals, hermiteInterpolate, hermiteVelocity, infinityNorm, interpolate, interpolate, inverseTransform, inverseTransform, main, max, maxAbsIndex, maxElement, min, minAbsIndex, minElement, mul, mulAdd, mulTranspose, mulTransposeAdd, negate, negate, norm, normalize, normalize, normSquared, oneNorm, perpendicular, scale, scale, scale, scaledAdd, scaledAdd, scaledAddObj, scaleObj, scan, set, set, set, set, set, set, set, set, setFromHomogeneous, setRandom, setRandom, setRandom, setZero, size, sort, sort, sortAbsolute, sub, sub, transform, transform, triangleArea, updateBounds, writecontainsNaN, copy, copyAndAdd, copyAndNegate, copyAndScale, copyAndSub, copyAndSubLeft, dot, epsilonEquals, equals, get, getDefaultFormat, hasInf, hasNaN, isColumnVectorStringsVertical, isFixedSize, isRowVector, isWritable, scan, set, set, setColumnVectorStringsVertical, setDefaultFormat, setRowVector, setSize, toString, toString, toString, write, write, writeToFileequals, getClass, hashCode, notify, notifyAll, wait, wait, waitgetThreeVectorValueisWritable, scan, writepublic IntersectionContour contour
public Face face
public HalfEdge edge
public int intersectionCode
public boolean isCoincident()
public boolean matches(IntersectionPoint p)
public boolean headInsideFace()
true if the edge head is inside the facepublic int getDegeneracies()
public PolygonalMesh getOtherMesh(PolygonalMesh mesh)
public boolean onTriangleBorder()
public Vertex3d getTriangleVertex()
null.nullpublic boolean onTriangleEdge(HalfEdge edge)
edge - face edge which the point must lie on.true if the point lies on the edge.public HalfEdge getCommonEdge(IntersectionPoint p1)
p1
are degenerate such that they both lie on a common triangle edge,
return that edge. Otherwise, return null. If both points lie on
a vertex, this method will return null as well.p1 - point to query for common edgepublic HalfEdge getTriangleEdge()
null.nullpublic Vertex3d getSegmentVertex()
null.nullpublic IntersectionPoint next()
public IntersectionPoint prev()
public Face findSegmentFace(PolygonalMesh mesh)
public Face getEffectiveFace(int meshNum)
public void setEffectiveFace(int meshNum,
Face face)
public HalfEdge getNearEdge(int meshNum)
public void setNearEdge(int meshNum,
HalfEdge edge)
public int getEmptyMark(int meshNum)
public void setEmptyMark(int meshNum,
int mark)
public void clearEmptyMarks()
public IntersectionPoint clone()
public boolean equals(IntersectionPoint mip, java.lang.StringBuilder msg)