us.ihmc.utilities.math.geometry
Class Ellipsoid3d

java.lang.Object
  extended by us.ihmc.utilities.math.geometry.Ellipsoid3d
All Implemented Interfaces:
Shape3d

public class Ellipsoid3d
extends java.lang.Object
implements Shape3d


Constructor Summary
Ellipsoid3d(double xRadius, double yRadius, double zRadius)
           
Ellipsoid3d(double xRadius, double yRadius, double zRadius, javax.media.j3d.Transform3D transform)
           
Ellipsoid3d(Ellipsoid3d ellipsoid)
           
 
Method Summary
 void applyTransform(javax.media.j3d.Transform3D transform)
          Apply the given transform to translate and rotate this shape.
 Ellipsoid3d applyTransformCopy(javax.media.j3d.Transform3D transform)
          Create a copy of this shape, then apply the given transform to translate and rotate the copy.
 double distance(javax.vecmath.Point3d point)
          Find the distance from the closest point on this shape to the given point.
 javax.vecmath.Point3d getCenterCopy()
           
 void getClosestPointAndNormalAt(javax.vecmath.Point3d closestPointToPack, javax.vecmath.Vector3d normalToPack, javax.vecmath.Point3d pointInWorldToCheck)
          Find the closest point on the surface of this shape to the given point as well as the surface normal at that point.
 double getXRadius()
           
 double getYRadius()
           
 double getZRadius()
           
 boolean isInsideOrOnSurface(javax.vecmath.Point3d pointToCheck)
          Determine whether the given point is on or inside the surface of this shape.
 boolean isInsideOrOnSurface(javax.vecmath.Point3d point, double epsilon)
          Determine whether the given point is on or inside the surface of this shape, within a given tolerance or error level.
 boolean isPointNearSurface(javax.vecmath.Point3d point)
           
 boolean isPointNearSurface(javax.vecmath.Point3d point, double epsilon)
           
 void orthogonalProjection(javax.vecmath.Point3d pointToCheckAndPack)
          Find the closest point on the surface of this shape to the given point.
 javax.vecmath.Point3d orthogonalProjectionCopy(javax.vecmath.Point3d pointToCheck)
          Find the closest point on the surface of this shape to the given point.
 void setTransform(javax.media.j3d.Transform3D newTransform)
           
 void setXRadius(double xRadius)
           
 void setYRadius(double yRadius)
           
 void setZRadius(double zRadius)
           
 
Methods inherited from class java.lang.Object
equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

Ellipsoid3d

public Ellipsoid3d(double xRadius,
                   double yRadius,
                   double zRadius)

Ellipsoid3d

public Ellipsoid3d(double xRadius,
                   double yRadius,
                   double zRadius,
                   javax.media.j3d.Transform3D transform)

Ellipsoid3d

public Ellipsoid3d(Ellipsoid3d ellipsoid)
Method Detail

getCenterCopy

public javax.vecmath.Point3d getCenterCopy()

getXRadius

public double getXRadius()

setXRadius

public void setXRadius(double xRadius)

getYRadius

public double getYRadius()

setYRadius

public void setYRadius(double yRadius)

getZRadius

public double getZRadius()

setZRadius

public void setZRadius(double zRadius)

setTransform

public void setTransform(javax.media.j3d.Transform3D newTransform)

applyTransform

public void applyTransform(javax.media.j3d.Transform3D transform)
Description copied from interface: Shape3d
Apply the given transform to translate and rotate this shape.

Specified by:
applyTransform in interface Shape3d

applyTransformCopy

public Ellipsoid3d applyTransformCopy(javax.media.j3d.Transform3D transform)
Description copied from interface: Shape3d
Create a copy of this shape, then apply the given transform to translate and rotate the copy.

Specified by:
applyTransformCopy in interface Shape3d
Returns:

distance

public double distance(javax.vecmath.Point3d point)
Description copied from interface: Shape3d
Find the distance from the closest point on this shape to the given point.

Specified by:
distance in interface Shape3d
Returns:

getClosestPointAndNormalAt

public void getClosestPointAndNormalAt(javax.vecmath.Point3d closestPointToPack,
                                       javax.vecmath.Vector3d normalToPack,
                                       javax.vecmath.Point3d pointInWorldToCheck)
Description copied from interface: Shape3d
Find the closest point on the surface of this shape to the given point as well as the surface normal at that point.

Specified by:
getClosestPointAndNormalAt in interface Shape3d
Parameters:
closestPointToPack - out parameter packed with the resulting closest point on the shape
normalToPack - out parameter packed with the resulting normal vector

isInsideOrOnSurface

public boolean isInsideOrOnSurface(javax.vecmath.Point3d pointToCheck)
Description copied from interface: Shape3d
Determine whether the given point is on or inside the surface of this shape.

Specified by:
isInsideOrOnSurface in interface Shape3d
Returns:

isInsideOrOnSurface

public boolean isInsideOrOnSurface(javax.vecmath.Point3d point,
                                   double epsilon)
Description copied from interface: Shape3d
Determine whether the given point is on or inside the surface of this shape, within a given tolerance or error level.

Specified by:
isInsideOrOnSurface in interface Shape3d
Returns:

isPointNearSurface

public boolean isPointNearSurface(javax.vecmath.Point3d point)

isPointNearSurface

public boolean isPointNearSurface(javax.vecmath.Point3d point,
                                  double epsilon)

orthogonalProjection

public void orthogonalProjection(javax.vecmath.Point3d pointToCheckAndPack)
Description copied from interface: Shape3d
Find the closest point on the surface of this shape to the given point. If the given point is on or inside the shape, then it is not changed.

Specified by:
orthogonalProjection in interface Shape3d
Parameters:
pointToCheckAndPack - both an input parameter (the point to check), and an output parameter (packed with the resulting ortho point).

orthogonalProjectionCopy

public javax.vecmath.Point3d orthogonalProjectionCopy(javax.vecmath.Point3d pointToCheck)
Description copied from interface: Shape3d
Find the closest point on the surface of this shape to the given point. If the given point is on or inside the shape, then it returned unchanged.

Specified by:
orthogonalProjectionCopy in interface Shape3d
Returns:
a new point on surface of the shape