maspack.spatialmotion.projections
Class EllipticBoundary

java.lang.Object
  extended by maspack.spatialmotion.projections.EllipticBoundary
All Implemented Interfaces:
BoundaryCurve2D

public class EllipticBoundary
extends java.lang.Object
implements BoundaryCurve2D


Nested Class Summary
 
Nested classes/interfaces inherited from interface maspack.spatialmotion.projections.BoundaryCurve2D
BoundaryCurve2D.CurveType
 
Constructor Summary
EllipticBoundary()
           
EllipticBoundary(VectorNd params)
           
 
Method Summary
 double getLength()
           
 int getNumParams()
           
 VectorNd getParameters()
           
 Point2d getPoint(double t)
           
 void getPoint(double t, double[] out)
           
static void getPoint(double t, double a, double b, double[] out)
           
 void getTangent(double t, double[] out)
           
 double getTVar(double X, double Y)
           
 BoundaryCurve2D.CurveType getType()
           
 boolean isWithin(double X, double Y)
           
static boolean isWithin(double X, double Y, double a, double b)
           
static int projectPerp(double[] in, double a, double b, int quadrant, double[] out)
           
 void projectToBoundary(double[] in, double[] out)
           
 boolean projectWithin(double[] in, double[] out)
          If in[] is outside curve, projects to boundary
 void setParameters(VectorNd params)
           
 
Methods inherited from class java.lang.Object
equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

EllipticBoundary

public EllipticBoundary(VectorNd params)

EllipticBoundary

public EllipticBoundary()
Method Detail

isWithin

public static boolean isWithin(double X,
                               double Y,
                               double a,
                               double b)

isWithin

public boolean isWithin(double X,
                        double Y)
Specified by:
isWithin in interface BoundaryCurve2D

getLength

public double getLength()
Specified by:
getLength in interface BoundaryCurve2D

getPoint

public Point2d getPoint(double t)
Specified by:
getPoint in interface BoundaryCurve2D

getTVar

public double getTVar(double X,
                      double Y)
Specified by:
getTVar in interface BoundaryCurve2D

getPoint

public static void getPoint(double t,
                            double a,
                            double b,
                            double[] out)

getPoint

public void getPoint(double t,
                     double[] out)
Specified by:
getPoint in interface BoundaryCurve2D

getTangent

public void getTangent(double t,
                       double[] out)
Specified by:
getTangent in interface BoundaryCurve2D

setParameters

public void setParameters(VectorNd params)
Specified by:
setParameters in interface BoundaryCurve2D

getParameters

public VectorNd getParameters()
Specified by:
getParameters in interface BoundaryCurve2D

getNumParams

public int getNumParams()
Specified by:
getNumParams in interface BoundaryCurve2D

getType

public BoundaryCurve2D.CurveType getType()
Specified by:
getType in interface BoundaryCurve2D

projectWithin

public boolean projectWithin(double[] in,
                             double[] out)
If in[] is outside curve, projects to boundary

Specified by:
projectWithin in interface BoundaryCurve2D

projectPerp

public static int projectPerp(double[] in,
                              double a,
                              double b,
                              int quadrant,
                              double[] out)

projectToBoundary

public void projectToBoundary(double[] in,
                              double[] out)
Specified by:
projectToBoundary in interface BoundaryCurve2D