Blender  V3.3
Functions
frames.inl File Reference

Go to the source code of this file.

Functions

IMETHOD Vector operator+ (const Vector &lhs, const Vector &rhs)
 
IMETHOD Vector operator- (const Vector &lhs, const Vector &rhs)
 
Vector operator* (const Vector &lhs, double rhs)
 
Vector operator* (double lhs, const Vector &rhs)
 
Vector operator/ (const Vector &lhs, double rhs)
 
Vector operator* (const Vector &lhs, const Vector &rhs)
 
IMETHOD Vector Normalize (const Vector &a, double eps)
 
Wrench operator* (const Wrench &lhs, double rhs)
 
Wrench operator* (double lhs, const Wrench &rhs)
 
Wrench operator/ (const Wrench &lhs, double rhs)
 
Wrench operator+ (const Wrench &lhs, const Wrench &rhs)
 
Wrench operator- (const Wrench &lhs, const Wrench &rhs)
 
Wrench operator- (const Wrench &arg)
 
Twist operator* (const Twist &lhs, double rhs)
 
Twist operator* (double lhs, const Twist &rhs)
 
Twist operator/ (const Twist &lhs, double rhs)
 
Twist operator+ (const Twist &lhs, const Twist &rhs)
 
Twist operator- (const Twist &lhs, const Twist &rhs)
 
Twist operator- (const Twist &arg)
 
Frame operator* (const Frame &lhs, const Frame &rhs)
 
Vector operator- (const Vector &arg)
 
IMETHOD Vector2 operator+ (const Vector2 &lhs, const Vector2 &rhs)
 
IMETHOD Vector2 operator- (const Vector2 &lhs, const Vector2 &rhs)
 
IMETHOD Vector2 operator* (const Vector2 &lhs, double rhs)
 
IMETHOD Vector2 operator* (double lhs, const Vector2 &rhs)
 
IMETHOD Vector2 operator/ (const Vector2 &lhs, double rhs)
 
IMETHOD Vector2 operator- (const Vector2 &arg)
 
IMETHOD Rotation2 operator* (const Rotation2 &lhs, const Rotation2 &rhs)
 
IMETHOD Frame2 operator* (const Frame2 &lhs, const Frame2 &rhs)
 
IMETHOD double dot (const Vector &lhs, const Vector &rhs)
 
IMETHOD double dot (const Twist &lhs, const Wrench &rhs)
 
IMETHOD double dot (const Wrench &rhs, const Twist &lhs)
 
IMETHOD bool Equal (const Vector &a, const Vector &b, double eps)
 
IMETHOD bool Equal (const Frame &a, const Frame &b, double eps)
 
IMETHOD bool Equal (const Wrench &a, const Wrench &b, double eps)
 
IMETHOD bool Equal (const Twist &a, const Twist &b, double eps)
 
IMETHOD bool Equal (const Vector2 &a, const Vector2 &b, double eps)
 
IMETHOD bool Equal (const Rotation2 &a, const Rotation2 &b, double eps)
 
IMETHOD bool Equal (const Frame2 &a, const Frame2 &b, double eps)
 
IMETHOD void SetToZero (Vector &v)
 
IMETHOD void SetToZero (Twist &v)
 
IMETHOD void SetToZero (Wrench &v)
 
IMETHOD void SetToZero (Vector2 &v)
 
IMETHOD Rotation Rot (const Vector &axis_a_b)
 
IMETHOD Vector diff (const Vector &a, const Vector &b, double dt)
 
IMETHOD Vector diff (const Rotation &R_a_b1, const Rotation &R_a_b2, double dt)
 diff operator for displacement rotational velocity. More...
 
IMETHOD Twist diff (const Frame &F_a_b1, const Frame &F_a_b2, double dt)
 
IMETHOD Twist diff (const Twist &a, const Twist &b, double dt)
 
IMETHOD Wrench diff (const Wrench &a, const Wrench &b, double dt)
 
IMETHOD Vector addDelta (const Vector &a, const Vector &da, double dt)
 
IMETHOD Rotation addDelta (const Rotation &a, const Vector &da, double dt)
 
IMETHOD Frame addDelta (const Frame &a, const Twist &da, double dt)
 
IMETHOD Twist addDelta (const Twist &a, const Twist &da, double dt)
 
IMETHOD Wrench addDelta (const Wrench &a, const Wrench &da, double dt)
 
IMETHOD void random (Vector &a)
 addDelta operator for displacement rotational velocity. More...
 
IMETHOD void random (Twist &a)
 
IMETHOD void random (Wrench &a)
 
IMETHOD void random (Rotation &R)
 
IMETHOD void random (Frame &F)
 
IMETHOD void posrandom (Vector &a)
 
IMETHOD void posrandom (Twist &a)
 
IMETHOD void posrandom (Wrench &a)
 
IMETHOD void posrandom (Rotation &R)
 
IMETHOD void posrandom (Frame &F)
 
IMETHOD bool operator== (const Frame &a, const Frame &b)
 
IMETHOD bool operator!= (const Frame &a, const Frame &b)
 
IMETHOD bool operator== (const Vector &a, const Vector &b)
 
IMETHOD bool operator!= (const Vector &a, const Vector &b)
 
IMETHOD bool operator== (const Twist &a, const Twist &b)
 
IMETHOD bool operator!= (const Twist &a, const Twist &b)
 
IMETHOD bool operator== (const Wrench &a, const Wrench &b)
 
IMETHOD bool operator!= (const Wrench &a, const Wrench &b)
 
IMETHOD bool operator!= (const Rotation &a, const Rotation &b)
 

Function Documentation

◆ addDelta() [1/5]

IMETHOD Frame addDelta ( const Frame a,
const Twist &  da,
double  dt 
)

Definition at line 1231 of file frames.inl.

References Freestyle::a, and KDL::addDelta().

◆ addDelta() [2/5]

IMETHOD Rotation addDelta ( const Rotation &  a,
const Vector &  da,
double  dt 
)

Definition at line 1228 of file frames.inl.

References Freestyle::a, and Rot().

◆ addDelta() [3/5]

IMETHOD Twist addDelta ( const Twist &  a,
const Twist &  da,
double  dt 
)

Definition at line 1237 of file frames.inl.

References Freestyle::a, and KDL::addDelta().

◆ addDelta() [4/5]

IMETHOD Vector addDelta ( const Vector &  a,
const Vector &  da,
double  dt 
)

Definition at line 1224 of file frames.inl.

References Freestyle::a.

◆ addDelta() [5/5]

IMETHOD Wrench addDelta ( const Wrench &  a,
const Wrench &  da,
double  dt 
)

Definition at line 1240 of file frames.inl.

References Freestyle::a, and KDL::addDelta().

◆ diff() [1/5]

IMETHOD Twist diff ( const Frame F_a_b1,
const Frame F_a_b2,
double  dt 
)

Definition at line 1206 of file frames.inl.

References KDL::diff().

◆ diff() [2/5]

IMETHOD Vector diff ( const Rotation &  R_a_b1,
const Rotation &  R_a_b2,
double  dt 
)

diff operator for displacement rotational velocity.

The Vector arguments here represent a displacement rotational velocity. i.e. a rotation around a fixed axis for a certain angle. For this representation you cannot use diff() but have to use diff_displ().

\TODO represent a displacement twist and displacement rotational velocity with another class, instead of Vector and Twist.

Warning
do not confuse displacement rotational velocities and velocities
do not confuse displacement twist and twist.

IMETHOD Vector diff_displ(const Vector& a,const Vector& b,double dt) { return diff(Rot(a),Rot(b),dt); }

diff operator for displacement twist.

The Twist arguments here represent a displacement twist. i.e. a rotation around a fixed axis for a certain angle. For this representation you cannot use diff() but have to use diff_displ().

Warning
do not confuse displacement rotational velocities and velocities
do not confuse displacement twist and twist.

IMETHOD Twist diff_displ(const Twist& a,const Twist& b,double dt) { return Twist(diff(a.vel,b.vel,dt),diff(Rot(a.rot),Rot(b.rot),dt)); }

Definition at line 1202 of file frames.inl.

◆ diff() [3/5]

IMETHOD Twist diff ( const Twist &  a,
const Twist &  b,
double  dt 
)

Definition at line 1212 of file frames.inl.

References Freestyle::a, usdtokens::b(), and KDL::diff().

◆ diff() [4/5]

IMETHOD Vector diff ( const Vector &  a,
const Vector &  b,
double  dt 
)

Definition at line 1166 of file frames.inl.

References Freestyle::a, and usdtokens::b().

◆ diff() [5/5]

IMETHOD Wrench diff ( const Wrench &  a,
const Wrench &  b,
double  dt 
)

Definition at line 1216 of file frames.inl.

References Freestyle::a, usdtokens::b(), and KDL::diff().

◆ dot() [1/3]

IMETHOD double dot ( const Twist &  lhs,
const Wrench &  rhs 
)

Definition at line 1052 of file frames.inl.

References dot().

◆ dot() [2/3]

IMETHOD double dot ( const Vector &  lhs,
const Vector &  rhs 
)

Definition at line 1048 of file frames.inl.

Referenced by dot().

◆ dot() [3/3]

IMETHOD double dot ( const Wrench &  rhs,
const Twist &  lhs 
)

Definition at line 1056 of file frames.inl.

References dot().

◆ Equal() [1/7]

IMETHOD bool Equal ( const Frame a,
const Frame b,
double  eps 
)

Definition at line 1075 of file frames.inl.

References Freestyle::a, usdtokens::b(), eps, and KDL::Equal().

◆ Equal() [2/7]

IMETHOD bool Equal ( const Frame2 &  a,
const Frame2 &  b,
double  eps 
)

Definition at line 1099 of file frames.inl.

References Freestyle::a, usdtokens::b(), eps, and KDL::Equal().

◆ Equal() [3/7]

IMETHOD bool Equal ( const Rotation2 &  a,
const Rotation2 &  b,
double  eps 
)

Definition at line 1095 of file frames.inl.

References Freestyle::a, usdtokens::b(), eps, and KDL::Equal().

◆ Equal() [4/7]

IMETHOD bool Equal ( const Twist &  a,
const Twist &  b,
double  eps 
)

Definition at line 1085 of file frames.inl.

References Freestyle::a, usdtokens::b(), eps, and KDL::Equal().

◆ Equal() [5/7]

IMETHOD bool Equal ( const Vector &  a,
const Vector &  b,
double  eps 
)

Definition at line 1068 of file frames.inl.

References Freestyle::a, usdtokens::b(), eps, and KDL::Equal().

◆ Equal() [6/7]

IMETHOD bool Equal ( const Vector2 &  a,
const Vector2 &  b,
double  eps 
)

Definition at line 1090 of file frames.inl.

References Freestyle::a, usdtokens::b(), eps, and KDL::Equal().

◆ Equal() [7/7]

IMETHOD bool Equal ( const Wrench &  a,
const Wrench &  b,
double  eps 
)

Definition at line 1080 of file frames.inl.

References Freestyle::a, usdtokens::b(), eps, and KDL::Equal().

◆ Normalize()

IMETHOD Vector Normalize ( const Vector &  a,
double  eps 
)

Definition at line 170 of file frames.inl.

References Freestyle::a, eps, and l.

◆ operator!=() [1/5]

IMETHOD bool operator!= ( const Frame a,
const Frame b 
)

Definition at line 1352 of file frames.inl.

References Freestyle::a, usdtokens::b(), and KDL::operator==().

◆ operator!=() [2/5]

IMETHOD bool operator!= ( const Rotation &  a,
const Rotation &  b 
)

Definition at line 1395 of file frames.inl.

References Freestyle::a, usdtokens::b(), and KDL::operator==().

◆ operator!=() [3/5]

IMETHOD bool operator!= ( const Twist &  a,
const Twist &  b 
)

Definition at line 1379 of file frames.inl.

References Freestyle::a, usdtokens::b(), and KDL::operator==().

◆ operator!=() [4/5]

IMETHOD bool operator!= ( const Vector &  a,
const Vector &  b 
)

Definition at line 1366 of file frames.inl.

References Freestyle::a, usdtokens::b(), and KDL::operator==().

◆ operator!=() [5/5]

IMETHOD bool operator!= ( const Wrench &  a,
const Wrench &  b 
)

Definition at line 1392 of file frames.inl.

References Freestyle::a, usdtokens::b(), and KDL::operator==().

◆ operator*() [1/12]

Frame operator* ( const Frame lhs,
const Frame rhs 
)

Definition at line 415 of file frames.inl.

◆ operator*() [2/12]

IMETHOD Frame2 operator* ( const Frame2 &  lhs,
const Frame2 &  rhs 
)

Definition at line 966 of file frames.inl.

◆ operator*() [3/12]

IMETHOD Rotation2 operator* ( const Rotation2 &  lhs,
const Rotation2 &  rhs 
)

Definition at line 906 of file frames.inl.

◆ operator*() [4/12]

Twist operator* ( const Twist &  lhs,
double  rhs 
)

Definition at line 365 of file frames.inl.

◆ operator*() [5/12]

Vector operator* ( const Vector &  lhs,
const Vector &  rhs 
)

Definition at line 118 of file frames.inl.

◆ operator*() [6/12]

Vector operator* ( const Vector &  lhs,
double  rhs 
)

Definition at line 91 of file frames.inl.

◆ operator*() [7/12]

IMETHOD Vector2 operator* ( const Vector2 &  lhs,
double  rhs 
)

Definition at line 801 of file frames.inl.

◆ operator*() [8/12]

Wrench operator* ( const Wrench &  lhs,
double  rhs 
)

Definition at line 262 of file frames.inl.

◆ operator*() [9/12]

Twist operator* ( double  lhs,
const Twist &  rhs 
)

Definition at line 370 of file frames.inl.

◆ operator*() [10/12]

Vector operator* ( double  lhs,
const Vector &  rhs 
)

Definition at line 100 of file frames.inl.

◆ operator*() [11/12]

IMETHOD Vector2 operator* ( double  lhs,
const Vector2 &  rhs 
)

Definition at line 806 of file frames.inl.

◆ operator*() [12/12]

Wrench operator* ( double  lhs,
const Wrench &  rhs 
)

Definition at line 267 of file frames.inl.

◆ operator+() [1/4]

Twist operator+ ( const Twist &  lhs,
const Twist &  rhs 
)

Definition at line 381 of file frames.inl.

◆ operator+() [2/4]

IMETHOD Vector operator+ ( const Vector &  lhs,
const Vector &  rhs 
)

Definition at line 65 of file frames.inl.

◆ operator+() [3/4]

IMETHOD Vector2 operator+ ( const Vector2 &  lhs,
const Vector2 &  rhs 
)

Definition at line 791 of file frames.inl.

◆ operator+() [4/4]

Wrench operator+ ( const Wrench &  lhs,
const Wrench &  rhs 
)

Definition at line 278 of file frames.inl.

◆ operator-() [1/8]

Twist operator- ( const Twist &  arg)

Definition at line 392 of file frames.inl.

◆ operator-() [2/8]

Twist operator- ( const Twist &  lhs,
const Twist &  rhs 
)

Definition at line 386 of file frames.inl.

◆ operator-() [3/8]

Vector operator- ( const Vector &  arg)

Definition at line 458 of file frames.inl.

◆ operator-() [4/8]

IMETHOD Vector operator- ( const Vector &  lhs,
const Vector &  rhs 
)

Definition at line 74 of file frames.inl.

◆ operator-() [5/8]

IMETHOD Vector2 operator- ( const Vector2 &  arg)

Definition at line 851 of file frames.inl.

◆ operator-() [6/8]

IMETHOD Vector2 operator- ( const Vector2 &  lhs,
const Vector2 &  rhs 
)

Definition at line 796 of file frames.inl.

◆ operator-() [7/8]

Wrench operator- ( const Wrench &  arg)

Definition at line 289 of file frames.inl.

◆ operator-() [8/8]

Wrench operator- ( const Wrench &  lhs,
const Wrench &  rhs 
)

Definition at line 283 of file frames.inl.

◆ operator/() [1/4]

Twist operator/ ( const Twist &  lhs,
double  rhs 
)

Definition at line 375 of file frames.inl.

◆ operator/() [2/4]

Vector operator/ ( const Vector &  lhs,
double  rhs 
)

Definition at line 109 of file frames.inl.

◆ operator/() [3/4]

IMETHOD Vector2 operator/ ( const Vector2 &  lhs,
double  rhs 
)

Definition at line 811 of file frames.inl.

◆ operator/() [4/4]

Wrench operator/ ( const Wrench &  lhs,
double  rhs 
)

Definition at line 272 of file frames.inl.

◆ operator==() [1/4]

IMETHOD bool operator== ( const Frame a,
const Frame b 
)

Definition at line 1343 of file frames.inl.

References Freestyle::a, usdtokens::b(), and KDL::Equal().

◆ operator==() [2/4]

IMETHOD bool operator== ( const Twist &  a,
const Twist &  b 
)

Definition at line 1370 of file frames.inl.

References Freestyle::a, usdtokens::b(), and KDL::Equal().

◆ operator==() [3/4]

IMETHOD bool operator== ( const Vector &  a,
const Vector &  b 
)

Definition at line 1356 of file frames.inl.

References Freestyle::a, usdtokens::b(), and KDL::Equal().

◆ operator==() [4/4]

IMETHOD bool operator== ( const Wrench &  a,
const Wrench &  b 
)

Definition at line 1383 of file frames.inl.

References Freestyle::a, usdtokens::b(), and KDL::Equal().

◆ posrandom() [1/5]

IMETHOD void posrandom ( Frame F)

Definition at line 1335 of file frames.inl.

References F, and KDL::random().

◆ posrandom() [2/5]

IMETHOD void posrandom ( Rotation &  R)

Definition at line 1325 of file frames.inl.

References beta(), KDL::Rotation::EulerZYX(), KDL::posrandom(), and R.

◆ posrandom() [3/5]

IMETHOD void posrandom ( Twist &  a)

Definition at line 1316 of file frames.inl.

References Freestyle::a, and KDL::posrandom().

◆ posrandom() [4/5]

IMETHOD void posrandom ( Vector &  a)

Definition at line 1311 of file frames.inl.

References Freestyle::a, and KDL::posrandom().

◆ posrandom() [5/5]

IMETHOD void posrandom ( Wrench &  a)

Definition at line 1320 of file frames.inl.

References Freestyle::a, and KDL::posrandom().

◆ random() [1/5]

IMETHOD void random ( Frame F)

Definition at line 1306 of file frames.inl.

References F, and KDL::random().

◆ random() [2/5]

IMETHOD void random ( Rotation &  R)

Definition at line 1296 of file frames.inl.

References beta(), KDL::Rotation::EulerZYX(), R, and KDL::random().

◆ random() [3/5]

IMETHOD void random ( Twist &  a)

Definition at line 1287 of file frames.inl.

References Freestyle::a, and KDL::random().

◆ random() [4/5]

IMETHOD void random ( Vector &  a)

addDelta operator for displacement rotational velocity.

The Vector arguments here represent a displacement rotational velocity. i.e. a rotation around a fixed axis for a certain angle. For this representation you cannot use diff() but have to use diff_displ().

Parameters
a: displacement rotational velocity
da: rotational velocity
Returns
displacement rotational velocity
Warning
do not confuse displacement rotational velocities and velocities
do not confuse displacement twist and twist.

IMETHOD Vector addDelta_displ(const Vector& a,const Vector&da,double dt) { return getRot(addDelta(Rot(a),da,dt)); }

addDelta operator for displacement twist.

The Vector arguments here represent a displacement rotational velocity. i.e. a rotation around a fixed axis for a certain angle. For this representation you cannot use diff() but have to use diff_displ().

Parameters
a: displacement twist
da: twist
Returns
displacement twist
Warning
do not confuse displacement rotational velocities and velocities
do not confuse displacement twist and twist.

IMETHOD Twist addDelta_displ(const Twist& a,const Twist&da,double dt) { return Twist(addDelta(a.vel,da.vel,dt),addDelta_displ(a.rot,da.rot,dt)); }

Definition at line 1282 of file frames.inl.

References Freestyle::a, and KDL::random().

Referenced by LightManager::device_update_points(), drw_call_obinfos_init(), NODE_DEFINE(), svm_node_closure_bsdf(), svm_node_particle_info(), and wind_func().

◆ random() [5/5]

IMETHOD void random ( Wrench &  a)

Definition at line 1291 of file frames.inl.

References Freestyle::a, and KDL::random().

◆ Rot()

IMETHOD Rotation Rot ( const Vector &  axis_a_b)

axis_a_b is a rotation vector, its norm is a rotation angle axis_a_b rotates the a frame towards the b frame. This routine returns the rotation matrix R_a_b

Definition at line 1143 of file frames.inl.

References angle(), KDL::cos(), KDL::sin(), and usdtokens::st().

Referenced by addDelta(), KDL::Joint::pose(), and iTaSC::Armature::updateJoint().

◆ SetToZero() [1/4]

IMETHOD void SetToZero ( Twist &  v)

Definition at line 1107 of file frames.inl.

References KDL::SetToZero(), and v.

◆ SetToZero() [2/4]

IMETHOD void SetToZero ( Vector &  v)

Definition at line 1104 of file frames.inl.

References v, and KDL::Vector::Zero().

Referenced by BKE_pose_rest().

◆ SetToZero() [3/4]

IMETHOD void SetToZero ( Vector2 &  v)

Definition at line 1116 of file frames.inl.

References v, and KDL::Vector2::Zero().

◆ SetToZero() [4/4]

IMETHOD void SetToZero ( Wrench &  v)

Definition at line 1111 of file frames.inl.

References KDL::SetToZero(), and v.