vec.h File Reference

#include <math.h>

Include dependency graph for vec.h:

This graph shows which files directly or indirectly include this file:

Go to the source code of this file.


Namespaces

namespace  sofa
 Main SOFA namespace.
namespace  sofa::helper
 Utility helper classes that we need, but that are not the core of the plateform.
namespace  sofa::helper::polygon_cube_intersection

Defines

#define VEC_H   4
#define SET2(to, from)
#define SETMAT2(to, from)
#define ROUNDVEC2(to, from)
#define ROUNDMAT2(to, from)
#define FILLVEC2(v, s)
#define FILLMAT2(m, s)
#define ZEROVEC2(v)
#define ISZEROVEC2(v)
#define EQVEC2(v, w)
#define EQMAT2(m1, m2)
#define ZEROMAT2(m)
#define IDENTMAT2(m)
#define TRANSPOSE2(to, from)
#define VPV2(to, v, w)
#define VMV2(to, v, w)
#define MPM2(to, m1, m2)
#define MMM2(to, m1, m2)
#define SXV2(to, s, from)
#define SXM2(to, s, from)
#define MV2(to, from)
#define MM2(to, from)
#define VXS2(to, from, s)
#define VDS2(to, from, s)
#define MXS2(to, from, s)
#define MDS2(to, from, s)
#define MXM2(to, m1, m2)
#define VXM2(to, v, m)
#define MXV2(to, m, v)
#define LERP2(to, v0, v1, t)
#define TRACE2(m)
#define DOT2(v, w)
#define NORMSQRD2(v)
#define DISTSQRD2(v, w)
#define _DOTcol2(v, m, j)
#define _SETcol2(v, m, j)
#define _MXVcol2(to, m, M, j)
#define _DET2(v0, v1, i0, i1)
#define XV2(to, v1)
#define V2XM3(to2, v2, m3)
#define M3XV2(to2, m3, v2)
#define _DET1(v0, i0)   ((v0)[i0])
#define VXV2(v0, v1)   (_DET2(v0,v1,0,1))
#define DET2(m)   (VXV2((m)[0],(m)[1]))
#define ADJOINT2(to, m)
#define _ADJOINTcol2(to, col, m, i1)
#define __ADJOINTcol2(to, col, m, i1)
#define SET3(to, from)
#define SETMAT3(to, from)
#define ROUNDVEC3(to, from)
#define ROUNDMAT3(to, from)
#define FILLVEC3(v, s)
#define FILLMAT3(m, s)
#define ZEROVEC3(v)
#define ISZEROVEC3(v)
#define EQVEC3(v, w)
#define EQMAT3(m1, m2)
#define ZEROMAT3(m)
#define IDENTMAT3(m)
#define TRANSPOSE3(to, from)
#define VPV3(to, v, w)
#define VMV3(to, v, w)
#define MPM3(to, m1, m2)
#define MMM3(to, m1, m2)
#define SXV3(to, s, from)
#define SXM3(to, s, from)
#define MV3(to, from)
#define MM3(to, from)
#define VXS3(to, from, s)
#define VDS3(to, from, s)
#define MXS3(to, from, s)
#define MDS3(to, from, s)
#define MXM3(to, m1, m2)
#define VXM3(to, v, m)
#define MXV3(to, m, v)
#define LERP3(to, v0, v1, t)
#define TRACE3(m)
#define DOT3(v, w)
#define NORMSQRD3(v)
#define DISTSQRD3(v, w)
#define _DOTcol3(v, m, j)
#define _SETcol3(v, m, j)
#define _MXVcol3(to, m, M, j)
#define _DET3(v0, v1, v2, i0, i1, i2)
#define VXV3(to, v1, v2)
#define SET3from2(to, from, pad)
#define SETMAT3from2(to, from, pad0, pad1)
#define M2XM3(to3, m2, m3)
#define M3XM2(to3, m3, m2)
#define V3XM4(to3, v3, m4)
#define M4XV3(to3, m4, v3)
#define VXVXV3(v0, v1, v2)   (_DET3(v0,v1,v2,0,1,2))
#define DET3(m)   (VXVXV3((m)[0],(m)[1],(m)[2]))
#define ADJOINT3(to, m)
#define _ADJOINTcol3(to, col, m, i1, i2)
#define __ADJOINTcol3(to, col, m, i1, i2)
#define SET4(to, from)
#define SETMAT4(to, from)
#define ROUNDVEC4(to, from)
#define ROUNDMAT4(to, from)
#define FILLVEC4(v, s)
#define FILLMAT4(m, s)
#define ZEROVEC4(v)
#define ISZEROVEC4(v)
#define EQVEC4(v, w)
#define EQMAT4(m1, m2)
#define ZEROMAT4(m)
#define IDENTMAT4(m)
#define TRANSPOSE4(to, from)
#define VPV4(to, v, w)
#define VMV4(to, v, w)
#define MPM4(to, m1, m2)
#define MMM4(to, m1, m2)
#define SXV4(to, s, from)
#define SXM4(to, s, from)
#define MV4(to, from)
#define MM4(to, from)
#define VXS4(to, from, s)
#define VDS4(to, from, s)
#define MXS4(to, from, s)
#define MDS4(to, from, s)
#define MXM4(to, m1, m2)
#define VXM4(to, v, m)
#define MXV4(to, m, v)
#define LERP4(to, v0, v1, t)
#define TRACE4(m)
#define DOT4(v, w)
#define NORMSQRD4(v)
#define DISTSQRD4(v, w)
#define _DOTcol4(v, m, j)
#define _SETcol4(v, m, j)
#define _MXVcol4(to, m, M, j)
#define _DET4(v0, v1, v2, v3, i0, i1, i2, i3)
#define VXVXV4(to, v1, v2, v3)
#define SET4from3(to, from, pad)
#define SETMAT4from3(to, from, pad0, pad1)
#define M3XM4(to4, m3, m4)
#define M4XM3(to4, m4, m3)
#define VXVXVXV4(v0, v1, v2, v3)   (_DET4(v0,v1,v2,v3,0,1,2,3))
#define DET4(m)   (VXVXVXV4((m)[0],(m)[1],(m)[2],(m)[3]))
#define ADJOINT4(to, m)
#define _ADJOINTcol4(to, col, m, i1, i2, i3)
#define __ADJOINTcol4(to, col, m, i1, i2, i3)
#define TRANSPOSE2safe(type, to, from)
#define TRANSPOSE2d(to, from)   TRANSPOSE2safe(double,to,from)
#define TRANSPOSE2i(to, from)   TRANSPOSE2safe(int,to,from)
#define TRANSPOSE2l(to, from)   TRANSPOSE2safe(long,to,from)
#define TRANSPOSE2r(to, from)   TRANSPOSE2safe(real,to,from)
#define MXM2safe(type, to, m1, m2)
#define MXM2d(to, m1, m2)   MXM2safe(double,to,m1,m2)
#define MXM2i(to, m1, m2)   MXM2safe(int,to,m1,m2)
#define MXM2l(to, m1, m2)   MXM2safe(long,to,m1,m2)
#define MXM2r(to, m1, m2)   MXM2safe(real,to,m1,m2)
#define VXM2safe(type, to, v, m)
#define VXM2d(to, v, m)   VXM2safe(double,to,v,m)
#define VXM2i(to, v, m)   VXM2safe(int,to,v,m)
#define VXM2l(to, v, m)   VXM2safe(long,to,v,m)
#define VXM2r(to, v, m)   VXM2safe(real,to,v,m)
#define MXV2safe(type, to, m, v)
#define MXV2d(to, m, v)   MXV2safe(double,to,m,v)
#define MXV2i(to, m, v)   MXV2safe(int,to,m,v)
#define MXV2l(to, m, v)   MXV2safe(long,to,m,v)
#define MXV2r(to, m, v)   MXV2safe(real,to,m,v)
#define XV2safe(type, to, v1)
#define XV2d(to, v1)   XV2safe(double,to,v1)
#define XV2i(to, v1)   XV2safe(int,to,v1)
#define XV2l(to, v1)   XV2safe(long,to,v1)
#define XV2r(to, v1)   XV2safe(real,to,v1)
#define V2XM3safe(type, to2, v2, m3)
#define V2XM3d(to2, v2, m3)   V2XM3safe(double,to2,v2,m3)
#define V2XM3i(to2, v2, m3)   V2XM3safe(int,to2,v2,m3)
#define V2XM3l(to2, v2, m3)   V2XM3safe(long,to2,v2,m3)
#define V2XM3r(to2, v2, m3)   V2XM3safe(real,to2,v2,m3)
#define M3XV2safe(type, to2, m3, v2)
#define M3XV2d(to2, m3, v2)   M3XV2safe(double,to2,m3,v2)
#define M3XV2i(to2, m3, v2)   M3XV2safe(int,to2,m3,v2)
#define M3XV2l(to2, m3, v2)   M3XV2safe(long,to2,m3,v2)
#define M3XV2r(to2, m3, v2)   M3XV2safe(real,to2,m3,v2)
#define ADJOINT2safe(type, to, m)
#define ADJOINT2d(to, m)   ADJOINT2safe(double,to,m)
#define ADJOINT2i(to, m)   ADJOINT2safe(int,to,m)
#define ADJOINT2l(to, m)   ADJOINT2safe(long,to,m)
#define ADJOINT2r(to, m)   ADJOINT2safe(real,to,m)
#define TRANSPOSE3safe(type, to, from)
#define TRANSPOSE3d(to, from)   TRANSPOSE3safe(double,to,from)
#define TRANSPOSE3i(to, from)   TRANSPOSE3safe(int,to,from)
#define TRANSPOSE3l(to, from)   TRANSPOSE3safe(long,to,from)
#define TRANSPOSE3r(to, from)   TRANSPOSE3safe(real,to,from)
#define MXM3safe(type, to, m1, m2)
#define MXM3d(to, m1, m2)   MXM3safe(double,to,m1,m2)
#define MXM3i(to, m1, m2)   MXM3safe(int,to,m1,m2)
#define MXM3l(to, m1, m2)   MXM3safe(long,to,m1,m2)
#define MXM3r(to, m1, m2)   MXM3safe(real,to,m1,m2)
#define VXM3safe(type, to, v, m)
#define VXM3d(to, v, m)   VXM3safe(double,to,v,m)
#define VXM3i(to, v, m)   VXM3safe(int,to,v,m)
#define VXM3l(to, v, m)   VXM3safe(long,to,v,m)
#define VXM3r(to, v, m)   VXM3safe(real,to,v,m)
#define MXV3safe(type, to, m, v)
#define MXV3d(to, m, v)   MXV3safe(double,to,m,v)
#define MXV3i(to, m, v)   MXV3safe(int,to,m,v)
#define MXV3l(to, m, v)   MXV3safe(long,to,m,v)
#define MXV3r(to, m, v)   MXV3safe(real,to,m,v)
#define VXV3safe(type, to, v1, v2)
#define VXV3d(to, v1, v2)   VXV3safe(double,to,v1,v2)
#define VXV3i(to, v1, v2)   VXV3safe(int,to,v1,v2)
#define VXV3l(to, v1, v2)   VXV3safe(long,to,v1,v2)
#define VXV3r(to, v1, v2)   VXV3safe(real,to,v1,v2)
#define M2XM3safe(type, to3, m2, m3)
#define M2XM3d(to3, m2, m3)   M2XM3safe(double,to3,m2,m3)
#define M2XM3i(to3, m2, m3)   M2XM3safe(int,to3,m2,m3)
#define M2XM3l(to3, m2, m3)   M2XM3safe(long,to3,m2,m3)
#define M2XM3r(to3, m2, m3)   M2XM3safe(real,to3,m2,m3)
#define M3XM2safe(type, to3, m3, m2)
#define M3XM2d(to3, m3, m2)   M3XM2safe(double,to3,m3,m2)
#define M3XM2i(to3, m3, m2)   M3XM2safe(int,to3,m3,m2)
#define M3XM2l(to3, m3, m2)   M3XM2safe(long,to3,m3,m2)
#define M3XM2r(to3, m3, m2)   M3XM2safe(real,to3,m3,m2)
#define V3XM4safe(type, to3, v3, m4)
#define V3XM4d(to3, v3, m4)   V3XM4safe(double,to3,v3,m4)
#define V3XM4i(to3, v3, m4)   V3XM4safe(int,to3,v3,m4)
#define V3XM4l(to3, v3, m4)   V3XM4safe(long,to3,v3,m4)
#define V3XM4r(to3, v3, m4)   V3XM4safe(real,to3,v3,m4)
#define M4XV3safe(type, to3, m4, v3)
#define M4XV3d(to3, m4, v3)   M4XV3safe(double,to3,m4,v3)
#define M4XV3i(to3, m4, v3)   M4XV3safe(int,to3,m4,v3)
#define M4XV3l(to3, m4, v3)   M4XV3safe(long,to3,m4,v3)
#define M4XV3r(to3, m4, v3)   M4XV3safe(real,to3,m4,v3)
#define ADJOINT3safe(type, to, m)
#define ADJOINT3d(to, m)   ADJOINT3safe(double,to,m)
#define ADJOINT3i(to, m)   ADJOINT3safe(int,to,m)
#define ADJOINT3l(to, m)   ADJOINT3safe(long,to,m)
#define ADJOINT3r(to, m)   ADJOINT3safe(real,to,m)
#define TRANSPOSE4safe(type, to, from)
#define TRANSPOSE4d(to, from)   TRANSPOSE4safe(double,to,from)
#define TRANSPOSE4i(to, from)   TRANSPOSE4safe(int,to,from)
#define TRANSPOSE4l(to, from)   TRANSPOSE4safe(long,to,from)
#define TRANSPOSE4r(to, from)   TRANSPOSE4safe(real,to,from)
#define MXM4safe(type, to, m1, m2)
#define MXM4d(to, m1, m2)   MXM4safe(double,to,m1,m2)
#define MXM4i(to, m1, m2)   MXM4safe(int,to,m1,m2)
#define MXM4l(to, m1, m2)   MXM4safe(long,to,m1,m2)
#define MXM4r(to, m1, m2)   MXM4safe(real,to,m1,m2)
#define VXM4safe(type, to, v, m)
#define VXM4d(to, v, m)   VXM4safe(double,to,v,m)
#define VXM4i(to, v, m)   VXM4safe(int,to,v,m)
#define VXM4l(to, v, m)   VXM4safe(long,to,v,m)
#define VXM4r(to, v, m)   VXM4safe(real,to,v,m)
#define MXV4safe(type, to, m, v)
#define MXV4d(to, m, v)   MXV4safe(double,to,m,v)
#define MXV4i(to, m, v)   MXV4safe(int,to,m,v)
#define MXV4l(to, m, v)   MXV4safe(long,to,m,v)
#define MXV4r(to, m, v)   MXV4safe(real,to,m,v)
#define VXVXV4safe(type, to, v1, v2, v3)
#define VXVXV4d(to, v1, v2, v3)   VXVXV4safe(double,to,v1,v2,v3)
#define VXVXV4i(to, v1, v2, v3)   VXVXV4safe(int,to,v1,v2,v3)
#define VXVXV4l(to, v1, v2, v3)   VXVXV4safe(long,to,v1,v2,v3)
#define VXVXV4r(to, v1, v2, v3)   VXVXV4safe(real,to,v1,v2,v3)
#define M3XM4safe(type, to4, m3, m4)
#define M3XM4d(to4, m3, m4)   M3XM4safe(double,to4,m3,m4)
#define M3XM4i(to4, m3, m4)   M3XM4safe(int,to4,m3,m4)
#define M3XM4l(to4, m3, m4)   M3XM4safe(long,to4,m3,m4)
#define M3XM4r(to4, m3, m4)   M3XM4safe(real,to4,m3,m4)
#define M4XM3safe(type, to4, m4, m3)
#define M4XM3d(to4, m4, m3)   M4XM3safe(double,to4,m4,m3)
#define M4XM3i(to4, m4, m3)   M4XM3safe(int,to4,m4,m3)
#define M4XM3l(to4, m4, m3)   M4XM3safe(long,to4,m4,m3)
#define M4XM3r(to4, m4, m3)   M4XM3safe(real,to4,m4,m3)
#define ADJOINT4safe(type, to, m)
#define ADJOINT4d(to, m)   ADJOINT4safe(double,to,m)
#define ADJOINT4i(to, m)   ADJOINT4safe(int,to,m)
#define ADJOINT4l(to, m)   ADJOINT4safe(long,to,m)
#define ADJOINT4r(to, m)   ADJOINT4safe(real,to,m)


Define Documentation

#define __ADJOINTcol2 ( to,
col,
m,
i1   ) 

Value:

((to)[0][col] = -_DET1(m[i1], 1), \
         (to)[1][col] =  _DET1(m[i1], 0))

Definition at line 288 of file vec.h.

#define __ADJOINTcol3 ( to,
col,
m,
i1,
i2   ) 

Value:

((to)[0][col] = -_DET2(m[i1],m[i2], 1,2), \
         (to)[1][col] =  _DET2(m[i1],m[i2], 0,2), \
         (to)[2][col] = -_DET2(m[i1],m[i2], 0,1))

Definition at line 479 of file vec.h.

#define __ADJOINTcol4 ( to,
col,
m,
i1,
i2,
i3   ) 

Value:

((to)[0][col] = -_DET3(m[i1],m[i2],m[i3], 1,2,3), \
         (to)[1][col] =  _DET3(m[i1],m[i2],m[i3], 0,2,3), \
         (to)[2][col] = -_DET3(m[i1],m[i2],m[i3], 0,1,3), \
         (to)[3][col] =  _DET3(m[i1],m[i2],m[i3], 0,1,2))

Definition at line 707 of file vec.h.

#define _ADJOINTcol2 ( to,
col,
m,
i1   ) 

Value:

((to)[0][col] =  _DET1(m[i1], 1), \
         (to)[1][col] = -_DET1(m[i1], 0))

Definition at line 285 of file vec.h.

#define _ADJOINTcol3 ( to,
col,
m,
i1,
i2   ) 

Value:

((to)[0][col] =  _DET2(m[i1],m[i2], 1,2), \
         (to)[1][col] = -_DET2(m[i1],m[i2], 0,2), \
         (to)[2][col] =  _DET2(m[i1],m[i2], 0,1))

Definition at line 475 of file vec.h.

#define _ADJOINTcol4 ( to,
col,
m,
i1,
i2,
i3   ) 

Value:

((to)[0][col] =  _DET3(m[i1],m[i2],m[i3], 1,2,3), \
         (to)[1][col] = -_DET3(m[i1],m[i2],m[i3], 0,2,3), \
         (to)[2][col] =  _DET3(m[i1],m[i2],m[i3], 0,1,3), \
         (to)[3][col] = -_DET3(m[i1],m[i2],m[i3], 0,1,2))

Definition at line 702 of file vec.h.

#define _DET1 ( v0,
i0   )     ((v0)[i0])

Definition at line 276 of file vec.h.

#define _DET2 ( v0,
v1,
i0,
i1   ) 

Value:

((v0)[i0]* _DET1(v1,i1) + \
         (v0)[i1]*-_DET1(v1,i0))

Definition at line 264 of file vec.h.

#define _DET3 ( v0,
v1,
v2,
i0,
i1,
i2   ) 

Value:

((v0)[i0]* _DET2(v1,v2,i1,i2) + \
         (v0)[i1]*-_DET2(v1,v2,i0,i2) + \
         (v0)[i2]* _DET2(v1,v2,i0,i1))

Definition at line 435 of file vec.h.

#define _DET4 ( v0,
v1,
v2,
v3,
i0,
i1,
i2,
i3   ) 

Value:

((v0)[i0]* _DET3(v1,v2,v3,i1,i2,i3) + \
         (v0)[i1]*-_DET3(v1,v2,v3,i0,i2,i3) + \
         (v0)[i2]* _DET3(v1,v2,v3,i0,i1,i3) + \
         (v0)[i3]*-_DET3(v1,v2,v3,i0,i1,i2))

Definition at line 663 of file vec.h.

#define _DOTcol2 ( v,
m,
j   ) 

Value:

((v)[0] * (m)[0][j] + \
         (v)[1] * (m)[1][j])

Definition at line 255 of file vec.h.

#define _DOTcol3 ( v,
m,
j   ) 

Value:

((v)[0] * (m)[0][j] + \
         (v)[1] * (m)[1][j] + \
         (v)[2] * (m)[2][j])

Definition at line 423 of file vec.h.

#define _DOTcol4 ( v,
m,
j   ) 

Value:

((v)[0] * (m)[0][j] + \
         (v)[1] * (m)[1][j] + \
         (v)[2] * (m)[2][j] + \
         (v)[3] * (m)[3][j])

Definition at line 648 of file vec.h.

#define _MXVcol2 ( to,
m,
M,
j   ) 

Value:

((to)[0][j] = _DOTcol2((m)[0],M,j), \
         (to)[1][j] = _DOTcol2((m)[1],M,j))

Definition at line 261 of file vec.h.

#define _MXVcol3 ( to,
m,
M,
j   ) 

Value:

((to)[0][j] = _DOTcol3((m)[0],M,j), \
         (to)[1][j] = _DOTcol3((m)[1],M,j), \
         (to)[2][j] = _DOTcol3((m)[2],M,j))

Definition at line 431 of file vec.h.

#define _MXVcol4 ( to,
m,
M,
j   ) 

Value:

((to)[0][j] = _DOTcol4((m)[0],M,j), \
         (to)[1][j] = _DOTcol4((m)[1],M,j), \
         (to)[2][j] = _DOTcol4((m)[2],M,j), \
         (to)[3][j] = _DOTcol4((m)[3],M,j))

Definition at line 658 of file vec.h.

#define _SETcol2 ( v,
m,
j   ) 

Value:

((v)[0] = (m)[0][j], \
         (v)[1] = (m)[1][j])

Definition at line 258 of file vec.h.

#define _SETcol3 ( v,
m,
j   ) 

Value:

((v)[0] = (m)[0][j], \
         (v)[1] = (m)[1][j], \
         (v)[2] = (m)[2][j])

Definition at line 427 of file vec.h.

#define _SETcol4 ( v,
m,
j   ) 

Value:

((v)[0] = (m)[0][j], \
         (v)[1] = (m)[1][j], \
         (v)[2] = (m)[2][j], \
         (v)[3] = (m)[3][j])

Definition at line 653 of file vec.h.

#define ADJOINT2 ( to,
m   ) 

Value:

( _ADJOINTcol2(to,0,m,1), \
         __ADJOINTcol2(to,1,m,0))

Definition at line 282 of file vec.h.

#define ADJOINT2d ( to,
m   )     ADJOINT2safe(double,to,m)

Definition at line 780 of file vec.h.

#define ADJOINT2i ( to,
m   )     ADJOINT2safe(int,to,m)

Definition at line 781 of file vec.h.

#define ADJOINT2l ( to,
m   )     ADJOINT2safe(long,to,m)

Definition at line 782 of file vec.h.

#define ADJOINT2r ( to,
m   )     ADJOINT2safe(real,to,m)

Definition at line 783 of file vec.h.

#define ADJOINT2safe ( type,
to,
m   ) 

Value:

do {type _vec_h_temp_[2][2]; \
            ADJOINT2(_vec_h_temp_,m); \
            SETMAT2(to, _vec_h_temp_); \
        } while (0)

Definition at line 775 of file vec.h.

#define ADJOINT3 ( to,
m   ) 

Value:

( _ADJOINTcol3(to,0,m,1,2), \
         __ADJOINTcol3(to,1,m,0,2), \
          _ADJOINTcol3(to,2,m,0,1))

Definition at line 471 of file vec.h.

#define ADJOINT3d ( to,
m   )     ADJOINT3safe(double,to,m)

Definition at line 870 of file vec.h.

#define ADJOINT3i ( to,
m   )     ADJOINT3safe(int,to,m)

Definition at line 871 of file vec.h.

#define ADJOINT3l ( to,
m   )     ADJOINT3safe(long,to,m)

Definition at line 872 of file vec.h.

#define ADJOINT3r ( to,
m   )     ADJOINT3safe(real,to,m)

Definition at line 873 of file vec.h.

#define ADJOINT3safe ( type,
to,
m   ) 

Value:

do {type _vec_h_temp_[3][3]; \
            ADJOINT3(_vec_h_temp_,m); \
            SETMAT3(to, _vec_h_temp_); \
        } while (0)

Definition at line 865 of file vec.h.

#define ADJOINT4 ( to,
m   ) 

Value:

( _ADJOINTcol4(to,0,m,1,2,3), \
         __ADJOINTcol4(to,1,m,0,2,3), \
          _ADJOINTcol4(to,2,m,0,1,3), \
         __ADJOINTcol4(to,3,m,0,1,2))

Definition at line 697 of file vec.h.

#define ADJOINT4d ( to,
m   )     ADJOINT4safe(double,to,m)

Definition at line 942 of file vec.h.

#define ADJOINT4i ( to,
m   )     ADJOINT4safe(int,to,m)

Definition at line 943 of file vec.h.

#define ADJOINT4l ( to,
m   )     ADJOINT4safe(long,to,m)

Definition at line 944 of file vec.h.

#define ADJOINT4r ( to,
m   )     ADJOINT4safe(real,to,m)

Definition at line 945 of file vec.h.

#define ADJOINT4safe ( type,
to,
m   ) 

Value:

do {type _vec_h_temp_[4][4]; \
            ADJOINT4(_vec_h_temp_,m); \
            SETMAT4(to, _vec_h_temp_); \
        } while (0)

Definition at line 937 of file vec.h.

#define DET2 ( m   )     (VXV2((m)[0],(m)[1]))

Definition at line 280 of file vec.h.

#define DET3 ( m   )     (VXVXV3((m)[0],(m)[1],(m)[2]))

Definition at line 469 of file vec.h.

#define DET4 ( m   )     (VXVXVXV4((m)[0],(m)[1],(m)[2],(m)[3]))

Definition at line 695 of file vec.h.

#define DISTSQRD2 ( v,
w   ) 

Value:

(((v)[0]-(w)[0])*((v)[0]-(w)[0]) + \
         ((v)[1]-(w)[1])*((v)[1]-(w)[1]))

Definition at line 252 of file vec.h.

#define DISTSQRD3 ( v,
w   ) 

Value:

(((v)[0]-(w)[0])*((v)[0]-(w)[0]) + \
         ((v)[1]-(w)[1])*((v)[1]-(w)[1]) + \
         ((v)[2]-(w)[2])*((v)[2]-(w)[2]))

Definition at line 419 of file vec.h.

#define DISTSQRD4 ( v,
w   ) 

Value:

(((v)[0]-(w)[0])*((v)[0]-(w)[0]) + \
         ((v)[1]-(w)[1])*((v)[1]-(w)[1]) + \
         ((v)[2]-(w)[2])*((v)[2]-(w)[2]) + \
         ((v)[3]-(w)[3])*((v)[3]-(w)[3]))

Definition at line 643 of file vec.h.

#define DOT2 ( v,
w   ) 

Value:

((v)[0] * (w)[0] + \
         (v)[1] * (w)[1])

Definition at line 246 of file vec.h.

#define DOT3 ( v,
w   ) 

Value:

((v)[0] * (w)[0] + \
         (v)[1] * (w)[1] + \
         (v)[2] * (w)[2])

Definition at line 411 of file vec.h.

Referenced by sofa::helper::polygon_cube_intersection::polygon_intersects_cube(), and sofa::helper::polygon_cube_intersection::segment_intersects_cube().

#define DOT4 ( v,
w   ) 

Value:

((v)[0] * (w)[0] + \
         (v)[1] * (w)[1] + \
         (v)[2] * (w)[2] + \
         (v)[3] * (w)[3])

Definition at line 633 of file vec.h.

#define EQMAT2 ( m1,
m2   ) 

Value:

(EQVEC2((m1)[0], (m2)[0]) && \
         EQVEC2((m1)[1], (m2)[1]))

Definition at line 183 of file vec.h.

#define EQMAT3 ( m1,
m2   ) 

Value:

(EQVEC3((m1)[0], (m2)[0]) && \
         EQVEC3((m1)[1], (m2)[1]) && \
         EQVEC3((m1)[2], (m2)[2]))

Definition at line 327 of file vec.h.

#define EQMAT4 ( m1,
m2   ) 

Value:

(EQVEC4((m1)[0], (m2)[0]) && \
         EQVEC4((m1)[1], (m2)[1]) && \
         EQVEC4((m1)[2], (m2)[2]) && \
         EQVEC4((m1)[3], (m2)[3]))

Definition at line 528 of file vec.h.

#define EQVEC2 ( v,
w   ) 

Value:

((v)[0] == (w)[0] && \
         (v)[1] == (w)[1])

Definition at line 180 of file vec.h.

#define EQVEC3 ( v,
w   ) 

Value:

((v)[0] == (w)[0] && \
         (v)[1] == (w)[1] && \
         (v)[2] == (w)[2])

Definition at line 323 of file vec.h.

#define EQVEC4 ( v,
w   ) 

Value:

((v)[0] == (w)[0] && \
         (v)[1] == (w)[1] && \
         (v)[2] == (w)[2] && \
         (v)[3] == (w)[3])

Definition at line 523 of file vec.h.

#define FILLMAT2 ( m,
s   ) 

Value:

(FILLVEC2((m)[0], s), \
         FILLVEC2((m)[1], s))

Definition at line 171 of file vec.h.

#define FILLMAT3 ( m,
s   ) 

Value:

(FILLVEC3((m)[0], s), \
         FILLVEC3((m)[1], s), \
         FILLVEC3((m)[2], s))

Definition at line 311 of file vec.h.

#define FILLMAT4 ( m,
s   ) 

Value:

(FILLVEC4((m)[0], s), \
         FILLVEC4((m)[1], s), \
         FILLVEC4((m)[2], s), \
         FILLVEC4((m)[3], s))

Definition at line 508 of file vec.h.

#define FILLVEC2 ( v,
s   ) 

Value:

((v)[0] = (s), \
         (v)[1] = (s))

Definition at line 168 of file vec.h.

#define FILLVEC3 ( v,
s   ) 

Value:

((v)[0] = (s), \
         (v)[1] = (s), \
         (v)[2] = (s))

Definition at line 307 of file vec.h.

#define FILLVEC4 ( v,
s   ) 

Value:

((v)[0] = (s), \
         (v)[1] = (s), \
         (v)[2] = (s), \
         (v)[3] = (s))

Definition at line 503 of file vec.h.

#define IDENTMAT2 ( m   ) 

Value:

(ZEROVEC2((m)[0]), (m)[0][0]=1, \
         ZEROVEC2((m)[1]), (m)[1][1]=1)

Definition at line 189 of file vec.h.

#define IDENTMAT3 ( m   ) 

Value:

(ZEROVEC3((m)[0]), (m)[0][0]=1, \
         ZEROVEC3((m)[1]), (m)[1][1]=1, \
         ZEROVEC3((m)[2]), (m)[2][2]=1)

Definition at line 335 of file vec.h.

#define IDENTMAT4 ( m   ) 

Value:

(ZEROVEC4((m)[0]), (m)[0][0]=1, \
         ZEROVEC4((m)[1]), (m)[1][1]=1, \
         ZEROVEC4((m)[2]), (m)[2][2]=1, \
         ZEROVEC4((m)[3]), (m)[3][3]=1)

Definition at line 538 of file vec.h.

#define ISZEROVEC2 ( v   ) 

Value:

((v)[0] == 0 && \
         (v)[1] == 0)

Definition at line 177 of file vec.h.

#define ISZEROVEC3 ( v   ) 

Value:

((v)[0] == 0 && \
         (v)[1] == 0 && \
         (v)[2] == 0)

Definition at line 319 of file vec.h.

Referenced by sofa::helper::polygon_cube_intersection::polygon_intersects_cube().

#define ISZEROVEC4 ( v   ) 

Value:

((v)[0] == 0 && \
         (v)[1] == 0 && \
         (v)[2] == 0 && \
         (v)[3] == 0)

Definition at line 518 of file vec.h.

#define LERP2 ( to,
v0,
v1,
t   ) 

Value:

((to)[0]=(v0)[0]+(t)*((v1)[0]-(v0)[0]), \
         (to)[1]=(v0)[1]+(t)*((v1)[1]-(v0)[1]))

Definition at line 240 of file vec.h.

#define LERP3 ( to,
v0,
v1,
t   ) 

Value:

((to)[0]=(v0)[0]+(t)*((v1)[0]-(v0)[0]), \
         (to)[1]=(v0)[1]+(t)*((v1)[1]-(v0)[1]), \
         (to)[2]=(v0)[2]+(t)*((v1)[2]-(v0)[2]))

Definition at line 403 of file vec.h.

#define LERP4 ( to,
v0,
v1,
t   ) 

Value:

((to)[0]=(v0)[0]+(t)*((v1)[0]-(v0)[0]), \
         (to)[1]=(v0)[1]+(t)*((v1)[1]-(v0)[1]), \
         (to)[2]=(v0)[2]+(t)*((v1)[2]-(v0)[2]), \
         (to)[3]=(v0)[3]+(t)*((v1)[3]-(v0)[3]))

Definition at line 623 of file vec.h.

#define M2XM3 ( to3,
m2,
m3   ) 

Value:

(_MXVcol2(to3,m2,m3,0), (to3)[2][0]=(m3)[2][0], \
         _MXVcol2(to3,m2,m3,1), (to3)[2][1]=(m3)[2][1], \
         _MXVcol2(to3,m2,m3,2), (to3)[2][2]=(m3)[2][2])

Definition at line 451 of file vec.h.

#define M2XM3d ( to3,
m2,
m3   )     M2XM3safe(double,to3,m2,m3)

Definition at line 834 of file vec.h.

#define M2XM3i ( to3,
m2,
m3   )     M2XM3safe(int,to3,m2,m3)

Definition at line 835 of file vec.h.

#define M2XM3l ( to3,
m2,
m3   )     M2XM3safe(long,to3,m2,m3)

Definition at line 836 of file vec.h.

#define M2XM3r ( to3,
m2,
m3   )     M2XM3safe(real,to3,m2,m3)

Definition at line 837 of file vec.h.

#define M2XM3safe ( type,
to3,
m2,
m3   ) 

Value:

do {type _vec_h_temp_[3][3]; \
            M2XM3(_vec_h_temp_,m2,m3); \
            SETMAT3(to3, _vec_h_temp_); \
        } while (0)

Definition at line 829 of file vec.h.

#define M3XM2 ( to3,
m3,
m2   ) 

Value:

(VXM2((to3)[0],(m3)[0],m2), (to3)[0][2]=(m3)[0][2], \
         VXM2((to3)[1],(m3)[1],m2), (to3)[1][2]=(m3)[1][2], \
         VXM2((to3)[2],(m3)[2],m2), (to3)[2][2]=(m3)[2][2])

Definition at line 455 of file vec.h.

#define M3XM2d ( to3,
m3,
m2   )     M3XM2safe(double,to3,m3,m2)

Definition at line 843 of file vec.h.

#define M3XM2i ( to3,
m3,
m2   )     M3XM2safe(int,to3,m3,m2)

Definition at line 844 of file vec.h.

#define M3XM2l ( to3,
m3,
m2   )     M3XM2safe(long,to3,m3,m2)

Definition at line 845 of file vec.h.

#define M3XM2r ( to3,
m3,
m2   )     M3XM2safe(real,to3,m3,m2)

Definition at line 846 of file vec.h.

#define M3XM2safe ( type,
to3,
m3,
m2   ) 

Value:

do {type _vec_h_temp_[3][3]; \
            M3XM2(_vec_h_temp_,m3,m2); \
            SETMAT3(to3, _vec_h_temp_); \
        } while (0)

Definition at line 838 of file vec.h.

#define M3XM4 ( to4,
m3,
m4   ) 

Value:

(_MXVcol3(to4,m3,m4,0), (to4)[3][0]=(m4)[3][0], \
         _MXVcol3(to4,m3,m4,1), (to4)[3][1]=(m4)[3][1], \
         _MXVcol3(to4,m3,m4,2), (to4)[3][2]=(m4)[3][2], \
         _MXVcol3(to4,m3,m4,3), (to4)[3][3]=(m4)[3][3])

Definition at line 683 of file vec.h.

#define M3XM4d ( to4,
m3,
m4   )     M3XM4safe(double,to4,m3,m4)

Definition at line 924 of file vec.h.

#define M3XM4i ( to4,
m3,
m4   )     M3XM4safe(int,to4,m3,m4)

Definition at line 925 of file vec.h.

#define M3XM4l ( to4,
m3,
m4   )     M3XM4safe(long,to4,m3,m4)

Definition at line 926 of file vec.h.

#define M3XM4r ( to4,
m3,
m4   )     M3XM4safe(real,to4,m3,m4)

Definition at line 927 of file vec.h.

#define M3XM4safe ( type,
to4,
m3,
m4   ) 

Value:

do {type _vec_h_temp_[4][4]; \
            M3XM4(_vec_h_temp_,m3,m4); \
            SETMAT4(to4, _vec_h_temp_); \
        } while (0)

Definition at line 919 of file vec.h.

#define M3XV2 ( to2,
m3,
v2   ) 

Value:

((to2)[0] = DOT2((m3)[0],v2) + (m3)[0][2], \
         (to2)[1] = DOT2((m3)[1],v2) + (m3)[1][2])

Definition at line 273 of file vec.h.

#define M3XV2d ( to2,
m3,
v2   )     M3XV2safe(double,to2,m3,v2)

Definition at line 771 of file vec.h.

#define M3XV2i ( to2,
m3,
v2   )     M3XV2safe(int,to2,m3,v2)

Definition at line 772 of file vec.h.

#define M3XV2l ( to2,
m3,
v2   )     M3XV2safe(long,to2,m3,v2)

Definition at line 773 of file vec.h.

#define M3XV2r ( to2,
m3,
v2   )     M3XV2safe(real,to2,m3,v2)

Definition at line 774 of file vec.h.

#define M3XV2safe ( type,
to2,
m3,
v2   ) 

Value:

do {type _vec_h_temp_[2]; \
            M3XV2(_vec_h_temp_,m3,v2); \
            SET2(to2, _vec_h_temp_); \
        } while (0)

Definition at line 766 of file vec.h.

#define M4XM3 ( to4,
m4,
m3   ) 

Value:

(VXM3((to4)[0],(m4)[0],m3), (to4)[0][3]=(m4)[0][3], \
         VXM3((to4)[1],(m4)[1],m3), (to4)[1][3]=(m4)[1][3], \
         VXM3((to4)[2],(m4)[2],m3), (to4)[2][3]=(m4)[2][3], \
         VXM3((to4)[3],(m4)[3],m3), (to4)[3][3]=(m4)[3][3])

Definition at line 688 of file vec.h.

#define M4XM3d ( to4,
m4,
m3   )     M4XM3safe(double,to4,m4,m3)

Definition at line 933 of file vec.h.

#define M4XM3i ( to4,
m4,
m3   )     M4XM3safe(int,to4,m4,m3)

Definition at line 934 of file vec.h.

#define M4XM3l ( to4,
m4,
m3   )     M4XM3safe(long,to4,m4,m3)

Definition at line 935 of file vec.h.

#define M4XM3r ( to4,
m4,
m3   )     M4XM3safe(real,to4,m4,m3)

Definition at line 936 of file vec.h.

#define M4XM3safe ( type,
to4,
m4,
m3   ) 

Value:

do {type _vec_h_temp_[4][4]; \
            M4XM3(_vec_h_temp_,m4,m3); \
            SETMAT4(to4, _vec_h_temp_); \
        } while (0)

Definition at line 928 of file vec.h.

#define M4XV3 ( to3,
m4,
v3   ) 

Value:

((to3)[0] = DOT3((m4)[0],v3) + (m4)[0][3], \
         (to3)[1] = DOT3((m4)[1],v3) + (m4)[1][3], \
         (to3)[2] = DOT3((m4)[2],v3) + (m4)[2][3])

Definition at line 463 of file vec.h.

#define M4XV3d ( to3,
m4,
v3   )     M4XV3safe(double,to3,m4,v3)

Definition at line 861 of file vec.h.

#define M4XV3i ( to3,
m4,
v3   )     M4XV3safe(int,to3,m4,v3)

Definition at line 862 of file vec.h.

#define M4XV3l ( to3,
m4,
v3   )     M4XV3safe(long,to3,m4,v3)

Definition at line 863 of file vec.h.

#define M4XV3r ( to3,
m4,
v3   )     M4XV3safe(real,to3,m4,v3)

Definition at line 864 of file vec.h.

#define M4XV3safe ( type,
to3,
m4,
v3   ) 

Value:

do {type _vec_h_temp_[3]; \
            M4XV3(_vec_h_temp_,m4,v3); \
            SET3(to3, _vec_h_temp_); \
        } while (0)

Definition at line 856 of file vec.h.

#define MDS2 ( to,
from,
s   ) 

Value:

(VDS2((to)[0], (from)[0], s), \
         VDS2((to)[1], (from)[1], s))

Definition at line 228 of file vec.h.

#define MDS3 ( to,
from,
s   ) 

Value:

(VDS3((to)[0], (from)[0], s), \
         VDS3((to)[1], (from)[1], s), \
         VDS3((to)[2], (from)[2], s))

Definition at line 387 of file vec.h.

#define MDS4 ( to,
from,
s   ) 

Value:

(VDS4((to)[0], (from)[0], s), \
         VDS4((to)[1], (from)[1], s), \
         VDS4((to)[2], (from)[2], s), \
         VDS4((to)[3], (from)[3], s))

Definition at line 603 of file vec.h.

#define MM2 ( to,
from   ) 

Value:

(MV2((to)[0], (from)[0]), \
         MV2((to)[1], (from)[1]))

Definition at line 216 of file vec.h.

#define MM3 ( to,
from   ) 

Value:

(MV3((to)[0], (from)[0]), \
         MV3((to)[1], (from)[1]), \
         MV3((to)[2], (from)[2]))

Definition at line 371 of file vec.h.

#define MM4 ( to,
from   ) 

Value:

(MV4((to)[0], (from)[0]), \
         MV4((to)[1], (from)[1]), \
         MV4((to)[2], (from)[2]), \
         MV4((to)[3], (from)[3]))

Definition at line 583 of file vec.h.

#define MMM2 ( to,
m1,
m2   ) 

Value:

(VMV2((to)[0], (m1)[0], (m2)[0]), \
         VMV2((to)[1], (m1)[1], (m2)[1]))

Definition at line 204 of file vec.h.

#define MMM3 ( to,
m1,
m2   ) 

Value:

(VMV3((to)[0], (m1)[0], (m2)[0]), \
         VMV3((to)[1], (m1)[1], (m2)[1]), \
         VMV3((to)[2], (m1)[2], (m2)[2]))

Definition at line 355 of file vec.h.

#define MMM4 ( to,
m1,
m2   ) 

Value:

(VMV4((to)[0], (m1)[0], (m2)[0]), \
         VMV4((to)[1], (m1)[1], (m2)[1]), \
         VMV4((to)[2], (m1)[2], (m2)[2]), \
         VMV4((to)[3], (m1)[3], (m2)[3]))

Definition at line 563 of file vec.h.

#define MPM2 ( to,
m1,
m2   ) 

Value:

(VPV2((to)[0], (m1)[0], (m2)[0]), \
         VPV2((to)[1], (m1)[1], (m2)[1]))

Definition at line 201 of file vec.h.

#define MPM3 ( to,
m1,
m2   ) 

Value:

(VPV3((to)[0], (m1)[0], (m2)[0]), \
         VPV3((to)[1], (m1)[1], (m2)[1]), \
         VPV3((to)[2], (m1)[2], (m2)[2]))

Definition at line 351 of file vec.h.

#define MPM4 ( to,
m1,
m2   ) 

Value:

(VPV4((to)[0], (m1)[0], (m2)[0]), \
         VPV4((to)[1], (m1)[1], (m2)[1]), \
         VPV4((to)[2], (m1)[2], (m2)[2]), \
         VPV4((to)[3], (m1)[3], (m2)[3]))

Definition at line 558 of file vec.h.

#define MV2 ( to,
from   ) 

Value:

((to)[0] = -(from)[0], \
         (to)[1] = -(from)[1])

Definition at line 213 of file vec.h.

#define MV3 ( to,
from   ) 

Value:

((to)[0] = -(from)[0], \
         (to)[1] = -(from)[1], \
         (to)[2] = -(from)[2])

Definition at line 367 of file vec.h.

#define MV4 ( to,
from   ) 

Value:

((to)[0] = -(from)[0], \
         (to)[1] = -(from)[1], \
         (to)[2] = -(from)[2], \
         (to)[3] = -(from)[3])

Definition at line 578 of file vec.h.

#define MXM2 ( to,
m1,
m2   ) 

Value:

(VXM2((to)[0], (m1)[0], m2), \
         VXM2((to)[1], (m1)[1], m2))

Definition at line 231 of file vec.h.

#define MXM2d ( to,
m1,
m2   )     MXM2safe(double,to,m1,m2)

Definition at line 726 of file vec.h.

#define MXM2i ( to,
m1,
m2   )     MXM2safe(int,to,m1,m2)

Definition at line 727 of file vec.h.

#define MXM2l ( to,
m1,
m2   )     MXM2safe(long,to,m1,m2)

Definition at line 728 of file vec.h.

#define MXM2r ( to,
m1,
m2   )     MXM2safe(real,to,m1,m2)

Definition at line 729 of file vec.h.

#define MXM2safe ( type,
to,
m1,
m2   ) 

Value:

do {type _vec_h_temp_[2][2]; \
            MXM2(_vec_h_temp_,m1,m2); \
            SETMAT2(to, _vec_h_temp_); \
        } while (0)

Definition at line 721 of file vec.h.

#define MXM3 ( to,
m1,
m2   ) 

Value:

(VXM3((to)[0], (m1)[0], m2), \
         VXM3((to)[1], (m1)[1], m2), \
         VXM3((to)[2], (m1)[2], m2))

Definition at line 391 of file vec.h.

#define MXM3d ( to,
m1,
m2   )     MXM3safe(double,to,m1,m2)

Definition at line 798 of file vec.h.

#define MXM3i ( to,
m1,
m2   )     MXM3safe(int,to,m1,m2)

Definition at line 799 of file vec.h.

#define MXM3l ( to,
m1,
m2   )     MXM3safe(long,to,m1,m2)

Definition at line 800 of file vec.h.

#define MXM3r ( to,
m1,
m2   )     MXM3safe(real,to,m1,m2)

Definition at line 801 of file vec.h.

#define MXM3safe ( type,
to,
m1,
m2   ) 

Value:

do {type _vec_h_temp_[3][3]; \
            MXM3(_vec_h_temp_,m1,m2); \
            SETMAT3(to, _vec_h_temp_); \
        } while (0)

Definition at line 793 of file vec.h.

#define MXM4 ( to,
m1,
m2   ) 

Value:

(VXM4((to)[0], (m1)[0], m2), \
         VXM4((to)[1], (m1)[1], m2), \
         VXM4((to)[2], (m1)[2], m2), \
         VXM4((to)[3], (m1)[3], m2))

Definition at line 608 of file vec.h.

#define MXM4d ( to,
m1,
m2   )     MXM4safe(double,to,m1,m2)

Definition at line 888 of file vec.h.

#define MXM4i ( to,
m1,
m2   )     MXM4safe(int,to,m1,m2)

Definition at line 889 of file vec.h.

#define MXM4l ( to,
m1,
m2   )     MXM4safe(long,to,m1,m2)

Definition at line 890 of file vec.h.

#define MXM4r ( to,
m1,
m2   )     MXM4safe(real,to,m1,m2)

Definition at line 891 of file vec.h.

#define MXM4safe ( type,
to,
m1,
m2   ) 

Value:

do {type _vec_h_temp_[4][4]; \
            MXM4(_vec_h_temp_,m1,m2); \
            SETMAT4(to, _vec_h_temp_); \
        } while (0)

Definition at line 883 of file vec.h.

#define MXS2 ( to,
from,
s   ) 

Value:

(VXS2((to)[0], (from)[0], s), \
         VXS2((to)[1], (from)[1], s))

Definition at line 225 of file vec.h.

#define MXS3 ( to,
from,
s   ) 

Value:

(VXS3((to)[0], (from)[0], s), \
         VXS3((to)[1], (from)[1], s), \
         VXS3((to)[2], (from)[2], s))

Definition at line 383 of file vec.h.

#define MXS4 ( to,
from,
s   ) 

Value:

(VXS4((to)[0], (from)[0], s), \
         VXS4((to)[1], (from)[1], s), \
         VXS4((to)[2], (from)[2], s), \
         VXS4((to)[3], (from)[3], s))

Definition at line 598 of file vec.h.

#define MXV2 ( to,
m,
v   ) 

Value:

((to)[0] = DOT2((m)[0], v), \
         (to)[1] = DOT2((m)[1], v))

Definition at line 237 of file vec.h.

#define MXV2d ( to,
m,
v   )     MXV2safe(double,to,m,v)

Definition at line 744 of file vec.h.

#define MXV2i ( to,
m,
v   )     MXV2safe(int,to,m,v)

Definition at line 745 of file vec.h.

#define MXV2l ( to,
m,
v   )     MXV2safe(long,to,m,v)

Definition at line 746 of file vec.h.

#define MXV2r ( to,
m,
v   )     MXV2safe(real,to,m,v)

Definition at line 747 of file vec.h.

#define MXV2safe ( type,
to,
m,
v   ) 

Value:

do {type _vec_h_temp_[2]; \
            MXV2(_vec_h_temp_,m,v); \
            SET2(to, _vec_h_temp_); \
        } while (0)

Definition at line 739 of file vec.h.

#define MXV3 ( to,
m,
v   ) 

Value:

((to)[0] = DOT3((m)[0], v), \
         (to)[1] = DOT3((m)[1], v), \
         (to)[2] = DOT3((m)[2], v))

Definition at line 399 of file vec.h.

#define MXV3d ( to,
m,
v   )     MXV3safe(double,to,m,v)

Definition at line 816 of file vec.h.

#define MXV3i ( to,
m,
v   )     MXV3safe(int,to,m,v)

Definition at line 817 of file vec.h.

#define MXV3l ( to,
m,
v   )     MXV3safe(long,to,m,v)

Definition at line 818 of file vec.h.

#define MXV3r ( to,
m,
v   )     MXV3safe(real,to,m,v)

Definition at line 819 of file vec.h.

#define MXV3safe ( type,
to,
m,
v   ) 

Value:

do {type _vec_h_temp_[3]; \
            MXV3(_vec_h_temp_,m,v); \
            SET3(to, _vec_h_temp_); \
        } while (0)

Definition at line 811 of file vec.h.

#define MXV4 ( to,
m,
v   ) 

Value:

((to)[0] = DOT4((m)[0], v), \
         (to)[1] = DOT4((m)[1], v), \
         (to)[2] = DOT4((m)[2], v), \
         (to)[3] = DOT4((m)[3], v))

Definition at line 618 of file vec.h.

#define MXV4d ( to,
m,
v   )     MXV4safe(double,to,m,v)

Definition at line 906 of file vec.h.

#define MXV4i ( to,
m,
v   )     MXV4safe(int,to,m,v)

Definition at line 907 of file vec.h.

#define MXV4l ( to,
m,
v   )     MXV4safe(long,to,m,v)

Definition at line 908 of file vec.h.

#define MXV4r ( to,
m,
v   )     MXV4safe(real,to,m,v)

Definition at line 909 of file vec.h.

#define MXV4safe ( type,
to,
m,
v   ) 

Value:

do {type _vec_h_temp_[4]; \
            MXV4(_vec_h_temp_,m,v); \
            SET4(to, _vec_h_temp_); \
        } while (0)

Definition at line 901 of file vec.h.

#define NORMSQRD2 ( v   ) 

Value:

((v)[0] * (v)[0] + \
         (v)[1] * (v)[1])

Definition at line 249 of file vec.h.

#define NORMSQRD3 ( v   ) 

Value:

((v)[0] * (v)[0] + \
         (v)[1] * (v)[1] + \
         (v)[2] * (v)[2])

Definition at line 415 of file vec.h.

#define NORMSQRD4 ( v   ) 

Value:

((v)[0] * (v)[0] + \
         (v)[1] * (v)[1] + \
         (v)[2] * (v)[2] + \
         (v)[3] * (v)[3])

Definition at line 638 of file vec.h.

#define ROUNDMAT2 ( to,
from   ) 

Value:

(ROUNDVEC2((to)[0], (from)[0]), \
         ROUNDVEC2((to)[1], (from)[1]))

Definition at line 165 of file vec.h.

#define ROUNDMAT3 ( to,
from   ) 

Value:

(ROUNDVEC3((to)[0], (from)[0]), \
         ROUNDVEC3((to)[1], (from)[1]), \
         ROUNDVEC3((to)[2], (from)[2]))

Definition at line 303 of file vec.h.

#define ROUNDMAT4 ( to,
from   ) 

Value:

(ROUNDVEC4((to)[0], (from)[0]), \
         ROUNDVEC4((to)[1], (from)[1]), \
         ROUNDVEC4((to)[2], (from)[2]), \
         ROUNDVEC4((to)[3], (from)[3]))

Definition at line 498 of file vec.h.

#define ROUNDVEC2 ( to,
from   ) 

Value:

((to)[0] = floor((from)[0]+.5), \
         (to)[1] = floor((from)[1]+.5))

Definition at line 162 of file vec.h.

#define ROUNDVEC3 ( to,
from   ) 

Value:

((to)[0] = floor((from)[0]+.5), \
         (to)[1] = floor((from)[1]+.5), \
         (to)[2] = floor((from)[2]+.5))

Definition at line 299 of file vec.h.

#define ROUNDVEC4 ( to,
from   ) 

Value:

((to)[0] = floor((from)[0]+.5), \
         (to)[1] = floor((from)[1]+.5), \
         (to)[2] = floor((from)[2]+.5), \
         (to)[3] = floor((from)[3]+.5))

Definition at line 493 of file vec.h.

#define SET2 ( to,
from   ) 

Value:

((to)[0] = (from)[0], \
         (to)[1] = (from)[1])

Definition at line 156 of file vec.h.

#define SET3 ( to,
from   ) 

Value:

((to)[0] = (from)[0], \
         (to)[1] = (from)[1], \
         (to)[2] = (from)[2])

Definition at line 291 of file vec.h.

Referenced by sofa::helper::polygon_cube_intersection::get_polygon_normal().

#define SET3from2 ( to,
from,
pad   ) 

Value:

((to)[0] = (from)[0], \
         (to)[1] = (from)[1], \
         (to)[2] = (pad))

Definition at line 443 of file vec.h.

#define SET4 ( to,
from   ) 

Value:

((to)[0] = (from)[0], \
         (to)[1] = (from)[1], \
         (to)[2] = (from)[2], \
         (to)[3] = (from)[3])

Definition at line 483 of file vec.h.

#define SET4from3 ( to,
from,
pad   ) 

Value:

((to)[0] = (from)[0], \
         (to)[1] = (from)[1], \
         (to)[2] = (from)[2], \
         (to)[3] = (pad))

Definition at line 673 of file vec.h.

#define SETMAT2 ( to,
from   ) 

Value:

(SET2((to)[0], (from)[0]), \
         SET2((to)[1], (from)[1]))

Definition at line 159 of file vec.h.

#define SETMAT3 ( to,
from   ) 

Value:

(SET3((to)[0], (from)[0]), \
         SET3((to)[1], (from)[1]), \
         SET3((to)[2], (from)[2]))

Definition at line 295 of file vec.h.

#define SETMAT3from2 ( to,
from,
pad0,
pad1   ) 

Value:

(SET3from2((to)[0], (from)[0], pad0), \
         SET3from2((to)[1], (from)[1], pad0), \
         FILLVEC2((to)[2], (pad0)), (to)[2][2] = (pad1))

Definition at line 447 of file vec.h.

#define SETMAT4 ( to,
from   ) 

Value:

(SET4((to)[0], (from)[0]), \
         SET4((to)[1], (from)[1]), \
         SET4((to)[2], (from)[2]), \
         SET4((to)[3], (from)[3]))

Definition at line 488 of file vec.h.

#define SETMAT4from3 ( to,
from,
pad0,
pad1   ) 

Value:

(SET4from3((to)[0], (from)[0], pad0), \
         SET4from3((to)[1], (from)[1], pad0), \
         SET4from3((to)[2], (from)[2], pad0), \
         FILLVEC3((to)[3], (pad0)), (to)[3][3] = (pad1))

Definition at line 678 of file vec.h.

#define SXM2 ( to,
s,
from   ) 

Value:

(SXV2((to)[0], s, (from)[0]), \
         SXV2((to)[1], s, (from)[1]))

Definition at line 210 of file vec.h.

#define SXM3 ( to,
s,
from   ) 

Value:

(SXV3((to)[0], s, (from)[0]), \
         SXV3((to)[1], s, (from)[1]), \
         SXV3((to)[2], s, (from)[2]))

Definition at line 363 of file vec.h.

#define SXM4 ( to,
s,
from   ) 

Value:

(SXV4((to)[0], s, (from)[0]), \
         SXV4((to)[1], s, (from)[1]), \
         SXV4((to)[2], s, (from)[2]), \
         SXV4((to)[3], s, (from)[3]))

Definition at line 573 of file vec.h.

#define SXV2 ( to,
s,
from   ) 

Value:

((to)[0] = (s) * (from)[0], \
         (to)[1] = (s) * (from)[1])

Definition at line 207 of file vec.h.

#define SXV3 ( to,
s,
from   ) 

Value:

((to)[0] = (s) * (from)[0], \
         (to)[1] = (s) * (from)[1], \
         (to)[2] = (s) * (from)[2])

Definition at line 359 of file vec.h.

Referenced by sofa::helper::polygon_cube_intersection::polygon_intersects_cube().

#define SXV4 ( to,
s,
from   ) 

Value:

((to)[0] = (s) * (from)[0], \
         (to)[1] = (s) * (from)[1], \
         (to)[2] = (s) * (from)[2], \
         (to)[3] = (s) * (from)[3])

Definition at line 568 of file vec.h.

#define TRACE2 ( m   ) 

Value:

((m)[0][0] + \
         (m)[1][1])

Definition at line 243 of file vec.h.

#define TRACE3 ( m   ) 

Value:

((m)[0][0] + \
         (m)[1][1] + \
         (m)[2][2])

Definition at line 407 of file vec.h.

#define TRACE4 ( m   ) 

Value:

((m)[0][0] + \
         (m)[1][1] + \
         (m)[2][2] + \
         (m)[3][3])

Definition at line 628 of file vec.h.

#define TRANSPOSE2 ( to,
from   ) 

Value:

(_SETcol2((to)[0], from, 0), \
         _SETcol2((to)[1], from, 1))

Definition at line 192 of file vec.h.

#define TRANSPOSE2d ( to,
from   )     TRANSPOSE2safe(double,to,from)

Definition at line 717 of file vec.h.

#define TRANSPOSE2i ( to,
from   )     TRANSPOSE2safe(int,to,from)

Definition at line 718 of file vec.h.

#define TRANSPOSE2l ( to,
from   )     TRANSPOSE2safe(long,to,from)

Definition at line 719 of file vec.h.

#define TRANSPOSE2r ( to,
from   )     TRANSPOSE2safe(real,to,from)

Definition at line 720 of file vec.h.

#define TRANSPOSE2safe ( type,
to,
from   ) 

Value:

do {type _vec_h_temp_[2][2]; \
            TRANSPOSE2(_vec_h_temp_,from); \
            SETMAT2(to, _vec_h_temp_); \
        } while (0)

Definition at line 712 of file vec.h.

#define TRANSPOSE3 ( to,
from   ) 

Value:

(_SETcol3((to)[0], from, 0), \
         _SETcol3((to)[1], from, 1), \
         _SETcol3((to)[2], from, 2))

Definition at line 339 of file vec.h.

#define TRANSPOSE3d ( to,
from   )     TRANSPOSE3safe(double,to,from)

Definition at line 789 of file vec.h.

#define TRANSPOSE3i ( to,
from   )     TRANSPOSE3safe(int,to,from)

Definition at line 790 of file vec.h.

#define TRANSPOSE3l ( to,
from   )     TRANSPOSE3safe(long,to,from)

Definition at line 791 of file vec.h.

#define TRANSPOSE3r ( to,
from   )     TRANSPOSE3safe(real,to,from)

Definition at line 792 of file vec.h.

#define TRANSPOSE3safe ( type,
to,
from   ) 

Value:

do {type _vec_h_temp_[3][3]; \
            TRANSPOSE3(_vec_h_temp_,from); \
            SETMAT3(to, _vec_h_temp_); \
        } while (0)

Definition at line 784 of file vec.h.

#define TRANSPOSE4 ( to,
from   ) 

Value:

(_SETcol4((to)[0], from, 0), \
         _SETcol4((to)[1], from, 1), \
         _SETcol4((to)[2], from, 2), \
         _SETcol4((to)[3], from, 3))

Definition at line 543 of file vec.h.

#define TRANSPOSE4d ( to,
from   )     TRANSPOSE4safe(double,to,from)

Definition at line 879 of file vec.h.

#define TRANSPOSE4i ( to,
from   )     TRANSPOSE4safe(int,to,from)

Definition at line 880 of file vec.h.

#define TRANSPOSE4l ( to,
from   )     TRANSPOSE4safe(long,to,from)

Definition at line 881 of file vec.h.

#define TRANSPOSE4r ( to,
from   )     TRANSPOSE4safe(real,to,from)

Definition at line 882 of file vec.h.

#define TRANSPOSE4safe ( type,
to,
from   ) 

Value:

do {type _vec_h_temp_[4][4]; \
            TRANSPOSE4(_vec_h_temp_,from); \
            SETMAT4(to, _vec_h_temp_); \
        } while (0)

Definition at line 874 of file vec.h.

#define V2XM3 ( to2,
v2,
m3   ) 

Value:

((to2)[0] = _DOTcol2(v2,m3,0) + (m3)[2][0], \
         (to2)[1] = _DOTcol2(v2,m3,1) + (m3)[2][1])

Definition at line 270 of file vec.h.

#define V2XM3d ( to2,
v2,
m3   )     V2XM3safe(double,to2,v2,m3)

Definition at line 762 of file vec.h.

#define V2XM3i ( to2,
v2,
m3   )     V2XM3safe(int,to2,v2,m3)

Definition at line 763 of file vec.h.

#define V2XM3l ( to2,
v2,
m3   )     V2XM3safe(long,to2,v2,m3)

Definition at line 764 of file vec.h.

#define V2XM3r ( to2,
v2,
m3   )     V2XM3safe(real,to2,v2,m3)

Definition at line 765 of file vec.h.

#define V2XM3safe ( type,
to2,
v2,
m3   ) 

Value:

do {type _vec_h_temp_[2]; \
            V2XM3(_vec_h_temp_,v2,m3); \
            SET2(to2, _vec_h_temp_); \
        } while (0)

Definition at line 757 of file vec.h.

#define V3XM4 ( to3,
v3,
m4   ) 

Value:

((to3)[0] = _DOTcol3(v3,m4,0) + (m4)[3][0], \
         (to3)[1] = _DOTcol3(v3,m4,1) + (m4)[3][1], \
         (to3)[2] = _DOTcol3(v3,m4,2) + (m4)[3][2])

Definition at line 459 of file vec.h.

#define V3XM4d ( to3,
v3,
m4   )     V3XM4safe(double,to3,v3,m4)

Definition at line 852 of file vec.h.

#define V3XM4i ( to3,
v3,
m4   )     V3XM4safe(int,to3,v3,m4)

Definition at line 853 of file vec.h.

#define V3XM4l ( to3,
v3,
m4   )     V3XM4safe(long,to3,v3,m4)

Definition at line 854 of file vec.h.

#define V3XM4r ( to3,
v3,
m4   )     V3XM4safe(real,to3,v3,m4)

Definition at line 855 of file vec.h.

#define V3XM4safe ( type,
to3,
v3,
m4   ) 

Value:

do {type _vec_h_temp_[3]; \
            V3XM4(_vec_h_temp_,v3,m4); \
            SET3(to3, _vec_h_temp_); \
        } while (0)

Definition at line 847 of file vec.h.

#define VDS2 ( to,
from,
s   ) 

Value:

((to)[0] = (from)[0] / (s), \
         (to)[1] = (from)[1] / (s))

Definition at line 222 of file vec.h.

#define VDS3 ( to,
from,
s   ) 

Value:

((to)[0] = (from)[0] / (s), \
         (to)[1] = (from)[1] / (s), \
         (to)[2] = (from)[2] / (s))

Definition at line 379 of file vec.h.

#define VDS4 ( to,
from,
s   ) 

Value:

((to)[0] = (from)[0] / (s), \
         (to)[1] = (from)[1] / (s), \
         (to)[2] = (from)[2] / (s), \
         (to)[3] = (from)[3] / (s))

Definition at line 593 of file vec.h.

#define VEC_H   4

Definition at line 144 of file vec.h.

#define VMV2 ( to,
v,
w   ) 

Value:

((to)[0] = (v)[0] - (w)[0], \
         (to)[1] = (v)[1] - (w)[1])

Definition at line 198 of file vec.h.

#define VMV3 ( to,
v,
w   ) 

Value:

((to)[0] = (v)[0] - (w)[0], \
         (to)[1] = (v)[1] - (w)[1], \
         (to)[2] = (v)[2] - (w)[2])

Definition at line 347 of file vec.h.

Referenced by sofa::helper::polygon_cube_intersection::get_polygon_normal(), and sofa::helper::polygon_cube_intersection::segment_intersects_cube().

#define VMV4 ( to,
v,
w   ) 

Value:

((to)[0] = (v)[0] - (w)[0], \
         (to)[1] = (v)[1] - (w)[1], \
         (to)[2] = (v)[2] - (w)[2], \
         (to)[3] = (v)[3] - (w)[3])

Definition at line 553 of file vec.h.

#define VPV2 ( to,
v,
w   ) 

Value:

((to)[0] = (v)[0] + (w)[0], \
         (to)[1] = (v)[1] + (w)[1])

Definition at line 195 of file vec.h.

#define VPV3 ( to,
v,
w   ) 

Value:

((to)[0] = (v)[0] + (w)[0], \
         (to)[1] = (v)[1] + (w)[1], \
         (to)[2] = (v)[2] + (w)[2])

Definition at line 343 of file vec.h.

Referenced by sofa::helper::polygon_cube_intersection::get_polygon_normal().

#define VPV4 ( to,
v,
w   ) 

Value:

((to)[0] = (v)[0] + (w)[0], \
         (to)[1] = (v)[1] + (w)[1], \
         (to)[2] = (v)[2] + (w)[2], \
         (to)[3] = (v)[3] + (w)[3])

Definition at line 548 of file vec.h.

#define VXM2 ( to,
v,
m   ) 

Value:

((to)[0] = _DOTcol2(v, m, 0), \
         (to)[1] = _DOTcol2(v, m, 1))

Definition at line 234 of file vec.h.

#define VXM2d ( to,
v,
m   )     VXM2safe(double,to,v,m)

Definition at line 735 of file vec.h.

#define VXM2i ( to,
v,
m   )     VXM2safe(int,to,v,m)

Definition at line 736 of file vec.h.

#define VXM2l ( to,
v,
m   )     VXM2safe(long,to,v,m)

Definition at line 737 of file vec.h.

#define VXM2r ( to,
v,
m   )     VXM2safe(real,to,v,m)

Definition at line 738 of file vec.h.

#define VXM2safe ( type,
to,
v,
m   ) 

Value:

do {type _vec_h_temp_[2]; \
            VXM2(_vec_h_temp_,v,m); \
            SET2(to, _vec_h_temp_); \
        } while (0)

Definition at line 730 of file vec.h.

#define VXM3 ( to,
v,
m   ) 

Value:

((to)[0] = _DOTcol3(v, m, 0), \
         (to)[1] = _DOTcol3(v, m, 1), \
         (to)[2] = _DOTcol3(v, m, 2))

Definition at line 395 of file vec.h.

#define VXM3d ( to,
v,
m   )     VXM3safe(double,to,v,m)

Definition at line 807 of file vec.h.

#define VXM3i ( to,
v,
m   )     VXM3safe(int,to,v,m)

Definition at line 808 of file vec.h.

#define VXM3l ( to,
v,
m   )     VXM3safe(long,to,v,m)

Definition at line 809 of file vec.h.

#define VXM3r ( to,
v,
m   )     VXM3safe(real,to,v,m)

Definition at line 810 of file vec.h.

#define VXM3safe ( type,
to,
v,
m   ) 

Value:

do {type _vec_h_temp_[3]; \
            VXM3(_vec_h_temp_,v,m); \
            SET3(to, _vec_h_temp_); \
        } while (0)

Definition at line 802 of file vec.h.

#define VXM4 ( to,
v,
m   ) 

Value:

((to)[0] = _DOTcol4(v, m, 0), \
         (to)[1] = _DOTcol4(v, m, 1), \
         (to)[2] = _DOTcol4(v, m, 2), \
         (to)[3] = _DOTcol4(v, m, 3))

Definition at line 613 of file vec.h.

#define VXM4d ( to,
v,
m   )     VXM4safe(double,to,v,m)

Definition at line 897 of file vec.h.

#define VXM4i ( to,
v,
m   )     VXM4safe(int,to,v,m)

Definition at line 898 of file vec.h.

#define VXM4l ( to,
v,
m   )     VXM4safe(long,to,v,m)

Definition at line 899 of file vec.h.

#define VXM4r ( to,
v,
m   )     VXM4safe(real,to,v,m)

Definition at line 900 of file vec.h.

#define VXM4safe ( type,
to,
v,
m   ) 

Value:

do {type _vec_h_temp_[4]; \
            VXM4(_vec_h_temp_,v,m); \
            SET4(to, _vec_h_temp_); \
        } while (0)

Definition at line 892 of file vec.h.

#define VXS2 ( to,
from,
s   ) 

Value:

((to)[0] = (from)[0] * (s), \
         (to)[1] = (from)[1] * (s))

Definition at line 219 of file vec.h.

#define VXS3 ( to,
from,
s   ) 

Value:

((to)[0] = (from)[0] * (s), \
         (to)[1] = (from)[1] * (s), \
         (to)[2] = (from)[2] * (s))

Definition at line 375 of file vec.h.

#define VXS4 ( to,
from,
s   ) 

Value:

((to)[0] = (from)[0] * (s), \
         (to)[1] = (from)[1] * (s), \
         (to)[2] = (from)[2] * (s), \
         (to)[3] = (from)[3] * (s))

Definition at line 588 of file vec.h.

#define VXV2 ( v0,
v1   )     (_DET2(v0,v1,0,1))

Definition at line 278 of file vec.h.

#define VXV3 ( to,
v1,
v2   ) 

Value:

((to)[0] =  _DET2(v1,v2, 1,2), \
         (to)[1] = -_DET2(v1,v2, 0,2), \
         (to)[2] =  _DET2(v1,v2, 0,1))

Definition at line 439 of file vec.h.

Referenced by sofa::helper::polygon_cube_intersection::get_polygon_normal().

#define VXV3d ( to,
v1,
v2   )     VXV3safe(double,to,v1,v2)

Definition at line 825 of file vec.h.

#define VXV3i ( to,
v1,
v2   )     VXV3safe(int,to,v1,v2)

Definition at line 826 of file vec.h.

#define VXV3l ( to,
v1,
v2   )     VXV3safe(long,to,v1,v2)

Definition at line 827 of file vec.h.

#define VXV3r ( to,
v1,
v2   )     VXV3safe(real,to,v1,v2)

Definition at line 828 of file vec.h.

#define VXV3safe ( type,
to,
v1,
v2   ) 

Value:

do {type _vec_h_temp_[3]; \
            VXV3(_vec_h_temp_,v1,v2); \
            SET3(to, _vec_h_temp_); \
        } while (0)

Definition at line 820 of file vec.h.

#define VXVXV3 ( v0,
v1,
v2   )     (_DET3(v0,v1,v2,0,1,2))

Definition at line 467 of file vec.h.

#define VXVXV4 ( to,
v1,
v2,
v3   ) 

Value:

((to)[0] = -_DET3(v1,v2,v3, 1,2,3), \
         (to)[1] =  _DET3(v1,v2,v3, 0,2,3), \
         (to)[2] = -_DET3(v1,v2,v3, 0,1,3), \
         (to)[3] =  _DET3(v1,v2,v3, 0,1,2))

Definition at line 668 of file vec.h.

#define VXVXV4d ( to,
v1,
v2,
v3   )     VXVXV4safe(double,to,v1,v2,v3)

Definition at line 915 of file vec.h.

#define VXVXV4i ( to,
v1,
v2,
v3   )     VXVXV4safe(int,to,v1,v2,v3)

Definition at line 916 of file vec.h.

#define VXVXV4l ( to,
v1,
v2,
v3   )     VXVXV4safe(long,to,v1,v2,v3)

Definition at line 917 of file vec.h.

#define VXVXV4r ( to,
v1,
v2,
v3   )     VXVXV4safe(real,to,v1,v2,v3)

Definition at line 918 of file vec.h.

#define VXVXV4safe ( type,
to,
v1,
v2,
v3   ) 

Value:

do {type _vec_h_temp_[4]; \
            VXVXV4(_vec_h_temp_,v1,v2,v3); \
            SET4(to, _vec_h_temp_); \
        } while (0)

Definition at line 910 of file vec.h.

#define VXVXVXV4 ( v0,
v1,
v2,
v3   )     (_DET4(v0,v1,v2,v3,0,1,2,3))

Definition at line 693 of file vec.h.

#define XV2 ( to,
v1   ) 

Value:

((to)[0] = -_DET1(v1, 1), \
         (to)[1] =  _DET1(v1, 0))

Definition at line 267 of file vec.h.

#define XV2d ( to,
v1   )     XV2safe(double,to,v1)

Definition at line 753 of file vec.h.

#define XV2i ( to,
v1   )     XV2safe(int,to,v1)

Definition at line 754 of file vec.h.

#define XV2l ( to,
v1   )     XV2safe(long,to,v1)

Definition at line 755 of file vec.h.

#define XV2r ( to,
v1   )     XV2safe(real,to,v1)

Definition at line 756 of file vec.h.

#define XV2safe ( type,
to,
v1   ) 

Value:

do {type _vec_h_temp_[2]; \
            XV2(_vec_h_temp_,v1); \
            SET2(to, _vec_h_temp_); \
        } while (0)

Definition at line 748 of file vec.h.

#define ZEROMAT2 ( m   ) 

Value:

(ZEROVEC2((m)[0]), \
         ZEROVEC2((m)[1]))

Definition at line 186 of file vec.h.

#define ZEROMAT3 ( m   ) 

Value:

(ZEROVEC3((m)[0]), \
         ZEROVEC3((m)[1]), \
         ZEROVEC3((m)[2]))

Definition at line 331 of file vec.h.

#define ZEROMAT4 ( m   ) 

Value:

(ZEROVEC4((m)[0]), \
         ZEROVEC4((m)[1]), \
         ZEROVEC4((m)[2]), \
         ZEROVEC4((m)[3]))

Definition at line 533 of file vec.h.

#define ZEROVEC2 ( v   ) 

Value:

((v)[0] = 0, \
         (v)[1] = 0)

Definition at line 174 of file vec.h.

#define ZEROVEC3 ( v   ) 

Value:

((v)[0] = 0, \
         (v)[1] = 0, \
         (v)[2] = 0)

Definition at line 315 of file vec.h.

Referenced by sofa::helper::polygon_cube_intersection::get_polygon_normal().

#define ZEROVEC4 ( v   ) 

Value:

((v)[0] = 0, \
         (v)[1] = 0, \
         (v)[2] = 0, \
         (v)[3] = 0)

Definition at line 513 of file vec.h.


Generated on Sun Nov 23 04:07:25 2008 for Sofa by  doxygen 1.5.7.1