Main Page | Namespace List | Class Hierarchy | Alphabetical List | Class List | File List | Namespace Members | Class Members | File Members | Related Pages

# GT2005Polygon Class Reference

`#include <GT2005Polygon.h>`

Collaboration diagram for GT2005Polygon:

[legend]
List of all members.

## Public Types
enum | { maxPoints = 128 }
## Public Member Functions
| GT2005Polygon (int nPoints=0, int sLength=0)
| ~GT2005Polygon ()
Vector3< double > | getPointCoord (int pNum)
void | setPointCoord (int pNum, Vector3< double > p)
void | getSegment (int sNum, double &sLen, Vector3< double > &p)
void | setSegment (int sNum, double sLen, Vector3< double > p)
double | getSegmentLength (int sNum)
Vector3< double > | getPositionOnShape (double pos)
void | insertPoint (int pNum)
GT2005Polygon * | interpolateShape (double amount, GT2005Polygon *s2)
void | interpolateShapeP (double amount, GT2005Polygon *s2)
int | getMaxX ()
int | getMinX ()
double | approxGroundTime ()
Vector3< double > | calculateCenterOfMass ()
void | finalize ()
GT2005Polygon | scaleX (double s)
GT2005Polygon | scaleY (double s)
GT2005Polygon | rotateX (double a)
GT2005Polygon | rotateY (double a)
GT2005Polygon | rotateZ (double a)
void | rotateXP (double a)
void | rotateYP (double a)
void | rotateZP (double a)
GT2005Polygon | rotateZC (double a)
bool | load (char *filename)
void | save (char *filename)
GT2005Polygon * | copy ()
GT2005Polygon * | mirrorY ()
## Public Attributes
int | stepLength
pSegment | pPoints [maxPoints]
int | numPoints
double | polyLengthX
double | groundTime
Vector3< double > | centerOfMassCorrection
double | rollAngle

## Member Enumeration Documentation

anonymous enum

  | Enumeration values:
  maxPoints |
Definition at line 32 of file GT2005Polygon.h.

## Constructor & Destructor Documentation

GT2005Polygon::GT2005Polygon | ( | int | nPoints = 0,
|  | int | sLength = 0
| ) |

| Definition at line 11 of file GT2005Polygon.cpp. References numPoints, and rollAngle. Referenced by copy(), interpolateShape(), and mirrorY().

GT2005Polygon::~GT2005Polygon | ( |  | ) |

| Definition at line 21 of file GT2005Polygon.cpp.

## Member Function Documentation

Vector3< double > GT2005Polygon::getPointCoord | ( | int | pNum | ) |

| Definition at line 26 of file GT2005Polygon.cpp. References numPoints, GT2005Polygon::pSegment::point, and pPoints. Referenced by getSegment(), interpolateShape(), interpolateShapeP(), and GTWalkParametersIndividual::mutate().

void GT2005Polygon::setPointCoord | ( | int | pNum,
|  | Vector3< double > | p
| ) |

| Definition at line 37 of file GT2005Polygon.cpp. References numPoints, GT2005Polygon::pSegment::point, and pPoints. Referenced by setSegment().

void GT2005Polygon::getSegment | ( | int | sNum,
|  | double & | sLen,
|  | Vector3< double > & | p
| ) |

| Definition at line 54 of file GT2005Polygon.cpp. References getPointCoord(), numPoints, pPoints, and GT2005Polygon::pSegment::sLen.

Here is the call graph for this function:

void GT2005Polygon::setSegment | ( | int | sNum,
|  | double | sLen,
|  | Vector3< double > | p
| ) |

| Definition at line 45 of file GT2005Polygon.cpp. References numPoints, pPoints, setPointCoord(), and GT2005Polygon::pSegment::sLen. Referenced by copy(), interpolateShape(), interpolateShapeP(), mirrorY(), GTWalkParametersIndividual::mutate(), rotateX(), rotateXP(), rotateY(), rotateYP(), rotateZ(), rotateZC(), rotateZP(), scaleX(), scaleY(), GT2005Parameters::setBasicPolygons(), and GT2005WalkingEngine::streamDebugData().

Here is the call graph for this function:

double GT2005Polygon::getSegmentLength | ( | int | sNum | ) |

| Definition at line 63 of file GT2005Polygon.cpp. References numPoints, pPoints, and GT2005Polygon::pSegment::sLen. Referenced by interpolateShape(), interpolateShapeP(), and GTWalkParametersIndividual::mutate().

Vector3< double > GT2005Polygon::getPositionOnShape | ( | double | pos | ) |

| Definition at line 72 of file GT2005Polygon.cpp. References numPoints, GT2005Polygon::pSegment::point, pPoints, and GT2005Polygon::pSegment::sLen.

void GT2005Polygon::insertPoint | ( | int | pNum | ) |

| Definition at line 427 of file GT2005Polygon.cpp. References numPoints, GT2005Polygon::pSegment::point, pPoints, and GT2005Polygon::pSegment::sLen.

GT2005Polygon * GT2005Polygon::interpolateShape | ( | double | amount,
|  | GT2005Polygon * | s2
| ) |

| Definition at line 446 of file GT2005Polygon.cpp. References getPointCoord(), getSegmentLength(), GT2005Polygon(), numPoints, GT2005Polygon::pSegment::point, pPoints, setSegment(), and stepLength. Referenced by GT2005Parameters::calculateCurrentPoly(), and GTWalkParametersIndividual::crossingOverOf().

Here is the call graph for this function:

void GT2005Polygon::interpolateShapeP | ( | double | amount,
|  | GT2005Polygon * | s2
| ) |

| Definition at line 466 of file GT2005Polygon.cpp. References getPointCoord(), getSegmentLength(), numPoints, GT2005Polygon::pSegment::point, pPoints, setSegment(), and stepLength. Referenced by GTWalkParametersIndividual::crossOver().

Here is the call graph for this function:

int GT2005Polygon::getMaxX | ( |  | ) |

| Definition at line 98 of file GT2005Polygon.cpp. References max, numPoints, GT2005Polygon::pSegment::point, pPoints, and Vector3< double >::x. Referenced by approxGroundTime(), and finalize().

int GT2005Polygon::getMinX | ( |  | ) |

| Definition at line 122 of file GT2005Polygon.cpp. References min, numPoints, GT2005Polygon::pSegment::point, pPoints, and Vector3< double >::x. Referenced by approxGroundTime(), and finalize().

double GT2005Polygon::approxGroundTime | ( |  | ) |

| Definition at line 141 of file GT2005Polygon.cpp. References getMaxX(), getMinX(), numPoints, GT2005Polygon::pSegment::point, pPoints, GT2005Polygon::pSegment::sLen, and Vector3< double >::z. Referenced by finalize().

Here is the call graph for this function:

Vector3< double > GT2005Polygon::calculateCenterOfMass | ( |  | ) |

| Definition at line 186 of file GT2005Polygon.cpp. References numPoints, GT2005Polygon::pSegment::point, pPoints, Vector3< V >::x, Vector3< double >::x, Vector3< V >::y, Vector3< double >::y, Vector3< V >::z, and Vector3< double >::z. Referenced by rotateZC().

void GT2005Polygon::finalize | ( |  | ) |

| Definition at line 209 of file GT2005Polygon.cpp. References approxGroundTime(), getMaxX(), getMinX(), numPoints, GT2005Polygon::pSegment::point, polyLengthX, pPoints, GT2005Polygon::pSegment::sLen, and Vector3< double >::x. Referenced by GT2005Parameters::calculateCurrentPoly(), copy(), mirrorY(), operator>>(), GT2005Parameters::setBasicPolygons(), and GT2005Parameters::setOptimizedPolys().

Here is the call graph for this function:

GT2005Polygon GT2005Polygon::scaleX | ( | double | s | ) |

| Definition at line 233 of file GT2005Polygon.cpp. References groundTime, numPoints, GT2005Polygon::pSegment::point, polyLengthX, pPoints, setSegment(), stepLength, Vector3< double >::x, Vector3< V >::x, Vector3< double >::y, Vector3< V >::y, Vector3< double >::z, and Vector3< V >::z.

Here is the call graph for this function:

GT2005Polygon GT2005Polygon::scaleY | ( | double | s | ) |

| Definition at line 256 of file GT2005Polygon.cpp. References groundTime, numPoints, GT2005Polygon::pSegment::point, polyLengthX, pPoints, setSegment(), stepLength, Vector3< double >::x, Vector3< V >::x, Vector3< double >::y, Vector3< V >::y, Vector3< double >::z, and Vector3< V >::z.

Here is the call graph for this function:

GT2005Polygon GT2005Polygon::rotateX | ( | double | a | ) |

| Definition at line 279 of file GT2005Polygon.cpp. References groundTime, numPoints, GT2005Polygon::pSegment::point, polyLengthX, pPoints, setSegment(), stepLength, Vector3< double >::x, Vector3< V >::x, Vector3< double >::y, Vector3< V >::y, Vector3< V >::z, and Vector3< double >::z.

Here is the call graph for this function:

GT2005Polygon GT2005Polygon::rotateY | ( | double | a | ) |

| Definition at line 303 of file GT2005Polygon.cpp. References groundTime, numPoints, GT2005Polygon::pSegment::point, polyLengthX, pPoints, setSegment(), stepLength, Vector3< double >::x, Vector3< V >::x, Vector3< double >::y, Vector3< V >::y, Vector3< V >::z, and Vector3< double >::z.

Here is the call graph for this function:

GT2005Polygon GT2005Polygon::rotateZ | ( | double | a | ) |

| Definition at line 327 of file GT2005Polygon.cpp. References groundTime, numPoints, GT2005Polygon::pSegment::point, polyLengthX, pPoints, setSegment(), stepLength, Vector3< double >::x, Vector3< V >::x, Vector3< V >::y, Vector3< double >::y, Vector3< double >::z, and Vector3< V >::z.

Here is the call graph for this function:

void GT2005Polygon::rotateXP | ( | double | a | ) |

| Definition at line 351 of file GT2005Polygon.cpp. References numPoints, GT2005Polygon::pSegment::point, pPoints, setSegment(), Vector3< double >::x, Vector3< V >::x, Vector3< double >::y, Vector3< V >::y, Vector3< V >::z, and Vector3< double >::z.

Here is the call graph for this function:

void GT2005Polygon::rotateYP | ( | double | a | ) |

| Definition at line 366 of file GT2005Polygon.cpp. References numPoints, GT2005Polygon::pSegment::point, pPoints, setSegment(), Vector3< double >::x, Vector3< V >::x, Vector3< double >::y, Vector3< V >::y, Vector3< V >::z, and Vector3< double >::z.

Here is the call graph for this function:

void GT2005Polygon::rotateZP | ( | double | a | ) |

| Definition at line 381 of file GT2005Polygon.cpp. References numPoints, GT2005Polygon::pSegment::point, pPoints, setSegment(), Vector3< double >::x, Vector3< V >::x, Vector3< V >::y, Vector3< double >::y, Vector3< double >::z, and Vector3< V >::z.

Here is the call graph for this function:

GT2005Polygon GT2005Polygon::rotateZC | ( | double | a | ) |

| Definition at line 396 of file GT2005Polygon.cpp. References calculateCenterOfMass(), centerOfMassCorrection, groundTime, numPoints, GT2005Polygon::pSegment::point, polyLengthX, pPoints, setSegment(), stepLength, Vector3< V >::x, Vector3< V >::y, and Vector3< V >::z.

Here is the call graph for this function:

bool GT2005Polygon::load | ( | char * | filename | ) |

| Definition at line 526 of file GT2005Polygon.cpp. References InFile::exists().

Here is the call graph for this function:

void GT2005Polygon::save | ( | char * | filename | ) |

| Definition at line 542 of file GT2005Polygon.cpp.

GT2005Polygon * GT2005Polygon::copy | ( |  | ) |

| Definition at line 482 of file GT2005Polygon.cpp. References finalize(), groundTime, GT2005Polygon(), numPoints, GT2005Polygon::pSegment::point, polyLengthX, pPoints, setSegment(), Vector3< double >::x, Vector3< V >::x, Vector3< double >::y, Vector3< V >::y, Vector3< double >::z, and Vector3< V >::z. Referenced by GT2005Parameters::calculateCurrentPoly(), GT2005WalkingEngine::executeParameterized(), GTWalkParametersIndividual::operator=(), and GT2005Parameters::setBasicPolygons().

Here is the call graph for this function:

GT2005Polygon * GT2005Polygon::mirrorY | ( |  | ) |

| Definition at line 504 of file GT2005Polygon.cpp. References finalize(), groundTime, GT2005Polygon(), numPoints, GT2005Polygon::pSegment::point, polyLengthX, pPoints, setSegment(), Vector3< double >::x, Vector3< V >::x, Vector3< double >::y, Vector3< V >::y, Vector3< double >::z, and Vector3< V >::z.

Here is the call graph for this function:

## Member Data Documentation

int GT2005Polygon::stepLength

| Definition at line 29 of file GT2005Polygon.h. Referenced by GT2005WalkingEngine::executeParameterized(), interpolateShape(), interpolateShapeP(), GTWalkParametersIndividual::mutate(), operator<<(), operator>>(), rotateX(), rotateY(), rotateZ(), rotateZC(), scaleX(), scaleY(), GT2005Parameters::setBasicPolygons(), and GT2005Parameters::setOptimizedPolys().

pSegment GT2005Polygon::pPoints[maxPoints]

| Definition at line 38 of file GT2005Polygon.h. Referenced by approxGroundTime(), calculateCenterOfMass(), copy(), finalize(), getMaxX(), getMinX(), getPointCoord(), getPositionOnShape(), getSegment(), getSegmentLength(), insertPoint(), interpolateShape(), interpolateShapeP(), mirrorY(), operator<<(), operator>>(), rotateX(), rotateXP(), rotateY(), rotateYP(), rotateZ(), rotateZC(), rotateZP(), scaleX(), scaleY(), GT2005Parameters::setOptimizedPolys(), setPointCoord(), and setSegment().

int GT2005Polygon::numPoints

| Definition at line 41 of file GT2005Polygon.h. Referenced by approxGroundTime(), calculateCenterOfMass(), GTWalkParametersIndividual::calculateTauTau0(), copy(), finalize(), getMaxX(), getMinX(), getPointCoord(), getPositionOnShape(), getSegment(), getSegmentLength(), GT2005Polygon(), insertPoint(), interpolateShape(), interpolateShapeP(), mirrorY(), GTWalkParametersIndividual::mutate(), operator<<(), operator>>(), rotateX(), rotateXP(), rotateY(), rotateYP(), rotateZ(), rotateZC(), rotateZP(), scaleX(), scaleY(), GT2005Parameters::setOptimizedPolys(), setPointCoord(), setSegment(), and GT2005WalkingEngine::streamDebugData().

double GT2005Polygon::polyLengthX

| Definition at line 44 of file GT2005Polygon.h. Referenced by GT2005WalkingEngine::calculateData(), copy(), finalize(), mirrorY(), rotateX(), rotateY(), rotateZ(), rotateZC(), scaleX(), and scaleY().

double GT2005Polygon::groundTime

| Definition at line 45 of file GT2005Polygon.h. Referenced by copy(), mirrorY(), rotateX(), rotateY(), rotateZ(), rotateZC(), scaleX(), and scaleY().

Vector3<double> GT2005Polygon::centerOfMassCorrection

| Definition at line 46 of file GT2005Polygon.h. Referenced by rotateZC().

double GT2005Polygon::rollAngle

| Definition at line 48 of file GT2005Polygon.h. Referenced by GT2005Polygon(), operator<<(), operator>>(), and GT2005Parameters::setOptimizedPolys().

The documentation for this class was generated from the following files:

- Modules/WalkingEngine/GT2005Polygon.h
- Modules/WalkingEngine/GT2005Polygon.cpp