maspack.geometry
Class NagataInterpolator
java.lang.Object
maspack.geometry.NagataInterpolator
public class NagataInterpolator
- extends java.lang.Object
Class that implements quadratic surface interpolation based on the paper
"Simple local interpolation of surfaces using normal vectors", by Takashi
Nagata.
Method Summary |
void |
checkMesh(PolygonalMesh mesh)
|
double |
distanceToCurve(Point3d nearest,
Vector2d svec,
Vector2d dir,
Point3d pos,
double posTol)
|
double |
distanceToEdge(Point3d nearest,
Point3d pos,
int edgeNum)
|
int |
findMinimumOnEdge(Vector2d svec,
Point3d pos,
int edgeNum)
|
void |
interpolateCurve(Point3d pos,
double xi,
Point3d pos0,
Vector2d svec,
Vector2d dir)
|
void |
interpolateNormal(Vector3d nrm,
double eta,
double zeta)
|
void |
interpolateVertex(Point3d pnt,
double eta,
double zeta)
|
double |
nearestPointOnCurve(Point3d x0,
Vector3d gv,
Vector3d cv,
Point3d pos,
double ximin,
double ximax)
|
int |
nearestPointOnFace(Point3d nearest,
Vector3d nrm,
Face face,
PolygonalMesh mesh,
Vector2d svec,
Point3d pos,
double posTol)
|
void |
nearestPointOnMesh(Point3d nearest,
Vector3d nrm,
PolygonalMesh mesh,
Point3d pos,
double posTol,
BVFeatureQuery query)
|
void |
setBoundsForCurve(double[] bounds,
Vector2d svec,
Vector2d dir)
|
void |
setFace(Face face,
Vector3d n0,
Vector3d n1,
Vector3d n2)
|
Methods inherited from class java.lang.Object |
equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
INSIDE
public static final int INSIDE
- See Also:
- Constant Field Values
VERTEX_1
public static final int VERTEX_1
- See Also:
- Constant Field Values
VERTEX_2
public static final int VERTEX_2
- See Also:
- Constant Field Values
VERTEX_3
public static final int VERTEX_3
- See Also:
- Constant Field Values
EDGE_1
public static final int EDGE_1
- See Also:
- Constant Field Values
EDGE_2
public static final int EDGE_2
- See Also:
- Constant Field Values
EDGE_3
public static final int EDGE_3
- See Also:
- Constant Field Values
NagataInterpolator
public NagataInterpolator()
checkMesh
public void checkMesh(PolygonalMesh mesh)
setFace
public void setFace(Face face,
Vector3d n0,
Vector3d n1,
Vector3d n2)
interpolateVertex
public void interpolateVertex(Point3d pnt,
double eta,
double zeta)
interpolateNormal
public void interpolateNormal(Vector3d nrm,
double eta,
double zeta)
setBoundsForCurve
public void setBoundsForCurve(double[] bounds,
Vector2d svec,
Vector2d dir)
interpolateCurve
public void interpolateCurve(Point3d pos,
double xi,
Point3d pos0,
Vector2d svec,
Vector2d dir)
distanceToEdge
public double distanceToEdge(Point3d nearest,
Point3d pos,
int edgeNum)
distanceToCurve
public double distanceToCurve(Point3d nearest,
Vector2d svec,
Vector2d dir,
Point3d pos,
double posTol)
nearestPointOnCurve
public double nearestPointOnCurve(Point3d x0,
Vector3d gv,
Vector3d cv,
Point3d pos,
double ximin,
double ximax)
findMinimumOnEdge
public int findMinimumOnEdge(Vector2d svec,
Point3d pos,
int edgeNum)
nearestPointOnFace
public int nearestPointOnFace(Point3d nearest,
Vector3d nrm,
Face face,
PolygonalMesh mesh,
Vector2d svec,
Point3d pos,
double posTol)
nearestPointOnMesh
public void nearestPointOnMesh(Point3d nearest,
Vector3d nrm,
PolygonalMesh mesh,
Point3d pos,
double posTol,
BVFeatureQuery query)