35 int numbrushes = planeEquations.
size();
36 for (
int i=0;i<numbrushes;i++)
52 int numvertices = vertices.
size();
53 for (
int i=0;i<numvertices;i++)
69 int numbrushes = planeEquations.
size();
70 for (
int i=0;i<numbrushes;i++)
83 const int numvertices = vertices.
size();
85 for (
int i=0;i<numvertices;i++)
90 for (
int j=i+1;j<numvertices;j++)
94 for (
int k=j+1;k<numvertices;k++)
103 for (
int ww=0;ww<2;ww++)
105 planeEquation = normalSign * edge0.
cross(edge1);
109 if (
notExist(planeEquation,planeEquationsOut))
111 planeEquation[3] = -planeEquation.
dot(N1);
116 planeEquationsOut.
push_back(planeEquation);
131 const int numbrushes = planeEquations.
size();
133 for (
int i=0;i<numbrushes;i++)
138 for (
int j=i+1;j<numbrushes;j++)
142 for (
int k=j+1;k<numbrushes;k++)
165 quotient =
btScalar(-1.) / quotient;
170 potentialVertex += n3n1;
171 potentialVertex += n1n2;
172 potentialVertex *= quotient;
bool notExist(const btVector3 &planeEquation, const btAlignedObjectArray< btVector3 > &planeEquations)
float btScalar
The btScalar type abstracts floating point numbers, to easily switch between double and single floati...
btScalar btFabs(btScalar x)
int size() const
return the number of elements in the array
void push_back(const T &_Val)
static void getVerticesFromPlaneEquations(const btAlignedObjectArray< btVector3 > &planeEquations, btAlignedObjectArray< btVector3 > &verticesOut)
static bool areVerticesBehindPlane(const btVector3 &planeNormal, const btAlignedObjectArray< btVector3 > &vertices, btScalar margin)
static void getPlaneEquationsFromVertices(btAlignedObjectArray< btVector3 > &vertices, btAlignedObjectArray< btVector3 > &planeEquationsOut)
static bool isPointInsidePlanes(const btAlignedObjectArray< btVector3 > &planeEquations, const btVector3 &point, btScalar margin)
btVector3 can be used to represent 3D points and vectors.
btVector3 cross(const btVector3 &v) const
Return the cross product between this and another vector.
btScalar dot(const btVector3 &v) const
Return the dot product.
btScalar length2() const
Return the length of the vector squared.
btVector3 & normalize()
Normalize this vector x^2 + y^2 + z^2 = 1.