A transformation defined as the composition of a rotation, a translation and a scale.
More...
|
| FrameScaled (const Matrix &=Matrix::Identity, const Vector &=Vector::Null, const Vector &=Vector(1.0)) |
| Creates a frame. More...
|
|
| FrameScaled (const Vector &) |
| Creates a translation frame. More...
|
|
| FrameScaled (const Vector &, const Vector &) |
| Creates a frame given the translation and scaling vectors. More...
|
|
| FrameScaled (const Vector &, const double &) |
| Creates a frame given the translation and scale. More...
|
|
| FrameScaled (const Vector &, const Vector &, const Vector &, const Vector &) |
| Creates a frame given the origin of the frame and orthogonal unit vectors. More...
|
|
| FrameScaled (const Frame &, const Vector &=Vector(1.0)) |
| Creates a frame. More...
|
|
| ~FrameScaled () |
| Empty.
|
|
Matrix | R () const |
| Returns the rotation matrix of the frame.
|
|
Vector | T () const |
| Returns the translation vector of the frame.
|
|
Vector | S () const |
| Get scaling vector from transformation.
|
|
void | Rotate (const Vector &) |
| Rotate the shape. More...
|
|
void | ObjectRotate (const Vector &) |
| Rotate the shape in object coordinates (does not modify the translation vector). More...
|
|
void | Scale (const Vector &) |
| Scale the shape. More...
|
|
void | Scale (const double &) |
| Scale the shape. More...
|
|
void | Translate (const Vector &) |
| Translate the shape. More...
|
|
Matrix4 | GetMatrix () const |
| Get the homogeneous matrix out of the frame.
|
|
Vector | Transform (const Vector &) const |
| Transforms a given input point. More...
|
|
Vector | InverseTransform (const Vector &) const |
| Inverse transformation of a given input point. More...
|
|
Vector | TransformDirection (const Vector &) const |
| Transforms a given input normal. More...
|
|
Vector | InverseTransformDirection (const Vector &) const |
| Transforms a given input normal. More...
|
|
void | Compose (const FrameScaled &) |
| Compose two frames. More...
|
|
FrameScaled | Composed (const FrameScaled &) const |
| Compose two frames. More...
|
|
void | Lerp (const FrameScaled &, const FrameScaled &, const double &) |
| Linear interpolation of two frames. More...
|
|
|
| Frame (const Matrix &=Matrix::Identity, const Vector &=Vector::Null) |
| Creates a frame given a rotation matrix and a translation vector. More...
|
|
| Frame (const Vector &, const Vector &, const Vector &, const Vector &) |
| Creates a frame given the origin and its orthogonal unit vectors. More...
|
|
| ~Frame () |
| Empty.
|
|
Matrix | R () const |
| Returns the rotation matrix of the frame.
|
|
Vector | T () const |
| Returns the translation vector of the frame.
|
|
Vector | GetVector (int) const |
| Returns the i-th basis vector of the frame. More...
|
|
void | Compose (const Frame &) |
| Compose the frame with another one. More...
|
|
Frame | Composed (const Frame &) const |
| Compose the frame with another one. More...
|
|
Frame | Inverse () const |
| Compute the inverse transformation.
|
|
Vector | Transform (const Vector &) const |
| Transform a point out of the frame coordinate system. More...
|
|
Vector | InverseTransform (const Vector &) const |
| Transform a point into the frame coordinate system. More...
|
|
Vector | TransformDirection (const Vector &) const |
| Transform a direction vector out of the frame coordinate system. More...
|
|
Vector | InverseTransformDirection (const Vector &) const |
| Transform a direction vector into the frame coordinate system.
|
|
Ray | Transform (const Ray &) const |
| Transform a ray out of the frame coordinate system. More...
|
|
Ray | InverseTransform (const Ray &) const |
| Transform a ray into the frame coordinate system. More...
|
|
Vector | CircleVertex (const double &, int=1, int=2) const |
| Compute the coordinates of a point on a circle inside the frame;. More...
|
|
Vector | CircleNormal (const double &, int=1, int=2) const |
| Compute the coordinates of the normal a point on a circle inside the frame;. More...
|
|
Vector | SphereVertex (const double &, const double &, const double &, int=1, int=2, int=0) const |
| Compute the coordinates of a point on a sphere inside the frame. More...
|
|
Vector | SphereNormal (const double &, const double &, int=1, int=2, int=0) const |
| Compute the coordinates of the normal of a point on a sphere inside the frame. More...
|
|
static Frame | Translation (const Vector &) |
| Creates a translation transformation. More...
|
|
static Frame | Rotation (const Vector &) |
| Creates a rotation frame. More...
|
|
static Frame | Rotation (const Vector &, const double &) |
| Create a rotation frame about an arbitrary axis. More...
|
|
static Frame | Rotation (const Vector &, const Vector &) |
| Create a frame that rotates a normalized vector into another one. More...
|
|
static Frame | Canonical (const Vector &, const Vector &) |
| Given a point and a direction, compute the frame that brings these into a canonical coordinate system. More...
|
|
static Frame | Orthonormal (const Vector &, const Vector &) |
| Compute a frame given an origin and direction vector. More...
|
|
static const Frame | Id |
| Identity.
|
|
A transformation defined as the composition of a rotation, a translation and a scale.
The data-structure groups the rotation matrix, the translation and scaling vectors.
The orientation of the frame should be defined by the appropriate rotation matrix.
In general, a FrameScaled is defined by its rotation matrix, and a translation and scaling vector:
A transformation defined as the composition of a rotation, a translation and a scale.
Definition: frame.h:131
static const double Pi
π.
Definition: mathematics.h:174
static Matrix Rotation(const Vector &)
Create a rotation matrix given a vector of angles that specifies the rotation around each world coord...
Definition: matrix.cpp:117
Vectors in three dimensions.
Definition: evector.h:21
When there is no rotation, the rotation matrix can be defined using the identity matrix:
static const Matrix Identity
Identity matrix.
Definition: matrix.h:26
It is also possible and simpler to use: