3DCoatScripting  4.8.31β
С помощью скриптинга можно управлять возможностями Коута и расширять его функционал.
Класс coat::scripto::Quat

Class for working with quaternions. Подробнее...

Открытые типы

typedef comms::cQuat quat_t
 

Открытые члены

 Quat ()
 Constructor for building a zero quaternion.
 
 operator Mat3 () const
 Ability for converting Quat to Mat3. Подробнее...
 
 operator Mat4 () const
 Ability for converting Quat to Mat4. Подробнее...
 
 operator std::string () const
 Ability for converting Quat to string. Подробнее...
 
bool operator== (const Quat &b) const
 Comparison. Подробнее...
 
bool normalized () const
 Returns TRUE then the quaternion is normalized. Подробнее...
 
bool zero () const
 Returns TRUE then the all values of the quaternion is zero.
 
Quatoperator() (int i, float v)
 Setter like array.
[ 0 ] is x
[ 1 ] is y
[ 2 ] is z
[ 3 ] is w
. Подробнее...
 
float operator() (int i) const
 Getter like array. Подробнее...
 
Quatx (const float &value)
 Setter for x. Подробнее...
 
float x () const
 Getter for x. Подробнее...
 
Quaty (const float &value)
 Setter for y. Подробнее...
 
float y () const
 Getter for y. Подробнее...
 
Quatz (const float &value)
 Setter for z. Подробнее...
 
float z () const
 Getter for z. Подробнее...
 
Quatw (const float &value)
 Setter for w. Подробнее...
 
float w () const
 Getter for w. Подробнее...
 
Quat operator- () const
 Negation operator. Подробнее...
 
Quatoperator+= (const Quat &b)
 
Quatoperator-= (const Quat &b)
 
Quatoperator*= (const Quat &b)
 
Quatoperator*= (const float &k)
 
Quatoperator/= (const Quat &b)
 
Quatoperator/= (const float &k)
 
Quat operator+ (const Quat &b) const
 
Quat operator- (const Quat &b) const
 
Quat operator* (const Quat &b) const
 
Quat operator* (const float &k) const
 
Quat operator/ (const Quat &b) const
 
Quat operator/ (const float &k) const
 
float dot (const Quat &b) const
 Returns a dot product. Подробнее...
 
float length () const
 Returns an Euclidean length. Подробнее...
 
float lengthSquared () const
 Returns a squared Euclidean length. Подробнее...
 
QuatcalcW ()
 Recalculates w by current xyz. Подробнее...
 
Quat calcWCopy () const
 
Quatcompress ()
 Set w to 0.0. Change signs of x, y, z if w was less zero. Подробнее...
 
Quat compressCopy () const
 
Quatconjugate ()
 Conjugates the quaternion. Подробнее...
 
Quat conjugateCopy () const
 
Quatexp ()
 Calculates an exponential. Подробнее...
 
Quat expCopy () const
 
Quatinvert ()
 Inverts the quaternion. Подробнее...
 
Quat invertCopy () const
 
Quatlerp (const Quat &b, float s)
 Interpolates between quaternions, using linear interpolation. Подробнее...
 
Quat lerpCopy (const Quat &b, float s) const
 
Quatln ()
 Calculates a natural logarithm. Подробнее...
 
Quat lnCopy () const
 
Quatnormalize ()
 Normalize the quaternion. Подробнее...
 
Quat normalizeCopy () const
 
Quatslerp (const Quat &b, float s)
 Interpolates between vectors, using spherical linear interpolation. Подробнее...
 
Quat slerpCopy (const Quat &b, float s) const
 

Подробное описание

Class for working with quaternions.

quaternion.png
Начиная с
4.5.32
Quat a( 0 );
// equivalent to
Quat b( 0, 0, 0, 0 );
Quat a( 5, 2, 1, 0 );
Quat b = { 5, 2, 1, 0 };
См. также
Representation `a`

Методы

coat::scripto::Quat::operator Mat3 ( ) const

Ability for converting Quat to Mat3.

Quat a( 5, 2, 1, 0 );
auto m = Mat3( a );
coat::scripto::Quat::operator Mat4 ( ) const

Ability for converting Quat to Mat4.

Quat a( 5, 2, 1, 0 );
auto m = Mat4( a );
coat::scripto::Quat::operator std::string ( ) const

Ability for converting Quat to string.

Quat a( 5, 2, 1, 0 );
auto m = string( a );
bool coat::scripto::Quat::operator== ( const Quat b) const
inline

Comparison.

Quat a;
...
if (a == Quat( 5, 2, 1, 0 )) { ... }
bool coat::scripto::Quat::normalized ( ) const
inline

Returns TRUE then the quaternion is normalized.

См. также
normalized()
Quat& coat::scripto::Quat::operator() ( int  i,
float  v 
)
inline

Setter like array.
[ 0 ] is x
[ 1 ] is y
[ 2 ] is z
[ 3 ] is w
.

Quat a( 5, 2, 1, 0 );
// setting `w` to 9
a[ 3, 9 ];
См. также
Representation for new `a`
float coat::scripto::Quat::operator() ( int  i) const
inline

Getter like array.

Quat a( 5, 2, 1, 0 );
float x = a[ 0 ];
float y = a[ 1 ];
float z = a[ 2 ];
float w = a[ 3 ];
Quat& coat::scripto::Quat::x ( const float &  value)
inline

Setter for x.

Quat a( 5, 2, 1, 0 );
a.x( 50 ).y( 20 ).z( 10 ).w( 1 );
См. также
y( float ), z( float ), w (float )
float coat::scripto::Quat::x ( ) const
inline

Getter for x.

Quat a( 5, 2, 1, 0 );
float v = a.x();
См. также
y(), z(), w()
Quat& coat::scripto::Quat::y ( const float &  value)
inline

Setter for y.

См. также
x( float ), z( float ), w(float )
float coat::scripto::Quat::y ( ) const
inline

Getter for y.

См. также
x(), z(), w()
Quat& coat::scripto::Quat::z ( const float &  value)
inline

Setter for z.

См. также
x( float ), y( float ), w(float )
float coat::scripto::Quat::z ( ) const
inline

Getter for z.

См. также
x(), y(), w()
Quat& coat::scripto::Quat::w ( const float &  value)
inline

Setter for w.

См. также
x( float ), y( float ), z(float )
float coat::scripto::Quat::w ( ) const
inline

Getter for w.

См. также
x(), y(), z()
Quat coat::scripto::Quat::operator- ( ) const
inline

Negation operator.

Quat a( 5, 2, 1, 0 );
Quat na = -a;
См. также
Result.
float coat::scripto::Quat::dot ( const Quat b) const
inline

Returns a dot product.

Quat a( 5, 2, 1, 0 );
Quat b( 6, 3, 2, 1 );
float r = a.dot( b );
float coat::scripto::Quat::length ( ) const
inline

Returns an Euclidean length.

Quat a( 5, 2, 1, 0 );
float r = a.length();
См. также
lengthSquared()
float coat::scripto::Quat::lengthSquared ( ) const
inline

Returns a squared Euclidean length.

Quat a( 5, 2, 1, 0 );
float r = a.lengthSquared();
См. также
length()
Quat& coat::scripto::Quat::calcW ( )
inline

Recalculates w by current xyz.

Quat a( 5, 2, 1, 0 );
a.calcW();
Quat coat::scripto::Quat::calcWCopy ( ) const
inline
См. также
calcW()
Quat& coat::scripto::Quat::compress ( )
inline

Set w to 0.0. Change signs of x, y, z if w was less zero.

Quat a( 5, 2, 1, -0.5 );
a.compress();
Quat coat::scripto::Quat::compressCopy ( ) const
inline
См. также
compress()
Quat& coat::scripto::Quat::conjugate ( )
inline

Conjugates the quaternion.

Quat a( 5, 2, 1, 0 );
a.conjugate();
Quat coat::scripto::Quat::conjugateCopy ( ) const
inline
См. также
conjugate()
Quat& coat::scripto::Quat::exp ( )
inline

Calculates an exponential.

Quat a( 5, 2, 1, 0 );
a.exp();
Quat coat::scripto::Quat::expCopy ( ) const
inline
См. также
exp()
Quat& coat::scripto::Quat::invert ( )
inline

Inverts the quaternion.

Quat a( 5, 2, 1, 0 );
a.invert();
Quat coat::scripto::Quat::invertCopy ( ) const
inline
См. также
invert()
Quat& coat::scripto::Quat::lerp ( const Quat b,
float  s 
)
inline

Interpolates between quaternions, using linear interpolation.

Quat a( 5, 2, 1, 0 );
a.lerp( Quat( 6, 3, 2, 1 ), 0.3 );
См. также
slerp()
Quat coat::scripto::Quat::lerpCopy ( const Quat b,
float  s 
) const
inline
См. также
lerp()
Quat& coat::scripto::Quat::ln ( )
inline

Calculates a natural logarithm.

Quat a( 5, 2, 1, 0 );
a.ln();
Quat coat::scripto::Quat::lnCopy ( ) const
inline
См. также
ln()
Quat& coat::scripto::Quat::normalize ( )
inline

Normalize the quaternion.

Quat a( 45, 70, 80 );
a.normalize();
См. также
normalized()
Quat coat::scripto::Quat::normalizeCopy ( ) const
inline
См. также
normalize()
Quat& coat::scripto::Quat::slerp ( const Quat b,
float  s 
)
inline

Interpolates between vectors, using spherical linear interpolation.

Quat a( 45, 70, 80 );
a.slerp( Quat( 100 ), 0.3 );
См. также
lerp()
Quat coat::scripto::Quat::slerpCopy ( const Quat b,
float  s 
) const
inline
См. также
slerp()