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