us.ihmc.utilities.math.geometry
Class FramePoint

java.lang.Object
  extended by us.ihmc.utilities.math.geometry.FramePoint
All Implemented Interfaces:
java.io.Serializable, ReferenceFrameHolder

public class FramePoint
extends java.lang.Object
implements ReferenceFrameHolder, java.io.Serializable

Title: FramePoint

Description: A FramePoint is a normal point associated with a specified reference frame

Copyright: Copyright (c) 2006

Company: IHMC

Version:
2.0
Author:
Learning Locomotion Team
See Also:
Serialized Form

Constructor Summary
FramePoint(FramePoint framePoint)
           
FramePoint(FramePoint framePoint, java.lang.String name)
           
FramePoint(FrameVector frameVector)
           
FramePoint(FrameVector frameVector, java.lang.String name)
           
FramePoint(ReferenceFrame referenceFrame)
          FramePoint

A normal point associated with a specific reference frame

FramePoint(ReferenceFrame referenceFrame, double[] position)
           
FramePoint(ReferenceFrame referenceFrame, double[] position, java.lang.String name)
           
FramePoint(ReferenceFrame referenceFrame, double x, double y, double z)
          FramePoint

A normal point associated with a specific reference frame.

FramePoint(ReferenceFrame referenceFrame, double x, double y, double z, java.lang.String name)
           
FramePoint(ReferenceFrame referenceFrame, java.lang.String name)
           
FramePoint(ReferenceFrame referenceFrame, javax.vecmath.Tuple3d position)
           
FramePoint(ReferenceFrame referenceFrame, javax.vecmath.Tuple3d position, java.lang.String name)
           
 
Method Summary
 void add(FramePoint framePoint)
           
 void add(FramePoint point1, FramePoint point2)
           
 void add(FramePoint point1, FrameVector vector2)
           
 void add(FrameVector frameVector)
           
 void add(FrameVector vector1, FramePoint point2)
           
 void applyTransform(javax.media.j3d.Transform3D transform)
           
 FramePoint applyTransformCopy(javax.media.j3d.Transform3D transform3D)
           
 FramePoint changeFrameCopy(ReferenceFrame desiredFrame)
          Changes frame of this FramePoint to the given ReferenceFrame and returns a copy.
 FramePoint changeFrameUsingTransformCopy(ReferenceFrame desiredFrame, javax.media.j3d.Transform3D transformToNewFrame)
          Changes frame of this FramePoint to the given ReferenceFrame, using the given Transform3D and returns a copy.
 void checkForNaN()
           
 void checkReferenceFrameMatch(ReferenceFrame frame)
           
 void checkReferenceFrameMatch(ReferenceFrameHolder referenceFrameHolder)
           
 boolean containsNaN()
           
 double distance(FramePoint framePoint)
           
 double distanceSquared(FramePoint framePoint)
           
 boolean epsilonEquals(FramePoint framePoint, double threshold)
           
 boolean epsilonEquals(FrameVector frameVector, double threshold)
           
static FramePoint getMidPoint(FramePoint point1, FramePoint point2)
           
 java.lang.String getName()
           
 javax.vecmath.Point3d getPoint()
          Returns the Point3d used in this FramePoint
 javax.vecmath.Point3d getPointCopy()
          Returns a deep copy of the point in this FramePoint.
 ReferenceFrame getReferenceFrame()
           
 double getX()
           
 double getXYplaneDistance(FramePoint framePoint)
           
 double getY()
           
 double getZ()
           
static FramePoint load(java.io.BufferedReader bufferedReader, ReferenceFrame referenceFrame)
           
static FramePoint morph(FramePoint point1, FramePoint point2, double alpha)
           
 FramePoint pitchAboutPoint(FramePoint pointToPitchAbout, double pitch)
           
 void save(java.io.PrintWriter printWriter)
           
 void scale(double scaleFactor)
           
 void scale(double scaleFactor, FramePoint point1)
           
 void scale(double scaleFactor, FrameVector vector1)
           
 void scaleAdd(double scaleFactor, FramePoint point1)
           
 void scaleAdd(double scaleFactor, FramePoint point1, FramePoint point2)
           
 void scaleAdd(double scaleFactor, FramePoint point1, FrameVector vector2)
           
 void scaleAdd(double scaleFactor, FrameVector vector1)
           
 void scaleAdd(double scaleFactor, FrameVector vector1, FramePoint point2)
           
 void scaleAdd(double scaleFactor, FrameVector vector1, FrameVector vector2)
           
 void set(double x, double y, double z)
           
 void set(FramePoint framePoint)
           
 void set(FrameVector frameVector)
           
 void setName(java.lang.String name)
           
 void setX(double x)
           
 void setY(double y)
           
 void setZ(double z)
           
 void sub(FramePoint framePoint)
           
 void sub(FramePoint point1, FramePoint point2)
           
 void sub(FramePoint point1, FrameVector vector2)
           
 void sub(FrameVector frameVector)
           
 void sub(FrameVector vector1, FramePoint point2)
           
 double[] toArray()
           
static double[] toArray(FramePoint[] framePoints)
           
 java.lang.String toString()
          toString

String representation of a FrameVector (x,y,z):reference frame name

 void weightedAverage(FramePoint point1, FramePoint point2, double weightedAverage)
          Sets this point to be the weighted average of the two input points.
 FramePoint yawAboutPoint(FramePoint pointToYawAbout, double yaw)
          yawAboutPoint
 
Methods inherited from class java.lang.Object
equals, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Constructor Detail

FramePoint

public FramePoint(ReferenceFrame referenceFrame,
                  javax.vecmath.Tuple3d position)

FramePoint

public FramePoint(ReferenceFrame referenceFrame,
                  javax.vecmath.Tuple3d position,
                  java.lang.String name)

FramePoint

public FramePoint(ReferenceFrame referenceFrame,
                  double[] position)

FramePoint

public FramePoint(ReferenceFrame referenceFrame,
                  double[] position,
                  java.lang.String name)

FramePoint

public FramePoint(ReferenceFrame referenceFrame)
FramePoint

A normal point associated with a specific reference frame

Parameters:
referenceFrame - Frame

FramePoint

public FramePoint(ReferenceFrame referenceFrame,
                  java.lang.String name)

FramePoint

public FramePoint(FramePoint framePoint)

FramePoint

public FramePoint(FramePoint framePoint,
                  java.lang.String name)

FramePoint

public FramePoint(FrameVector frameVector)

FramePoint

public FramePoint(FrameVector frameVector,
                  java.lang.String name)

FramePoint

public FramePoint(ReferenceFrame referenceFrame,
                  double x,
                  double y,
                  double z)
FramePoint

A normal point associated with a specific reference frame. The x, y, and z are used to create the point

Parameters:
referenceFrame - Frame
x - double
y - double
z - double

FramePoint

public FramePoint(ReferenceFrame referenceFrame,
                  double x,
                  double y,
                  double z,
                  java.lang.String name)
Method Detail

setName

public void setName(java.lang.String name)

getName

public java.lang.String getName()

morph

public static FramePoint morph(FramePoint point1,
                               FramePoint point2,
                               double alpha)

getXYplaneDistance

public double getXYplaneDistance(FramePoint framePoint)

getReferenceFrame

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

distance

public double distance(FramePoint framePoint)

distanceSquared

public double distanceSquared(FramePoint framePoint)

getX

public double getX()

getY

public double getY()

getZ

public double getZ()

set

public void set(double x,
                double y,
                double z)

setX

public void setX(double x)

setY

public void setY(double y)

setZ

public void setZ(double z)

scale

public void scale(double scaleFactor)

toArray

public double[] toArray()

scale

public void scale(double scaleFactor,
                  FrameVector vector1)

scale

public void scale(double scaleFactor,
                  FramePoint point1)

scaleAdd

public void scaleAdd(double scaleFactor,
                     FrameVector vector1,
                     FrameVector vector2)

scaleAdd

public void scaleAdd(double scaleFactor,
                     FrameVector vector1,
                     FramePoint point2)

scaleAdd

public void scaleAdd(double scaleFactor,
                     FramePoint point1,
                     FrameVector vector2)

scaleAdd

public void scaleAdd(double scaleFactor,
                     FramePoint point1,
                     FramePoint point2)

scaleAdd

public void scaleAdd(double scaleFactor,
                     FrameVector vector1)

scaleAdd

public void scaleAdd(double scaleFactor,
                     FramePoint point1)

getPoint

public javax.vecmath.Point3d getPoint()
Returns the Point3d used in this FramePoint

Returns:
Point3d

getPointCopy

public javax.vecmath.Point3d getPointCopy()
Returns a deep copy of the point in this FramePoint.

Returns:
Point3d

changeFrameUsingTransformCopy

public FramePoint changeFrameUsingTransformCopy(ReferenceFrame desiredFrame,
                                                javax.media.j3d.Transform3D transformToNewFrame)
Changes frame of this FramePoint to the given ReferenceFrame, using the given Transform3D and returns a copy.

Parameters:
desiredFrame - ReferenceFrame to change the FramePoint into.
transformToNewFrame - Transform3D from the current frame to the new desiredFrame
Returns:
Copied FramePoint in the new reference frame.

changeFrameCopy

public FramePoint changeFrameCopy(ReferenceFrame desiredFrame)
Changes frame of this FramePoint to the given ReferenceFrame and returns a copy.

Specified by:
changeFrameCopy in interface ReferenceFrameHolder
Parameters:
desiredFrame - ReferenceFrame to change the FramePoint into.
Returns:
Copied FramePoint in the new reference frame.

checkReferenceFrameMatch

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

checkReferenceFrameMatch

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

checkForNaN

public void checkForNaN()

containsNaN

public boolean containsNaN()

add

public void add(FramePoint framePoint)

add

public void add(FrameVector frameVector)

add

public void add(FramePoint point1,
                FramePoint point2)

add

public void add(FramePoint point1,
                FrameVector vector2)

add

public void add(FrameVector vector1,
                FramePoint point2)

sub

public void sub(FramePoint framePoint)

sub

public void sub(FrameVector frameVector)

sub

public void sub(FramePoint point1,
                FramePoint point2)

sub

public void sub(FramePoint point1,
                FrameVector vector2)

sub

public void sub(FrameVector vector1,
                FramePoint point2)

set

public void set(FramePoint framePoint)

set

public void set(FrameVector frameVector)

applyTransform

public void applyTransform(javax.media.j3d.Transform3D transform)

getMidPoint

public static FramePoint getMidPoint(FramePoint point1,
                                     FramePoint point2)

toArray

public static double[] toArray(FramePoint[] framePoints)

weightedAverage

public void weightedAverage(FramePoint point1,
                            FramePoint point2,
                            double weightedAverage)
Sets this point to be the weighted average of the two input points. p =

Parameters:
point1 - FramePoint
point2 - FramePoint
weightedAverage - double
Throws:
ReferenceFrameMismatchException

toString

public java.lang.String toString()
toString

String representation of a FrameVector (x,y,z):reference frame name

Overrides:
toString in class java.lang.Object
Returns:
String

save

public void save(java.io.PrintWriter printWriter)

load

public static FramePoint load(java.io.BufferedReader bufferedReader,
                              ReferenceFrame referenceFrame)
                       throws java.io.IOException
Throws:
java.io.IOException

epsilonEquals

public boolean epsilonEquals(FramePoint framePoint,
                             double threshold)

epsilonEquals

public boolean epsilonEquals(FrameVector frameVector,
                             double threshold)

applyTransformCopy

public FramePoint applyTransformCopy(javax.media.j3d.Transform3D transform3D)

yawAboutPoint

public FramePoint yawAboutPoint(FramePoint pointToYawAbout,
                                double yaw)
yawAboutPoint

Parameters:
pointToYawAbout - FramePoint
yaw - double
Returns:
CartesianPositionFootstep

pitchAboutPoint

public FramePoint pitchAboutPoint(FramePoint pointToPitchAbout,
                                  double pitch)