30 size(_size),nr_blocks(_nr_blocks)
37 nr_blocks(arg.nr_blocks)
40 for(
unsigned int i=0;i<size*nr_blocks;i++)
46 assert(size==arg.size);
47 assert(nr_blocks==arg.nr_blocks);
48 for(
unsigned int i=0;i<size;i++)
61 assert(i<6*(
int)nr_blocks&&j<(
int)size);
67 assert(i<6*(
int)nr_blocks&&j<(
int)size);
83 for(
unsigned int i=0;i<jac.size*jac.nr_blocks;i++)
89 assert(src1.size==
dest.size);
90 assert(src1.nr_blocks==
dest.nr_blocks);
91 for(
unsigned int i=0;i<src1.size*src1.nr_blocks;i++)
97 assert(src1.size==
dest.size);
98 assert(src1.nr_blocks==
dest.nr_blocks);
99 for(
unsigned int i=0;i<src1.size*src1.nr_blocks;i++)
105 assert(src1.size==
dest.size);
106 assert(src1.nr_blocks==
dest.nr_blocks);
107 for(
unsigned int i=0;i<src1.size*src1.nr_blocks;i++)
113 return Equal((*
this),arg);
118 return !
Equal((*
this),arg);
123 if(
a.rows()==
b.rows()&&
a.columns()==
b.columns()){
125 for(
unsigned int i=0;i<
a.columns();i++)
static DBVT_INLINE btScalar size(const btDbvtVolume &a)
represents a frame transformation in 3D space (rotation + translation)
bool operator==(const Jacobian &arg)
double operator()(int i, int j) const
unsigned int columns() const
friend bool Equal(const Jacobian &a, const Jacobian &b, double eps)
Jacobian(unsigned int size, unsigned int nr=1)
Jacobian & operator=(const Jacobian &arg)
bool operator!=(const Jacobian &arg)
unsigned int rows() const
represents rotations in 3 dimensional space.
represents both translational and rotational velocities.
Twist RefPoint(const Vector &v_base_AB) const
A concrete implementation of a 3 dimensional vector class.
void changeBase(const Jacobian &src1, const Rotation &rot, Jacobian &dest)
void SetToZero(Jacobian &jac)
void changeRefFrame(const Jacobian &src1, const Frame &frame, Jacobian &dest)
void changeRefPoint(const Jacobian &src1, const Vector &base_AB, Jacobian &dest)
IMETHOD bool Equal(const VectorAcc &, const VectorAcc &, double=epsilon)
static const pxr::TfToken b("b", pxr::TfToken::Immortal)