#include <PExtension.h>
Static Public Member Functions | |
| static Real | AngleBetweenPlanes (const Vector3 &p1, const Vector3 &p2, const Vector3 &p3, const Vector3 &p4) |
| static Real | getAngle (const Vector3 &v1, const Vector3 &v2) |
| static Vector3 | ComputePos (const Vector3 &prev, const Vector3 &cur, Real angle, Real bondLength) |
| static bool | sphereIntersectsCube (const Vector3 &sphereCenter, Real sphereRadius, const Vector3 &cubeVertex1, const Vector3 &cubeVertex2) |
| static Vector3 | ArbitraryNonParallel (const Vector3 &v) |
| static void | normalize (vector< double > &v) |
| static Matrix4 | Find2PtTransform (Vector3 s1, Vector3 s2, Vector3 e1, Vector3 e2) |
| static Matrix3 | FindRotationMatrix (const Vector3 &axis, Real angle) |
| static Vector3 | LocalToGlobalCoord (const vector< Vector3 > definedRelativeCoordinates, const vector< Vector3 > definedGlobalCoordinates) |
| static void | ConvertToQuaternion (double **input, Vector4 *output, vector< int > sign) |
| static void | InterpolateQuaternion (Vector4 qi, Vector4 qf, Vector4 *qu, double u) |
| static void | DeltaQuaterToDeltaVel (Vector4 qi, Vector4 qf, Vector3 *delatV) |
| static int | signum (double a) |
| static double | TorsionAngle (Vector3 u, Vector3 v, Vector3 w) |
| Real PMath::AngleBetweenPlanes | ( | const Vector3 & | p1, | |
| const Vector3 & | p2, | |||
| const Vector3 & | p3, | |||
| const Vector3 & | p4 | |||
| ) | [static] |
Computes the angle between the planes determined by the specified four points.
| Real PMath::getAngle | ( | const Vector3 & | v1, | |
| const Vector3 & | v2 | |||
| ) | [static] |
Computes the angle (in radians) between vectors v1 and v2.
| Vector3 PMath::ComputePos | ( | const Vector3 & | prev, | |
| const Vector3 & | cur, | |||
| Real | angle, | |||
| Real | bondLength | |||
| ) | [static] |
Computes the position of the point "next" given points prev and cur, the angle prev-cur-next, and the distance between cur and next.
| bool PMath::sphereIntersectsCube | ( | const Vector3 & | sphereCenter, | |
| Real | sphereRadius, | |||
| const Vector3 & | cubeVertex1, | |||
| const Vector3 & | cubeVertex2 | |||
| ) | [static] |
Returns true if the sphere with specified center and radius intersects any part of the cube with the specified pair of opposing vertices.
| Vector3 PMath::ArbitraryNonParallel | ( | const Vector3 & | v | ) | [static] |
Given the vector v, computes and returns a vector not parallel to v.
| void PMath::normalize | ( | vector< double > & | v | ) | [static] |
Divides each element in v by the sum of all elements in v.
| Matrix4 PMath::Find2PtTransform | ( | Vector3 | s1, | |
| Vector3 | s2, | |||
| Vector3 | e1, | |||
| Vector3 | e2 | |||
| ) | [static] |
| Matrix3 PMath::FindRotationMatrix | ( | const Vector3 & | axis, | |
| Real | angle | |||
| ) | [static] |
Finds and returns a rotation matrix for rotating a vector the specified number of radians around the specified axis according to left-hand rule.
| Vector3 PMath::LocalToGlobalCoord | ( | const vector< Vector3 > | definedRelativeCoordinates, | |
| const vector< Vector3 > | definedGlobalCoordinates | |||
| ) | [static] |
Converts the vector of defined relative coordinates into a vector of global coordinates.
| void PMath::ConvertToQuaternion | ( | double ** | input, | |
| Vector4 * | output, | |||
| vector< int > | sign | |||
| ) | [static] |
Converts a 3X3 rotation matrix specified by input to a quaternion vector returned in output.
| void PMath::InterpolateQuaternion | ( | Vector4 | qi, | |
| Vector4 | qf, | |||
| Vector4 * | qu, | |||
| double | u | |||
| ) | [static] |
Interpolates between two quaternions specified by qi and qf and returns the interpolated quternion in qu. u ranges from 0.0 to 1.0
| void PMath::DeltaQuaterToDeltaVel | ( | Vector4 | qi, | |
| Vector4 | qf, | |||
| Vector3 * | delatV | |||
| ) | [static] |
Converts a change in quaternion space specified by difference between qi and qf to a change in velocity space and returns it in deltaV.
| int PMath::signum | ( | double | a | ) | [static] |
Returns the signum of a
| double PMath::TorsionAngle | ( | Vector3 | u, | |
| Vector3 | v, | |||
| Vector3 | w | |||
| ) | [static] |
returns the torsion angle between the plane defined by vectors w and u and the plane defined by vectors w and v.
1.5.1