artisynth.core.mfreemodels
Class RadialWeightFunction

java.lang.Object
  extended by artisynth.core.mfreemodels.MFreeWeightFunction
      extended by artisynth.core.mfreemodels.RadialWeightFunction
All Implemented Interfaces:
DifferentiableFunction3x1, Function3x1, MISOFunction
Direct Known Subclasses:
CInfinityWeightFunction, ExponentialWeightFunction, SplineWeightFunction

public abstract class RadialWeightFunction
extends MFreeWeightFunction


Nested Class Summary
static class RadialWeightFunction.RadialWeightFunctionType
           
 
Field Summary
 Point3d center
           
 double myRadius
           
 
Constructor Summary
RadialWeightFunction()
           
 
Method Summary
abstract  RadialWeightFunction clone()
           
 void computeCentroid(Vector3d centroid)
           
 void computeIntersectionCentroid(Point3d centroid, MFreeWeightFunction fun)
           
 void computeIntersectionCentroid(Point3d centroid, RadialWeightFunction fun)
           
static RadialWeightFunction createWeightFunction(RadialWeightFunction.RadialWeightFunctionType type, Point3d c, double radius)
           
abstract  double eval(double r2)
           
 double eval(double[] in)
           
 double eval(double x, double y, double z)
           
 double eval(Point3d pnt)
           
 Point3d getCenter()
           
 int getInputSize()
           
 double getIntersectionVolume(MFreeWeightFunction fun)
           
 double getIntersectionVolume(RadialWeightFunction fun)
           
 double getRadius()
           
abstract  RadialWeightFunction.RadialWeightFunctionType getType()
           
 boolean intersects(MFreeWeightFunction fun)
           
 boolean intersects(RadialWeightFunction fun)
           
 boolean isInDomain(Point3d pos, double tol)
           
 void setCenter(Point3d c)
           
 void setRadius(double r)
           
 void updateBounds(Point3d min, Point3d max)
           
 
Methods inherited from class java.lang.Object
equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 
Methods inherited from interface maspack.function.DifferentiableFunction3x1
evalDerivative, evalDerivative
 

Field Detail

center

public Point3d center

myRadius

public double myRadius
Constructor Detail

RadialWeightFunction

public RadialWeightFunction()
Method Detail

eval

public abstract double eval(double r2)

clone

public abstract RadialWeightFunction clone()
Specified by:
clone in class MFreeWeightFunction

getType

public abstract RadialWeightFunction.RadialWeightFunctionType getType()

eval

public double eval(Point3d pnt)

setRadius

public void setRadius(double r)

getRadius

public double getRadius()

eval

public double eval(double x,
                   double y,
                   double z)

eval

public double eval(double[] in)

setCenter

public void setCenter(Point3d c)

getCenter

public Point3d getCenter()

getInputSize

public int getInputSize()

getIntersectionVolume

public double getIntersectionVolume(RadialWeightFunction fun)

getIntersectionVolume

public double getIntersectionVolume(MFreeWeightFunction fun)
Specified by:
getIntersectionVolume in class MFreeWeightFunction

computeIntersectionCentroid

public void computeIntersectionCentroid(Point3d centroid,
                                        RadialWeightFunction fun)

computeIntersectionCentroid

public void computeIntersectionCentroid(Point3d centroid,
                                        MFreeWeightFunction fun)
Specified by:
computeIntersectionCentroid in class MFreeWeightFunction

computeCentroid

public void computeCentroid(Vector3d centroid)
Specified by:
computeCentroid in class MFreeWeightFunction

updateBounds

public void updateBounds(Point3d min,
                         Point3d max)
Specified by:
updateBounds in class MFreeWeightFunction

intersects

public boolean intersects(RadialWeightFunction fun)

intersects

public boolean intersects(MFreeWeightFunction fun)
Specified by:
intersects in class MFreeWeightFunction

createWeightFunction

public static RadialWeightFunction createWeightFunction(RadialWeightFunction.RadialWeightFunctionType type,
                                                        Point3d c,
                                                        double radius)

isInDomain

public boolean isInDomain(Point3d pos,
                          double tol)
Specified by:
isInDomain in class MFreeWeightFunction