us.ihmc.utilities.math.geometry
Class Sphere3d

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

public class Sphere3d
extends java.lang.Object
implements Shape3d


Field Summary
 javax.vecmath.Vector3d temporaryVector
           
 
Constructor Summary
Sphere3d()
           
Sphere3d(double radius)
           
Sphere3d(javax.vecmath.Point3d center, double radius)
           
Sphere3d(Sphere3d sphere3d)
           
 
Method Summary
 void applyTransform(javax.media.j3d.Transform3D transform3D)
          Apply the given transform to translate and rotate this shape.
 Sphere3d applyTransformCopy(javax.media.j3d.Transform3D transformation)
          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.
 void getCenter(javax.vecmath.Point3d centerToPack)
           
 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 getRadius()
           
 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 pointToCheck, double epsilon)
          Determine whether the given point is on or inside the surface of this shape, within a given tolerance or error level.
 void orthogonalProjection(javax.vecmath.Point3d point)
          Find the closest point on the surface of this shape to the given point.
 javax.vecmath.Point3d orthogonalProjectionCopy(javax.vecmath.Point3d point)
          Find the closest point on the surface of this shape to the given point.
 void set(Sphere3d sphere3d)
           
 void setRadius(double radius)
           
 java.lang.String toString()
           
 
Methods inherited from class java.lang.Object
equals, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Field Detail

temporaryVector

public final javax.vecmath.Vector3d temporaryVector
Constructor Detail

Sphere3d

public Sphere3d()

Sphere3d

public Sphere3d(double radius)

Sphere3d

public Sphere3d(javax.vecmath.Point3d center,
                double radius)

Sphere3d

public Sphere3d(Sphere3d sphere3d)
Method Detail

getRadius

public double getRadius()

setRadius

public void setRadius(double radius)

getCenter

public void getCenter(javax.vecmath.Point3d centerToPack)

getCenterCopy

public javax.vecmath.Point3d getCenterCopy()

set

public void set(Sphere3d sphere3d)

applyTransform

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

Specified by:
applyTransform in interface Shape3d

applyTransformCopy

public Sphere3d applyTransformCopy(javax.media.j3d.Transform3D transformation)
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:

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 pointToCheck,
                                   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:

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:

orthogonalProjection

public void orthogonalProjection(javax.vecmath.Point3d point)
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:
point - 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 point)
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

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

toString

public java.lang.String toString()
Overrides:
toString in class java.lang.Object