27 return FrameVel(RotationVel::Identity(),VectorVel::Zero());
31 FrameVel
operator *(
const FrameVel& lhs,
const FrameVel& rhs)
33 return FrameVel(lhs.M*rhs.M,lhs.M*rhs.p+lhs.p);
37 return FrameVel(lhs.M*rhs.M,lhs.M*rhs.p+lhs.p);
41 return FrameVel(lhs.M*rhs.M , lhs.M*rhs.p+lhs.p );
55 return M.Inverse(arg-p);
60 return M.Inverse(arg-p);
73 bool Equal(
const FrameVel& r1,
const FrameVel& r2,
double eps) {
83 Frame FrameVel::GetFrame()
const {
87 Twist FrameVel::GetTwist()
const {
92 RotationVel
operator* (
const RotationVel& r1,
const RotationVel& r2) {
93 return RotationVel( r1.R*r2.R, r1.w + r1.R*r2.w );
96 RotationVel
operator* (
const Rotation& r1,
const RotationVel& r2) {
97 return RotationVel( r1*r2.R, r1*r2.w );
100 RotationVel
operator* (
const RotationVel& r1,
const Rotation& r2) {
101 return RotationVel( r1.R*r2, r1.w );
130 return RotationVel(Rotation::Identity(),Vector::Zero());
140 R.Inverse(arg.
v-
w*arg.
p)
208 VectorVel
operator + (
const VectorVel& r1,
const VectorVel& r2) {
209 return VectorVel(r1.p+r2.p,r1.v+r2.v);
212 VectorVel
operator - (
const VectorVel& r1,
const VectorVel& r2) {
213 return VectorVel(r1.p-r2.p,r1.v-r2.v);
216 VectorVel
operator + (
const VectorVel& r1,
const Vector& r2) {
217 return VectorVel(r1.p+r2,r1.v);
220 VectorVel
operator - (
const VectorVel& r1,
const Vector& r2) {
221 return VectorVel(r1.p-r2,r1.v);
224 VectorVel
operator + (
const Vector& r1,
const VectorVel& r2) {
225 return VectorVel(r1+r2.p,r2.v);
228 VectorVel
operator - (
const Vector& r1,
const VectorVel& r2) {
229 return VectorVel(r1-r2.p,-r2.v);
234 return VectorVel(-
r.p,-
r.v);
243 VectorVel
operator * (
const VectorVel& r1,
const VectorVel& r2) {
244 return VectorVel(r1.p*r2.p, r1.p*r2.v+r1.v*r2.p);
247 VectorVel
operator * (
const VectorVel& r1,
const Vector& r2) {
248 return VectorVel(r1.p*r2, r1.v*r2);
251 VectorVel
operator * (
const Vector& r1,
const VectorVel& r2) {
252 return VectorVel(r1*r2.p, r1*r2.v);
259 return VectorVel(r1*r2.p, r1*r2.v);
263 return VectorVel(r1.p*r2, r1.v*r2);
269 return VectorVel(r1.t*r2.p, r1.t*r2.v + r1.grad*r2.p);
273 return VectorVel(r1.t*r2.p, r1.t*r2.v + r1.grad*r2.p);
277 return VectorVel(r1.p/r2, r1.v/r2);
281 return VectorVel(r2.p/r1.t, r2.v/r1.t - r2.p*r1.grad/r1.t/r1.t);
285 return VectorVel(
R*
x.p,
R*
x.v);
310 return VectorVel(Vector::Zero(),Vector::Zero());
312 void VectorVel::ReverseSign() {
321 bool Equal(
const VectorVel& r1,
const VectorVel& r2,
double eps) {
324 bool Equal(
const Vector& r1,
const VectorVel& r2,
double eps) {
327 bool Equal(
const VectorVel& r1,
const Vector& r2,
double eps) {
331 bool Equal(
const RotationVel& r1,
const RotationVel& r2,
double eps) {
334 bool Equal(
const Rotation& r1,
const RotationVel& r2,
double eps) {
337 bool Equal(
const RotationVel& r1,
const Rotation& r2,
double eps) {
378 return TwistVel(VectorVel::Zero(),VectorVel::Zero());
382 void TwistVel::ReverseSign()
415 return TwistVel(lhs.vel*rhs,lhs.rot*rhs);
420 return TwistVel(lhs*rhs.vel,lhs*rhs.rot);
425 return TwistVel(lhs.vel/rhs,lhs.rot/rhs);
431 return TwistVel(lhs.vel*rhs,lhs.rot*rhs);
436 return TwistVel(lhs*rhs.vel,lhs*rhs.rot);
441 return TwistVel(lhs.vel/rhs,lhs.rot/rhs);
447 TwistVel
operator+(
const TwistVel& lhs,
const TwistVel& rhs)
449 return TwistVel(lhs.vel+rhs.vel,lhs.rot+rhs.rot);
452 TwistVel
operator-(
const TwistVel& lhs,
const TwistVel& rhs)
454 return TwistVel(lhs.vel-rhs.vel,lhs.rot-rhs.rot);
460 return TwistVel(-arg.vel,-arg.rot);
530 Twist TwistVel::GetTwistDot()
const {
_GL_VOID GLfloat value _GL_VOID_RET _GL_VOID const GLuint GLboolean *residences _GL_BOOL_RET _GL_VOID GLsizei GLfloat GLfloat GLfloat GLfloat const GLubyte *bitmap _GL_VOID_RET _GL_VOID GLenum const void *lists _GL_VOID_RET _GL_VOID const GLdouble *equation _GL_VOID_RET _GL_VOID GLdouble GLdouble blue _GL_VOID_RET _GL_VOID GLfloat GLfloat blue _GL_VOID_RET _GL_VOID GLint GLint blue _GL_VOID_RET _GL_VOID GLshort GLshort blue _GL_VOID_RET _GL_VOID GLubyte GLubyte blue _GL_VOID_RET _GL_VOID GLuint GLuint blue _GL_VOID_RET _GL_VOID GLushort GLushort blue _GL_VOID_RET _GL_VOID GLbyte GLbyte GLbyte alpha _GL_VOID_RET _GL_VOID GLdouble GLdouble GLdouble alpha _GL_VOID_RET _GL_VOID GLfloat GLfloat GLfloat alpha _GL_VOID_RET _GL_VOID GLint GLint GLint alpha _GL_VOID_RET _GL_VOID GLshort GLshort GLshort alpha _GL_VOID_RET _GL_VOID GLubyte GLubyte GLubyte alpha _GL_VOID_RET _GL_VOID GLuint GLuint GLuint alpha _GL_VOID_RET _GL_VOID GLushort GLushort GLushort alpha _GL_VOID_RET _GL_VOID GLenum mode _GL_VOID_RET _GL_VOID GLint GLsizei GLsizei GLenum type _GL_VOID_RET _GL_VOID GLsizei GLenum GLenum const void *pixels _GL_VOID_RET _GL_VOID const void *pointer _GL_VOID_RET _GL_VOID GLdouble v _GL_VOID_RET _GL_VOID GLfloat v _GL_VOID_RET _GL_VOID GLint GLint i2 _GL_VOID_RET _GL_VOID GLint j _GL_VOID_RET _GL_VOID GLfloat param _GL_VOID_RET _GL_VOID GLint param _GL_VOID_RET _GL_VOID GLdouble GLdouble GLdouble GLdouble GLdouble zFar _GL_VOID_RET _GL_UINT GLdouble *equation _GL_VOID_RET _GL_VOID GLenum GLint *params _GL_VOID_RET _GL_VOID GLenum GLfloat *v _GL_VOID_RET _GL_VOID GLenum GLfloat *params _GL_VOID_RET _GL_VOID GLfloat *values _GL_VOID_RET _GL_VOID GLushort *values _GL_VOID_RET _GL_VOID GLenum GLfloat *params _GL_VOID_RET _GL_VOID GLenum GLdouble *params _GL_VOID_RET _GL_VOID GLenum GLint *params _GL_VOID_RET _GL_VOID GLsizei const void *pointer _GL_VOID_RET _GL_VOID GLsizei const void *pointer _GL_VOID_RET _GL_BOOL GLfloat param _GL_VOID_RET _GL_VOID GLint param _GL_VOID_RET _GL_VOID GLenum GLfloat param _GL_VOID_RET _GL_VOID GLenum GLint param _GL_VOID_RET _GL_VOID GLushort pattern _GL_VOID_RET _GL_VOID GLdouble GLdouble GLint GLint const GLdouble *points _GL_VOID_RET _GL_VOID GLdouble GLdouble GLint GLint GLdouble GLdouble GLint GLint const GLdouble *points _GL_VOID_RET _GL_VOID GLdouble GLdouble u2 _GL_VOID_RET _GL_VOID GLdouble GLdouble GLint GLdouble GLdouble v2 _GL_VOID_RET _GL_VOID GLenum GLfloat param _GL_VOID_RET _GL_VOID GLenum GLint param _GL_VOID_RET _GL_VOID GLenum mode _GL_VOID_RET _GL_VOID GLdouble GLdouble nz _GL_VOID_RET _GL_VOID GLfloat GLfloat nz _GL_VOID_RET _GL_VOID GLint GLint nz _GL_VOID_RET _GL_VOID GLshort GLshort nz _GL_VOID_RET _GL_VOID GLsizei const void *pointer _GL_VOID_RET _GL_VOID GLsizei const GLfloat *values _GL_VOID_RET _GL_VOID GLsizei const GLushort *values _GL_VOID_RET _GL_VOID GLint param _GL_VOID_RET _GL_VOID const GLuint const GLclampf *priorities _GL_VOID_RET _GL_VOID GLdouble y _GL_VOID_RET _GL_VOID GLfloat y _GL_VOID_RET _GL_VOID GLint y _GL_VOID_RET _GL_VOID GLshort y _GL_VOID_RET _GL_VOID GLdouble GLdouble z _GL_VOID_RET _GL_VOID GLfloat GLfloat z _GL_VOID_RET _GL_VOID GLint GLint z _GL_VOID_RET _GL_VOID GLshort GLshort z _GL_VOID_RET _GL_VOID GLdouble GLdouble GLdouble w _GL_VOID_RET _GL_VOID GLfloat GLfloat GLfloat w _GL_VOID_RET _GL_VOID GLint GLint GLint w _GL_VOID_RET _GL_VOID GLshort GLshort GLshort w _GL_VOID_RET _GL_VOID GLdouble GLdouble GLdouble y2 _GL_VOID_RET _GL_VOID GLfloat GLfloat GLfloat y2 _GL_VOID_RET _GL_VOID GLint GLint GLint y2 _GL_VOID_RET _GL_VOID GLshort GLshort GLshort y2 _GL_VOID_RET _GL_VOID GLdouble GLdouble GLdouble z _GL_VOID_RET _GL_VOID GLdouble GLdouble z _GL_VOID_RET _GL_VOID GLuint *buffer _GL_VOID_RET _GL_VOID GLdouble t _GL_VOID_RET _GL_VOID GLfloat t _GL_VOID_RET _GL_VOID GLint t _GL_VOID_RET _GL_VOID GLshort t _GL_VOID_RET _GL_VOID GLdouble GLdouble r _GL_VOID_RET _GL_VOID GLfloat GLfloat r _GL_VOID_RET _GL_VOID GLint GLint r _GL_VOID_RET _GL_VOID GLshort GLshort r _GL_VOID_RET _GL_VOID GLdouble GLdouble r
__forceinline avxi & operator-=(avxi &a, const avxi &b)
__forceinline avxi & operator+=(avxi &a, const avxi &b)
Assignment Operators.
ATTR_WARN_UNUSED_RESULT const BMVert * v
btGeneric6DofConstraint & operator=(btGeneric6DofConstraint &other)
SIMD_FORCE_INLINE const btScalar & w() const
Return the w value.
SIMD_FORCE_INLINE btScalar angle(const btVector3 &v) const
Return the angle between this and another vector.
represents a frame transformation in 3D space (rotation + translation)
Rotation M
Orientation of the Frame.
Vector p
origine of the Frame
represents rotations in 3 dimensional space.
represents both translational and rotational velocities.
Vector rot
The rotational velocity of that point.
Vector vel
The velocity of that point.
A concrete implementation of a 3 dimensional vector class.
IMETHOD Rotation Rot(const Vector &axis_a_b)
void SetToZero(VectorVel &v)
FrameVel operator*(const FrameVel &lhs, const FrameVel &rhs)
VectorVel operator/(const VectorVel &r1, double r2)
VectorVel operator-(const VectorVel &r1, const VectorVel &r2)
IMETHOD doubleVel dot(const VectorVel &lhs, const VectorVel &rhs)
VectorVel operator+(const VectorVel &r1, const VectorVel &r2)
bool Equal(const FrameVel &r1, const FrameVel &r2, double eps)
INLINE S Norm(const Rall1d< T, V, S > &value)
Rall1d< double > doubleVel
static const pxr::TfToken b("b", pxr::TfToken::Immortal)