public class ICPRegistration
extends java.lang.Object
Modifier and Type | Class and Description |
---|---|
static class |
ICPRegistration.Prealign |
Modifier and Type | Field and Description |
---|---|
static double |
myAdjustTime |
static double |
myDistanceTime |
static double |
myPCATime |
static boolean |
myProfiling |
Constructor and Description |
---|
ICPRegistration() |
Modifier and Type | Method and Description |
---|---|
void |
addAxisFlips(java.util.LinkedList<RotationMatrix3d> flips,
RotationMatrix3d R,
Vector3d axis,
int n) |
RotationMatrix3d[] |
computeFlips(Vector3d sig) |
double |
computeInertia(Matrix3d J,
Vector3d c,
PolygonalMesh mesh) |
static void |
computeOBBFromPCA(OBB obb,
MeshBase mesh)
Use PCA to determine the OBB for a mesh.
|
static double |
computePCA(Matrix3d J,
Vector3d c,
MeshBase mesh)
Based on "Non-rigid Transformations for Musculoskeletal Model", by Petr
Kellnhofer.
|
boolean |
isDualDistancingEnabled() |
void |
registerICP(AffineTransform3d X,
PolygonalMesh mesh1,
PolygonalMesh mesh2,
ICPRegistration.Prealign align,
int[] npar) |
void |
registerICP(AffineTransform3d X,
PolygonalMesh mesh1,
PolygonalMesh mesh2,
int... npar) |
void |
registerInertia(AffineTransform3d X,
PolygonalMesh mesh1,
PolygonalMesh mesh2) |
void |
registerPCA(AffineTransform3d X,
PolygonalMesh mesh1,
PolygonalMesh mesh2) |
void |
setDualDistancingEnabled(boolean enable) |
public static boolean myProfiling
public static double myDistanceTime
public static double myAdjustTime
public static double myPCATime
public boolean isDualDistancingEnabled()
public void setDualDistancingEnabled(boolean enable)
public static double computePCA(Matrix3d J, Vector3d c, MeshBase mesh)
public void registerPCA(AffineTransform3d X, PolygonalMesh mesh1, PolygonalMesh mesh2)
public void addAxisFlips(java.util.LinkedList<RotationMatrix3d> flips, RotationMatrix3d R, Vector3d axis, int n)
public RotationMatrix3d[] computeFlips(Vector3d sig)
public static void computeOBBFromPCA(OBB obb, MeshBase mesh)
public double computeInertia(Matrix3d J, Vector3d c, PolygonalMesh mesh)
public void registerInertia(AffineTransform3d X, PolygonalMesh mesh1, PolygonalMesh mesh2)
public void registerICP(AffineTransform3d X, PolygonalMesh mesh1, PolygonalMesh mesh2, int... npar)
public void registerICP(AffineTransform3d X, PolygonalMesh mesh1, PolygonalMesh mesh2, ICPRegistration.Prealign align, int[] npar)