| public |
Inheritance Graph
graph BT
_SRT
click _SRT "classGeometry_1_1__SRT"
Description
SRT - scale,rotate and translate.
See also: 3D Game Engine Design, David H. Eberly,http://www.geometrictools.com/
[SRT]
Mainvec3_t
| _SRT() | |
| _SRT(const _SRT < value_t > & srt1, const _SRT < value_t > & srt2, float blend) | |
| _SRT(const vec3_t & translation, const matrix3x3_t & rotation, value_t scaling) Create an SRT by specifying all components explicitly. |
|
| _SRT( vec3_t _pos, const vec3_t & _dir, const vec3_t & _up, value_t _scale) | |
| _SRT(const std::array< value_t , 8 > & arr) |
Information
| value_t | getScale() const |
| const vec3_t & | getTranslation() const |
| const matrix3x3_t & | getRotation() const |
| vec3_t | getDirVector() const |
| vec3_t | getRightVector() const |
| vec3_t | getUpVector() const |
Modification
| void | reset() |
| void | setScale( value_t x) |
| void | scale( value_t x) |
| void | resetRotation() |
| void | setRotation(const matrix3x3_t & x) |
| void | setRotation(const vec3_t & dir, const vec3_t & up) |
| void | setTranslation(const vec3_t & x) |
| void | translate(const vec3_t & v) |
| void | translateLocal(const vec3_t & v) |
| void | rotateLocal(const angle_t & angle, const vec3_t & axis) |
| void | rotateLocal_rad(float rad, const vec3_t & axis) |
| void | rotateLocal_deg(float deg, const vec3_t & axis) |
| void | rotateRel(const angle_t & angle, const vec3_t & axis) |
| void | rotateRel_rad( value_t rad, const vec3_t & axis) |
| void | rotateRel_deg( value_t deg, const vec3_t & axis) |
Creation
| const vec3_t | operator*(const vec3_t & v) const |
| const _SRT < value_t > | operator*(const _SRT < value_t > & srt) const |
| _SRT < value_t > | getTransformation(const _SRT < value_t > & srt) const |
| _SRT < value_t > | inverse() const |
Comparators
| bool | equals(const _SRT & other, value_t epsilon) const |
| bool | operator==(const _SRT < value_t > & srt) const |
| bool | operator!=(const _SRT < value_t > & srt) const |
Conversion
| void | toArray( value_t fa) const |
| std::array< value_t , 8 > | toArray() const |
Serialization
Public Types
| typedef T_ | value_t |
| typedef _Matrix3x3 < value_t > | matrix3x3_t |
| typedef _Angle < value_t > | angle_t |
| typedef _Vec3 < value_t > | vec3_t |
Documentation
function
Geometry::_SRT::_SRT
| public | inline |
| _SRT( | ) |
[ctor]
Defined in Geometry/SRT.h:57
function
Geometry::_SRT::_SRT
| public | inline |
| _SRT( | const _SRT < value_t > & | srt1, |
| const _SRT < value_t > & | srt2, | |
| float | blend | |
| ) |
[ctor] interpolation between srt1 and srt2, according to the factor blend (should be between 0 and 1);
Defined in Geometry/SRT.h:62
function
Geometry::_SRT::_SRT
| public | inline |
| _SRT( | const vec3_t & | translation, |
| const matrix3x3_t & | rotation, | |
| value_t | scaling | |
| ) |
Create an SRT by specifying all components explicitly.
Defined in Geometry/SRT.h:70
function
Geometry::_SRT::_SRT
| public | inline |
| _SRT( | vec3_t | _pos, |
| const vec3_t & | _dir, | |
| const vec3_t & | _up, | |
| value_t | _scale | |
| ) |
[ctor] pos, dir, up [,scale]
Note: dir and up are normalized automatically.
Defined in Geometry/SRT.h:79
function
Geometry::_SRT::_SRT
| public | inline |
| _SRT( | const std::array< value_t , 8 > & | arr ) |
[ x,y,z, rx,ry,rz,rw, scale ]
See also: toArray()
Defined in Geometry/SRT.h:86
function
Geometry::_SRT::getScale
| public | const | inline |
| value_t getScale( | ) const |
Defined in Geometry/SRT.h:97
function
Geometry::_SRT::getTranslation
| public | const | inline |
| const vec3_t & getTranslation( | ) const |
Defined in Geometry/SRT.h:100
function
Geometry::_SRT::getRotation
| public | const | inline |
| const matrix3x3_t & getRotation( | ) const |
Defined in Geometry/SRT.h:103
function
Geometry::_SRT::getDirVector
| public | const | inline |
| vec3_t getDirVector( | ) const |
Defined in Geometry/SRT.h:106
function
Geometry::_SRT::getRightVector
| public | const | inline |
| vec3_t getRightVector( | ) const |
Defined in Geometry/SRT.h:109
function
Geometry::_SRT::getUpVector
| public | const | inline |
| vec3_t getUpVector( | ) const |
Defined in Geometry/SRT.h:112
function
Geometry::_SRT::reset
| public | inline |
| void reset( | ) |
Defined in Geometry/SRT.h:121
function
Geometry::_SRT::setScale
| public | inline |
| void setScale( | value_t | x ) |
Defined in Geometry/SRT.h:127
function
Geometry::_SRT::scale
| public | inline |
| void scale( | value_t | x ) |
Defined in Geometry/SRT.h:130
function
Geometry::_SRT::resetRotation
| public | inline |
| void resetRotation( | ) |
Defined in Geometry/SRT.h:134
function
Geometry::_SRT::setRotation
| public | inline |
| void setRotation( | const matrix3x3_t & | x ) |
Defined in Geometry/SRT.h:138
function
Geometry::_SRT::setRotation
| public | inline |
| void setRotation( | const vec3_t & | dir, |
| const vec3_t & | up | |
| ) |
Defined in Geometry/SRT.h:143
function
Geometry::_SRT::setTranslation
| public | inline |
| void setTranslation( | const vec3_t & | x ) |
Defined in Geometry/SRT.h:148
function
Geometry::_SRT::translate
| public | inline |
| void translate( | const vec3_t & | v ) |
Defined in Geometry/SRT.h:151
function
Geometry::_SRT::translateLocal
| public | inline |
| void translateLocal( | const vec3_t & | v ) |
Defined in Geometry/SRT.h:154
function
Geometry::_SRT::rotateLocal
| public | inline |
| void rotateLocal( | const angle_t & | angle, |
| const vec3_t & | axis | |
| ) |
Defined in Geometry/SRT.h:158
function
Geometry::_SRT::rotateLocal_rad
| public | inline |
| void rotateLocal_rad( | float | rad, |
| const vec3_t & | axis | |
| ) |
Defined in Geometry/SRT.h:165
function
Geometry::_SRT::rotateLocal_deg
| public | inline |
| void rotateLocal_deg( | float | deg, |
| const vec3_t & | axis | |
| ) |
Defined in Geometry/SRT.h:168
function
Geometry::_SRT::rotateRel
| public | inline |
| void rotateRel( | const angle_t & | angle, |
| const vec3_t & | axis | |
| ) |
Defined in Geometry/SRT.h:172
function
Geometry::_SRT::rotateRel_rad
| public | inline |
| void rotateRel_rad( | value_t | rad, |
| const vec3_t & | axis | |
| ) |
Defined in Geometry/SRT.h:180
function
Geometry::_SRT::rotateRel_deg
| public | inline |
| void rotateRel_deg( | value_t | deg, |
| const vec3_t & | axis | |
| ) |
Defined in Geometry/SRT.h:183
function
Geometry::_SRT::operator*
| public | const | inline |
| const vec3_t operator*( | const vec3_t & | v ) const |
Defined in Geometry/SRT.h:192
function
Geometry::_SRT::operator*
| public | const | inline |
| const _SRT < value_t > operator*( | const _SRT < value_t > & | srt ) const |
Defined in Geometry/SRT.h:195
function
Geometry::_SRT::getTransformation
| public | const | inline |
| _SRT < value_t > getTransformation( | const _SRT < value_t > & | srt ) const |
Like a multiplication, but applies the rotation of this srt to translation of the given srt which results in the same behaviour as ( Matrix4x4 (*this) * Matrix4x4(srt) )._toSRT()
Defined in Geometry/SRT.h:206
function
Geometry::_SRT::inverse
| public | const | inline |
| _SRT < value_t > inverse( | ) const |
Defined in Geometry/SRT.h:212
function
Geometry::_SRT::equals
| public | const | inline |
| bool equals( | const _SRT & | other, |
| value_t | epsilon | |
| ) const |
compares this with other componentwise
Parameters
- other
- the object to compare with
- epsilon
- the maximum allowed difference between the component pairs
Returns
true iff any the absolute difference between any pai of components is larger than epsilon
Defined in Geometry/SRT.h:229
function
Geometry::_SRT::operator==
| public | const | inline |
| bool operator==( | const _SRT < value_t > & | srt ) const |
Defined in Geometry/SRT.h:232
function
Geometry::_SRT::operator!=
| public | const | inline |
| bool operator!=( | const _SRT < value_t > & | srt ) const |
Defined in Geometry/SRT.h:235
function
Geometry::_SRT::toArray
| public | const | inline |
| void toArray( | value_t | fa ) const |
Defined in Geometry/SRT.h:244
function
Geometry::_SRT::toArray
| public | const | inline |
| std::array< value_t , 8 > toArray( | ) const |
Defined in Geometry/SRT.h:263
typedef
Geometry::_SRT::value_t
| public |
| typedef T_ value_t |
Defined in Geometry/SRT.h:34
typedef
Geometry::_SRT::matrix3x3_t
| public |
| typedef _Matrix3x3 < value_t > matrix3x3_t |
Defined in Geometry/SRT.h:35
typedef
Geometry::_SRT::angle_t
| public |
| typedef _Angle < value_t > angle_t |
Defined in Geometry/SRT.h:36
typedef
Geometry::_SRT::vec3_t
| public |
| typedef _Vec3 < value_t > vec3_t |
Defined in Geometry/SRT.h:37