us.ihmc.utilities.math.geometry
Interface FrameShape3d

All Superinterfaces:
ReferenceFrameHolder
All Known Implementing Classes:
FrameBox3d, FrameCylinder3d, FrameEllipsoid3d, FrameRamp3d, FrameTorus3d

public interface FrameShape3d
extends ReferenceFrameHolder


Method Summary
 void applyTransform(javax.media.j3d.Transform3D transform)
          Apply the given transform to translate and rotate this shape.
 FrameShape3d 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(FramePoint point)
          Find the distance from the closest point on this shape to the given point.
 void getClosestPointAndNormalAt(FramePoint closestPointToPack, FrameVector normalToPack, FramePoint pointInWorldToCheck)
          Find the closest point on the surface of this shape to the given point as well as the surface normal at that point.
 boolean isInsideOrOnSurface(FramePoint pointToCheck)
          Determine whether the given point is on or inside the surface of this shape.
 boolean isInsideOrOnSurface(FramePoint 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(FramePoint pointToCheckAndPack)
          Find the closest point on the surface of this shape to the given point.
 FramePoint orthogonalProjectionCopy(FramePoint pointToCheck)
          Find the closest point on the surface of this shape to the given point.
 
Methods inherited from interface us.ihmc.utilities.math.geometry.ReferenceFrameHolder
changeFrameCopy, checkReferenceFrameMatch, checkReferenceFrameMatch, getReferenceFrame
 

Method Detail

applyTransform

void applyTransform(javax.media.j3d.Transform3D transform)
Apply the given transform to translate and rotate this shape.

Parameters:
transform -

applyTransformCopy

FrameShape3d applyTransformCopy(javax.media.j3d.Transform3D transform)
Create a copy of this shape, then apply the given transform to translate and rotate the copy.

Parameters:
transform -
Returns:

distance

double distance(FramePoint point)
Find the distance from the closest point on this shape to the given point.

Parameters:
point -
Returns:

getClosestPointAndNormalAt

void getClosestPointAndNormalAt(FramePoint closestPointToPack,
                                FrameVector normalToPack,
                                FramePoint pointInWorldToCheck)
Find the closest point on the surface of this shape to the given point as well as the surface normal at that point.

Parameters:
closestPointToPack - out parameter packed with the resulting closest point on the shape
normalToPack - out parameter packed with the resulting normal vector
pointInWorldToCheck -

isInsideOrOnSurface

boolean isInsideOrOnSurface(FramePoint pointToCheck)
Determine whether the given point is on or inside the surface of this shape.

Parameters:
pointToCheck -
Returns:

isInsideOrOnSurface

boolean isInsideOrOnSurface(FramePoint pointToCheck,
                            double epsilon)
Determine whether the given point is on or inside the surface of this shape, within a given tolerance or error level.

Parameters:
pointToCheck -
epsilon -
Returns:

orthogonalProjection

void orthogonalProjection(FramePoint pointToCheckAndPack)
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.

Parameters:
pointToCheckAndPack - both an input parameter (the point to check), and an output parameter (packed with the resulting ortho point).

orthogonalProjectionCopy

FramePoint orthogonalProjectionCopy(FramePoint pointToCheck)
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.

Parameters:
referencePoint -
Returns:
a new point on surface of the shape