artisynth.core.mfreemodels
Class PointDistributor

java.lang.Object
  extended by artisynth.core.mfreemodels.PointDistributor

public class PointDistributor
extends java.lang.Object


Field Summary
static int DEFAULT_MAX_ITERS
           
static double DEFAULT_THRESHOLD
           
 
Constructor Summary
PointDistributor()
           
 
Method Summary
static java.lang.Integer[] discreteVoronoi(java.lang.Integer[] cells, Point3d[] controls, Point3d[] points)
           
static void farthestPointSampling(Point3d[] out, Point3d[] in)
           
static void farthestPointSampling(Point3d[] out, Point3d[] in, int offset)
           
static Point3d[] getFCC(double[] size, int[] res, Point3d centre)
           
static Point3d[] getGrid(double[] size, int[] res, Point3d centre)
           
static RigidTransform3d getPrincipalAxes(PolygonalMesh mesh)
           
static CubaturePoint3d[] getSphericalCapMidpointCubature(Point3d center, double radius, double height, int n)
           
static CubaturePoint3d[] getSphericalCapMidpointCubature(Point3d center, double radius, double height, int nR, int nTheta, int nH)
           
static CubaturePoint3d[] getSphericalCapMidpointCubature(Point3d center, double radius, double height, int nR, int nTheta, int nH, Vector3d axis)
           
static CubaturePoint3d[] getSphericalLensMidpointCubature(Point3d c1, double r1, Point3d c2, double r2, int n)
           
static CubaturePoint3d[] getSphericalLensMidpointCubature(Point3d c1, double r1, Point3d c2, double r2, int nR, int nTheta, int nH1, int nH2)
           
static CubaturePoint3d[] getSphericalMidpointCubature(Point3d center, double radius, int n)
           
static CubaturePoint3d[] getSphericalMidpointCubature(Point3d center, double radius, int nR, int nPhi, int nTheta)
           
static CubaturePoint3d[] getSphericalMidpointCubature(Point3d center, double radius, int nR, int nPhi, int nTheta, Vector3d axis)
           
static Point3d[] getTightBox(Point3d[] pnts, RigidTransform3d principal)
           
static Point3d[] getTightBox(PolygonalMesh mesh, RigidTransform3d principal)
           
static OBB getTightOBB(Point3d[] pnts, RigidTransform3d principal)
           
static OBB getTightOBB(PolygonalMesh mesh, RigidTransform3d principal)
           
static void lloydRelaxation(Point3d[] controls, Point3d[] points, double threshold, int iterMax)
           
static void lloydSample(Point3d[] out, Point3d[] in)
           
static void lloydSample(Point3d[] out, Point3d[] in, double eps, int maxIters)
           
static Point3d[] sphereFCCFill(PolygonalMesh mesh, double r)
           
static Point3d[] sphereGridFill(PolygonalMesh mesh, double r)
           
 
Methods inherited from class java.lang.Object
equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

DEFAULT_MAX_ITERS

public static int DEFAULT_MAX_ITERS

DEFAULT_THRESHOLD

public static double DEFAULT_THRESHOLD
Constructor Detail

PointDistributor

public PointDistributor()
Method Detail

getGrid

public static Point3d[] getGrid(double[] size,
                                int[] res,
                                Point3d centre)

getFCC

public static Point3d[] getFCC(double[] size,
                               int[] res,
                               Point3d centre)

sphereFCCFill

public static Point3d[] sphereFCCFill(PolygonalMesh mesh,
                                      double r)

sphereGridFill

public static Point3d[] sphereGridFill(PolygonalMesh mesh,
                                       double r)

getPrincipalAxes

public static RigidTransform3d getPrincipalAxes(PolygonalMesh mesh)

getTightBox

public static Point3d[] getTightBox(PolygonalMesh mesh,
                                    RigidTransform3d principal)

getTightOBB

public static OBB getTightOBB(PolygonalMesh mesh,
                              RigidTransform3d principal)

getTightBox

public static Point3d[] getTightBox(Point3d[] pnts,
                                    RigidTransform3d principal)

getTightOBB

public static OBB getTightOBB(Point3d[] pnts,
                              RigidTransform3d principal)

lloydSample

public static void lloydSample(Point3d[] out,
                               Point3d[] in)

lloydSample

public static void lloydSample(Point3d[] out,
                               Point3d[] in,
                               double eps,
                               int maxIters)

farthestPointSampling

public static void farthestPointSampling(Point3d[] out,
                                         Point3d[] in,
                                         int offset)

farthestPointSampling

public static void farthestPointSampling(Point3d[] out,
                                         Point3d[] in)

lloydRelaxation

public static void lloydRelaxation(Point3d[] controls,
                                   Point3d[] points,
                                   double threshold,
                                   int iterMax)

discreteVoronoi

public static java.lang.Integer[] discreteVoronoi(java.lang.Integer[] cells,
                                                  Point3d[] controls,
                                                  Point3d[] points)

getSphericalMidpointCubature

public static CubaturePoint3d[] getSphericalMidpointCubature(Point3d center,
                                                             double radius,
                                                             int nR,
                                                             int nPhi,
                                                             int nTheta,
                                                             Vector3d axis)

getSphericalMidpointCubature

public static CubaturePoint3d[] getSphericalMidpointCubature(Point3d center,
                                                             double radius,
                                                             int nR,
                                                             int nPhi,
                                                             int nTheta)

getSphericalMidpointCubature

public static CubaturePoint3d[] getSphericalMidpointCubature(Point3d center,
                                                             double radius,
                                                             int n)

getSphericalCapMidpointCubature

public static CubaturePoint3d[] getSphericalCapMidpointCubature(Point3d center,
                                                                double radius,
                                                                double height,
                                                                int nR,
                                                                int nTheta,
                                                                int nH,
                                                                Vector3d axis)

getSphericalCapMidpointCubature

public static CubaturePoint3d[] getSphericalCapMidpointCubature(Point3d center,
                                                                double radius,
                                                                double height,
                                                                int nR,
                                                                int nTheta,
                                                                int nH)

getSphericalCapMidpointCubature

public static CubaturePoint3d[] getSphericalCapMidpointCubature(Point3d center,
                                                                double radius,
                                                                double height,
                                                                int n)

getSphericalLensMidpointCubature

public static CubaturePoint3d[] getSphericalLensMidpointCubature(Point3d c1,
                                                                 double r1,
                                                                 Point3d c2,
                                                                 double r2,
                                                                 int nR,
                                                                 int nTheta,
                                                                 int nH1,
                                                                 int nH2)

getSphericalLensMidpointCubature

public static CubaturePoint3d[] getSphericalLensMidpointCubature(Point3d c1,
                                                                 double r1,
                                                                 Point3d c2,
                                                                 double r2,
                                                                 int n)