Stores a three-dimensional orthonormal coordinate frame. More...
#include <frame.h>

Public Member Functions | |
| Frame () | |
| Default constructor – performs no initialization! | |
| Frame (const Vector3f &s, const Vector3f &t, const Normal3f &n) | |
| Given a normal and tangent vectors, construct a new coordinate frame. | |
| Frame (const Vector3f &x, const Vector3f &y, const Vector3f &z) | |
| Construct a frame from the given orthonormal vectors. | |
| Frame (const Vector3f &n) | |
| Construct a new coordinate frame from a single vector. | |
| Vector3f | toLocal (const Vector3f &v) const |
| Convert from world coordinates to local coordinates. | |
| Vector3f | toWorld (const Vector3f &v) const |
| Convert from local coordinates to world coordinates. | |
| bool | operator== (const Frame &frame) const |
| Equality test. | |
| bool | operator!= (const Frame &frame) const |
| Inequality test. | |
| std::string | toString () const |
| Return a human-readable string summary of this frame. | |
Static Public Member Functions | |
| static float | cosTheta (const Vector3f &v) |
| Assuming that the given direction is in the local coordinate system, return the cosine of the angle between the normal and v. | |
| static float | sinTheta (const Vector3f &v) |
| Assuming that the given direction is in the local coordinate system, return the sine of the angle between the normal and v. | |
| static float | tanTheta (const Vector3f &v) |
| Assuming that the given direction is in the local coordinate system, return the tangent of the angle between the normal and v. | |
| static float | sinTheta2 (const Vector3f &v) |
| Assuming that the given direction is in the local coordinate system, return the squared sine of the angle between the normal and v. | |
| static float | sinPhi (const Vector3f &v) |
| Assuming that the given direction is in the local coordinate system, return the sine of the phi parameter in spherical coordinates. | |
| static float | cosPhi (const Vector3f &v) |
| Assuming that the given direction is in the local coordinate system, return the cosine of the phi parameter in spherical coordinates. | |
| static float | sinPhi2 (const Vector3f &v) |
| Assuming that the given direction is in the local coordinate system, return the squared sine of the phi parameter in spherical coordinates. | |
| static float | cosPhi2 (const Vector3f &v) |
| Assuming that the given direction is in the local coordinate system, return the squared cosine of the phi parameter in spherical coordinates. | |
Public Attributes | |
| Vector3f | s |
| Vector3f | t |
| Normal3f | n |
Stores a three-dimensional orthonormal coordinate frame.
This class is mostly used to quickly convert between different cartesian coordinate systems and to efficiently compute certain quantities (e.g. cosTheta(), tanTheta, ..).