public class IntersectionPoint extends Point3d
Modifier and Type | Field and Description |
---|---|
IntersectionContour |
contour |
HalfEdge |
edge |
Face |
face |
int |
intersectionCode |
NEGATIVE_INFINITY, POSITIVE_INFINITY, ZERO
NEG_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, transform
absolute, absolute, add, add, add, addObj, angle, angleWeightedCross, angleWeightedCrossAdd, combine, cross, cross, crossAdd, distance, distanceSquared, dot, epsilonEquals, equals, 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, write
containsNaN, 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, writeToFile
equals, getClass, hashCode, notify, notifyAll, wait, wait, wait
getThreeVectorValue
isWritable, scan, write
public 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
.null
public 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
.null
public Vertex3d getSegmentVertex()
null
.null
public 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)