150 inline Vector(
double x,
double y,
double z);
153 inline Vector(
double* xyz);
156 inline Vector(
float* xyz);
162 inline void GetValue(
double* xyz)
const;
185 inline double x()
const;
186 inline double y()
const;
187 inline double z()
const;
188 inline void x(
double);
189 inline void y(
double);
190 inline void z(
double);
306 inline Rotation(
double Xx,
double Yx,
double Zx,
307 double Xy,
double Yy,
double Zy,
308 double Xz,
double Yz,
double Zz);
312 inline void setValue(
float* oglmat);
313 inline void getValue(
float* oglmat)
const;
417 static Rotation RPY(
double roll,
double pitch,
double yaw);
426 void GetRPY(
double& roll,
double& pitch,
double& yaw)
const;
436 return RPY(Gamma,Beta,Alfa);
450 inline void GetEulerZYX(
double& Alfa,
double& Beta,
double& Gamma)
const {
540 inline void setValue(
float* oglmat);
541 inline void getValue(
float* oglmat)
const;
660 static Frame DH(
double a,
double alpha,
double d,
double theta);
962 inline double Norm()
const;
1005 inline double operator() (
int i,
int j)
const;
1024 inline double GetRot()
const;
1054 inline double operator() (
int i,
int j)
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 z
_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 y
ATTR_WARN_UNUSED_RESULT const BMVert * v
SIMD_FORCE_INLINE btScalar angle(const btVector3 &v) const
Return the angle between this and another vector.
double operator()(int i, int j)
Vector2 operator*(const Vector2 &arg)
Frame2 & operator=(const Frame2 &arg)
void Integrate(const Twist &t_this, double frequency)
Rotation2 M
Orientation of the Frame.
friend bool Equal(const Frame2 &a, const Frame2 &b, double eps)
Vector2 p
origine of the Frame
represents a frame transformation in 3D space (rotation + translation)
Rotation M
Orientation of the Frame.
void setValue(float *oglmat)
void Make4x4(double *d)
Reads data from an double array.
void Integrate(const Twist &t_this, double frequency)
Frame & operator=(const Frame &arg)
Normal copy-by-value semantics.
void getValue(float *oglmat) const
friend bool operator==(const Frame &a, const Frame &b)
The literal equality operator==(), also identical.
static Frame DH_Craig1989(double a, double alpha, double d, double theta)
Vector operator*(const Vector &arg) const
friend bool Equal(const Frame &a, const Frame &b, double eps)
Vector p
origine of the Frame
Frame Inverse() const
Gives back inverse transformation of a Frame.
double operator()(int i, int j)
friend bool operator!=(const Frame &a, const Frame &b)
The literal inequality operator!=().
static Frame DH(double a, double alpha, double d, double theta)
double GetRot() const
Gets the angle (in radians)
Vector2 operator*(const Vector2 &v) const
double operator()(int i, int j) const
Access to elements 0..1,0..1, bounds are checked when NDEBUG is not set.
Rotation2(double ca, double sa)
static Rotation2 Rot(double angle)
The Rot... static functions give the value of the appropriate rotation matrix bac.
Rotation2()
Default constructor does NOT initialise to Zero().
static Rotation2 Identity()
friend bool Equal(const Rotation2 &a, const Rotation2 &b, double eps)
Rotation2(double angle_rad)
Rotation2 Inverse() const
void SetRot(double angle)
The SetRot.. functions set the value of *this to the appropriate rotation matrix.
Rotation2 & operator=(const Rotation2 &arg)
represents rotations in 3 dimensional space.
void GetRPY(double &roll, double &pitch, double &yaw) const
void DoRotZ(double angle)
Rotation Inverse() const
Gives back the inverse rotation matrix of *this.
Rotation & operator=(const Rotation &arg)
Vector operator*(const Vector &v) const
Vector UnitY() const
Access to the underlying unitvectors of the rotation matrix.
void UnitZ(const Vector &X)
Access to the underlying unitvectors of the rotation matrix.
Vector UnitZ() const
Access to the underlying unitvectors of the rotation matrix.
Vector UnitX() const
Access to the underlying unitvectors of the rotation matrix.
double GetRotAngle(Vector &axis, double eps=epsilon) const
static Rotation EulerZYX(double Alfa, double Beta, double Gamma)
static Rotation Rot2(const Vector &rotvec, double angle)
Along an arbitrary axes. rotvec should be normalized.
static Rotation Identity()
Gives back an identity rotaton matrix.
void GetEulerZYZ(double &alfa, double &beta, double &gamma) const
static Rotation RotX(double angle)
The Rot... static functions give the value of the appropriate rotation matrix back.
void setValue(float *oglmat)
friend bool operator==(const Rotation &a, const Rotation &b)
The literal equality operator==(), also identical.
friend bool operator!=(const Rotation &a, const Rotation &b)
The literal inequality operator!=()
void UnitX(const Vector &X)
Access to the underlying unitvectors of the rotation matrix.
static Rotation Rot(const Vector &rotaxis, double angle)
void DoRotX(double angle)
static Rotation RotY(double angle)
The Rot... static functions give the value of the appropriate rotation matrix back.
void getValue(float *oglmat) const
void SetInverse()
Sets the value of *this to its inverse.
static Rotation EulerZYZ(double Alfa, double Beta, double Gamma)
void GetEulerZYX(double &Alfa, double &Beta, double &Gamma) const
void UnitY(const Vector &X)
Access to the underlying unitvectors of the rotation matrix.
static Rotation RotZ(double angle)
The Rot... static functions give the value of the appropriate rotation matrix back.
double & operator()(int i, int j)
Access to elements 0..2,0..2, bounds are checked when NDEBUG is not set.
void DoRotY(double angle)
static Rotation RPY(double roll, double pitch, double yaw)
represents both translational and rotational velocities.
friend Twist operator*(const Twist &lhs, double rhs)
Twist(const Vector &_vel, const Vector &_rot)
Twist & operator+=(const Twist &arg)
double & operator()(int i)
index-based access to components, first vel(0..2), then rot(3..5)
friend double dot(const Twist &lhs, const Wrench &rhs)
friend double dot(const Wrench &rhs, const Twist &lhs)
friend bool Equal(const Twist &a, const Twist &b, double eps)
friend bool operator==(const Twist &a, const Twist &b)
The literal equality operator==(), also identical.
Vector rot
The rotational velocity of that point.
friend Twist operator-(const Twist &lhs, const Twist &rhs)
Twist()
The default constructor initialises to Zero via the constructor of Vector.
friend void SetToZero(Twist &v)
friend Twist operator/(const Twist &lhs, double rhs)
friend Twist operator-(const Twist &arg)
void ReverseSign()
Reverses the sign of the twist.
Twist RefPoint(const Vector &v_base_AB) const
friend Twist operator*(double lhs, const Twist &rhs)
friend Twist operator+(const Twist &lhs, const Twist &rhs)
Twist & operator-=(const Twist &arg)
double operator[](int index) const
Vector vel
The velocity of that point.
friend bool operator!=(const Twist &a, const Twist &b)
The literal inequality operator!=().
friend Vector2 operator-(const Vector2 &arg)
friend Vector2 operator-(const Vector2 &lhs, const Vector2 &rhs)
friend Vector2 operator*(const Vector2 &lhs, double rhs)
void Set3DZX(const Vector &v)
projects v in its ZX plane, and sets *this to these values
Vector2 & operator=(const Vector2 &arg)
double Normalize(double eps=epsilon)
void GetValue(double *xy) const
store vector components in array
void Set3DXY(const Vector &v)
projects v in its XY plane, and sets *this to these values
Vector2()
Does not initialise to Zero().
friend Vector2 operator/(const Vector2 &lhs, double rhs)
Vector2 & operator+=(const Vector2 &arg)
void Set3DYZ(const Vector &v)
projects v in its YZ plane, and sets *this to these values
friend void SetToZero(Vector2 &v)
friend Vector2 operator*(const Vector2 &lhs, const Vector2 &rhs)
friend Vector2 operator+(const Vector2 &lhs, const Vector2 &rhs)
Vector2 & operator-=(const Vector2 &arg)
friend bool Equal(const Vector2 &a, const Vector2 &b, double eps)
double operator()(int index) const
Access to elements, range checked when NDEBUG is not set, from 0..1.
void Set3DPlane(const Frame &F_someframe_XY, const Vector &v_someframe)
friend Vector2 operator*(double lhs, const Vector2 &rhs)
A concrete implementation of a 3 dimensional vector class.
void Set2DPlane(const Frame &F_someframe_XY, const Vector2 &v_XY)
a 3D vector where the 2D vector v_XY is put in the XY plane of the frame F_someframe_XY.
friend double dot(const Vector &lhs, const Vector &rhs)
void GetValue(double *xyz) const
store vector components in array
void ReverseSign()
Reverses the sign of the Vector object itself.
friend void SetToZero(Vector &v)
Vector & operator-=(const Vector &arg)
subtracts a vector from the Vector object itself
friend Vector operator+(const Vector &lhs, const Vector &rhs)
friend Vector operator/(const Vector &lhs, double rhs)
Scalar division is defined.
Vector & operator*=(double arg)
Multiply by a scalar.
friend bool operator==(const Vector &a, const Vector &b)
The literal equality operator==(), also identical.
friend bool Equal(const Vector &a, const Vector &b, double eps)
double operator[](int index) const
Equivalent to double operator()(int index) const.
friend Vector Normalize(const Vector &a, double eps)
return a normalized vector
friend Vector operator-(const Vector &arg)
void Set2DZX(const Vector2 &v)
a 3D vector where the 2D vector v is put in the ZX plane
Vector & operator+=(const Vector &arg)
Adds a vector from the Vector object itself.
friend Vector operator*(const Vector &lhs, const Vector &rhs)
Vector & operator=(const Vector &arg)
Assignment operator. The normal copy by value semantics.
double Normalize(double eps=epsilon)
Vector()
Does not initialise the Vector to zero. use Vector::Zero() or SetToZero for that.
void Set2DXY(const Vector2 &v)
a 3D vector where the 2D vector v is put in the XY plane
double operator()(int index) const
Access to elements, range checked when NDEBUG is not set, from 0..2.
friend Vector operator*(const Vector &lhs, double rhs)
Scalar multiplication is defined.
friend Vector operator-(const Vector &lhs, const Vector &rhs)
friend bool operator!=(const Vector &a, const Vector &b)
The literal inequality operator!=().
void Set2DYZ(const Vector2 &v)
a 3D vector where the 2D vector v is put in the YZ plane
friend Vector operator*(double lhs, const Vector &rhs)
Scalar multiplication is defined.
represents both translational and rotational acceleration.
friend bool Equal(const Wrench &a, const Wrench &b, double eps)
Wrench & operator+=(const Wrench &arg)
friend Wrench operator+(const Wrench &lhs, const Wrench &rhs)
Wrench & operator-=(const Wrench &arg)
Vector force
Force that is applied at the origin of the current ref frame.
friend bool operator==(const Wrench &a, const Wrench &b)
The literal equality operator==(), also identical.
friend Wrench operator/(const Wrench &lhs, double rhs)
Scalar division.
Wrench()
Does initialise force and torque to zero via the underlying constructor of Vector.
Wrench(const Vector &_force, const Vector &_torque)
double & operator()(int i)
index-based access to components, first force(0..2), then torque(3..5)
friend Wrench operator-(const Wrench &lhs, const Wrench &rhs)
friend Wrench operator-(const Wrench &arg)
An unary - operator.
friend bool operator!=(const Wrench &a, const Wrench &b)
The literal inequality operator!=().
Vector torque
Torque that is applied at the origin of the current ref frame.
double operator[](int index) const
Wrench RefPoint(const Vector &v_base_AB) const
friend Wrench operator*(const Wrench &lhs, double rhs)
Scalar multiplication.
friend Wrench operator*(double lhs, const Wrench &rhs)
Scalar multiplication.
friend void SetToZero(Wrench &v)
void ReverseSign()
Reverses the sign of the current Wrench.
@ Vector
Vector data type.
IMETHOD Vector diff(const Vector &a, const Vector &b, double dt=1)
bool operator==(const Rotation &a, const Rotation &b)
INLINE Rall1d< T, V, S > cos(const Rall1d< T, V, S > &arg)
Vector Normalize(const Vector &, double eps=epsilon)
IMETHOD Vector addDelta(const Vector &a, const Vector &da, double dt=1)
double epsilon
default precision while comparing with Equal(..,..) functions. Initialized at 0.0000001.
INLINE Rall1d< T, V, S > sin(const Rall1d< T, V, S > &arg)
IMETHOD bool Equal(const VectorAcc &, const VectorAcc &, double=epsilon)
static const pxr::TfToken b("b", pxr::TfToken::Immortal)
ccl_device_inline float beta(float x, float y)
CCL_NAMESPACE_BEGIN struct Window V