us.ihmc.utilities.math.geometry
Class FrameCylinder3d

java.lang.Object
  extended by us.ihmc.utilities.math.geometry.FrameCylinder3d
All Implemented Interfaces:
FrameShape3d, ReferenceFrameHolder

public class FrameCylinder3d
extends java.lang.Object
implements FrameShape3d


Constructor Summary
FrameCylinder3d(FrameCylinder3d other)
           
FrameCylinder3d(ReferenceFrame referenceFrame)
           
FrameCylinder3d(ReferenceFrame referenceFrame, Cylinder3d Cylinder3d)
           
FrameCylinder3d(ReferenceFrame referenceFrame, double height, double radius)
           
FrameCylinder3d(ReferenceFrame referenceFrame, javax.media.j3d.Transform3D configuration, double height, double radius)
           
 
Method Summary
 void applyTransform(javax.media.j3d.Transform3D transformation)
          Apply the given transform to translate and rotate this shape.
 FrameCylinder3d applyTransformCopy(javax.media.j3d.Transform3D transform3D)
          Create a copy of this shape, then apply the given transform to translate and rotate the copy.
 void changeFrame(ReferenceFrame desiredFrame)
           
 FrameCylinder3d changeFrameCopy(ReferenceFrame desiredFrame)
           
 void checkReferenceFrameMatch(ReferenceFrame frame)
           
 void checkReferenceFrameMatch(ReferenceFrameHolder referenceFrameHolder)
           
 double distance(FramePoint point)
          Find the distance from the closest point on this shape to the given point.
 void getClosestPointAndNormalAt(FramePoint intersectionToPack, FrameVector normalToPack, FramePoint pointToCheck)
          Find the closest point on the surface of this shape to the given point as well as the surface normal at that point.
 Cylinder3d getCylinder3d()
           
 double getHeight()
           
 double getRadius()
           
 ReferenceFrame getReferenceFrame()
           
 boolean isInsideOrOnSurface(FramePoint pointToTest)
          Determine whether the given point is on or inside the surface of this shape.
 boolean isInsideOrOnSurface(FramePoint pointToTest, 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 point)
          Find the closest point on the surface of this shape to the given point.
 FramePoint orthogonalProjectionCopy(FramePoint point)
          Find the closest point on the surface of this shape to the given point.
 void setAndChangeFrame(FrameCylinder3d other)
           
 java.lang.String toString()
           
 
Methods inherited from class java.lang.Object
equals, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Constructor Detail

FrameCylinder3d

public FrameCylinder3d(FrameCylinder3d other)

FrameCylinder3d

public FrameCylinder3d(ReferenceFrame referenceFrame)

FrameCylinder3d

public FrameCylinder3d(ReferenceFrame referenceFrame,
                       Cylinder3d Cylinder3d)

FrameCylinder3d

public FrameCylinder3d(ReferenceFrame referenceFrame,
                       javax.media.j3d.Transform3D configuration,
                       double height,
                       double radius)

FrameCylinder3d

public FrameCylinder3d(ReferenceFrame referenceFrame,
                       double height,
                       double radius)
Method Detail

getCylinder3d

public Cylinder3d getCylinder3d()

checkReferenceFrameMatch

public void checkReferenceFrameMatch(ReferenceFrameHolder referenceFrameHolder)
                              throws ReferenceFrameMismatchException
Specified by:
checkReferenceFrameMatch in interface ReferenceFrameHolder
Throws:
ReferenceFrameMismatchException

checkReferenceFrameMatch

public void checkReferenceFrameMatch(ReferenceFrame frame)
                              throws ReferenceFrameMismatchException
Specified by:
checkReferenceFrameMatch in interface ReferenceFrameHolder
Throws:
ReferenceFrameMismatchException

getReferenceFrame

public ReferenceFrame getReferenceFrame()
Specified by:
getReferenceFrame in interface ReferenceFrameHolder

changeFrameCopy

public FrameCylinder3d changeFrameCopy(ReferenceFrame desiredFrame)
Specified by:
changeFrameCopy in interface ReferenceFrameHolder

changeFrame

public void changeFrame(ReferenceFrame desiredFrame)

getRadius

public double getRadius()

getHeight

public double getHeight()

distance

public double distance(FramePoint point)
Description copied from interface: FrameShape3d
Find the distance from the closest point on this shape to the given point.

Specified by:
distance in interface FrameShape3d
Returns:

orthogonalProjectionCopy

public FramePoint orthogonalProjectionCopy(FramePoint point)
Description copied from interface: FrameShape3d
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 FrameShape3d
Returns:
a new point on surface of the shape

orthogonalProjection

public void orthogonalProjection(FramePoint point)
Description copied from interface: FrameShape3d
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 FrameShape3d
Parameters:
point - both an input parameter (the point to check), and an output parameter (packed with the resulting ortho point).

applyTransformCopy

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

Specified by:
applyTransformCopy in interface FrameShape3d
Returns:

applyTransform

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

Specified by:
applyTransform in interface FrameShape3d

isInsideOrOnSurface

public boolean isInsideOrOnSurface(FramePoint pointToTest)
Description copied from interface: FrameShape3d
Determine whether the given point is on or inside the surface of this shape.

Specified by:
isInsideOrOnSurface in interface FrameShape3d
Returns:

isInsideOrOnSurface

public boolean isInsideOrOnSurface(FramePoint pointToTest,
                                   double epsilon)
Description copied from interface: FrameShape3d
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 FrameShape3d
Returns:

getClosestPointAndNormalAt

public void getClosestPointAndNormalAt(FramePoint intersectionToPack,
                                       FrameVector normalToPack,
                                       FramePoint pointToCheck)
Description copied from interface: FrameShape3d
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 FrameShape3d
Parameters:
intersectionToPack - out parameter packed with the resulting closest point on the shape
normalToPack - out parameter packed with the resulting normal vector

setAndChangeFrame

public void setAndChangeFrame(FrameCylinder3d other)

toString

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