diff --git a/Demos/Jamfile b/Demos/Jamfile index 21d2ba323..c2a526daf 100644 --- a/Demos/Jamfile +++ b/Demos/Jamfile @@ -35,7 +35,7 @@ if $(GLUT.AVAILABLE) = "yes" MsvcIncDirs $(<) : "../../Demos/OpenGL" "../../Extras/PhysicsInterface/CcdPhysics" - "../../Extras/PhysicsInterface/Common" ; + "../../Extras/PhysicsInterface/Common" "../../Extras/ConvexDecomposition" ; } diff --git a/Extras/ConvexDecomposition/ConvexBuilder.h b/Extras/ConvexDecomposition/ConvexBuilder.h index 6b1321b6a..7cd774a03 100644 --- a/Extras/ConvexDecomposition/ConvexBuilder.h +++ b/Extras/ConvexDecomposition/ConvexBuilder.h @@ -36,7 +36,7 @@ THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. // -#include "convexdecomposition.h" +#include "ConvexDecomposition.h" #include "vlookup.h" using namespace ConvexDecomposition; @@ -107,4 +107,4 @@ public: ConvexDecompInterface *mCallback; }; -#endif //CONVEX_BUILDER_H \ No newline at end of file +#endif //CONVEX_BUILDER_H diff --git a/Extras/ConvexDecomposition/ConvexDecomposition.cpp b/Extras/ConvexDecomposition/ConvexDecomposition.cpp index 969dbfcf2..492e19cf5 100644 --- a/Extras/ConvexDecomposition/ConvexDecomposition.cpp +++ b/Extras/ConvexDecomposition/ConvexDecomposition.cpp @@ -44,7 +44,7 @@ #include "cd_vector.h" #include "cd_hull.h" #include "bestfit.h" -#include "PlaneTri.h" +#include "planetri.h" #include "vlookup.h" #include "splitplane.h" #include "meshvolume.h" diff --git a/Extras/ConvexDecomposition/cd_wavefront.cpp b/Extras/ConvexDecomposition/cd_wavefront.cpp index 8bd457dbe..e30bdd82a 100644 --- a/Extras/ConvexDecomposition/cd_wavefront.cpp +++ b/Extras/ConvexDecomposition/cd_wavefront.cpp @@ -675,7 +675,9 @@ int OBJ::ParseLine(int lineno,int argc,const char **argv) // return TRUE to con const char *foo = argv[0]; if ( *foo != '#' ) { - if ( stricmp(argv[0],"v") == 0 && argc == 4 ) + if ( strcmp(argv[0],"v") == 0 && argc == 4 ) + + //if ( stricmp(argv[0],"v") == 0 && argc == 4 ) { float vx = (float) atof( argv[1] ); float vy = (float) atof( argv[2] ); @@ -684,14 +686,18 @@ int OBJ::ParseLine(int lineno,int argc,const char **argv) // return TRUE to con mVerts.push_back(vy); mVerts.push_back(vz); } - else if ( stricmp(argv[0],"vt") == 0 && argc == 3 ) + else if ( strcmp(argv[0],"vt") == 0 && argc == 3 ) + + // else if ( stricmp(argv[0],"vt") == 0 && argc == 3 ) { float tx = (float) atof( argv[1] ); float ty = (float) atof( argv[2] ); mTexels.push_back(tx); mTexels.push_back(ty); } - else if ( stricmp(argv[0],"vn") == 0 && argc == 4 ) + // else if ( stricmp(argv[0],"vn") == 0 && argc == 4 ) + + else if ( strcmp(argv[0],"vn") == 0 && argc == 4 ) { float normalx = (float) atof(argv[1]); float normaly = (float) atof(argv[2]); @@ -700,7 +706,9 @@ int OBJ::ParseLine(int lineno,int argc,const char **argv) // return TRUE to con mNormals.push_back(normaly); mNormals.push_back(normalz); } - else if ( stricmp(argv[0],"f") == 0 && argc >= 4 ) +// else if ( stricmp(argv[0],"f") == 0 && argc >= 4 ) + + else if ( strcmp(argv[0],"f") == 0 && argc >= 4 ) { GeometryVertex v[32]; diff --git a/Extras/ConvexDecomposition/float_math.cpp b/Extras/ConvexDecomposition/float_math.cpp index 8bd5f5fcc..773934de1 100644 --- a/Extras/ConvexDecomposition/float_math.cpp +++ b/Extras/ConvexDecomposition/float_math.cpp @@ -169,9 +169,9 @@ void fm_quatToMatrix(const float *quat,float *matrix) // convert quaterinion rot matrix[1*4+2] = 2 * ( yz + wx ); matrix[2*4+2] = 1 - 2 * ( xx + yy ); - matrix[3*4+0] =(float) matrix[3*4+1] = matrix[3*4+2] = 0.0f; - matrix[0*4+3] =(float) matrix[1*4+3] = matrix[2*4+3] = 0.0f; - matrix[3*4+3] =(float) 1.0f; + matrix[3*4+0] = matrix[3*4+1] = matrix[3*4+2] = 0.0f; + matrix[0*4+3] = matrix[1*4+3] = matrix[2*4+3] = 0.0f; + matrix[3*4+3] = 1.0f; } diff --git a/Extras/ConvexDecomposition/splitplane.cpp b/Extras/ConvexDecomposition/splitplane.cpp index 0700ad078..144538672 100644 --- a/Extras/ConvexDecomposition/splitplane.cpp +++ b/Extras/ConvexDecomposition/splitplane.cpp @@ -46,7 +46,7 @@ #include "cd_hull.h" #include "cd_wavefront.h" #include "bestfit.h" -#include "PlaneTri.h" +#include "planetri.h" #include "vlookup.h" #include "meshvolume.h" diff --git a/Extras/ConvexDecomposition/vlookup.cpp b/Extras/ConvexDecomposition/vlookup.cpp index 2ca81ea9d..d2e2254e5 100644 --- a/Extras/ConvexDecomposition/vlookup.cpp +++ b/Extras/ConvexDecomposition/vlookup.cpp @@ -143,39 +143,39 @@ public: }; -template class VertexLess +class VertexLess { public: - typedef std::vector< Type > VertexVector; + typedef std::vector< VertexPosition > VertexVector; bool operator()(int v1,int v2) const; - static void SetSearch(const Type& match,VertexVector *list) + static void SetSearch(const VertexPosition& match,VertexVector *list) { mFind = match; mList = list; }; private: - const Type& Get(int index) const + const VertexPosition& Get(int index) const { if ( index == -1 ) return mFind; VertexVector &vlist = *mList; return vlist[index]; } - static Type mFind; // vertice to locate. + static VertexPosition mFind; // vertice to locate. static VertexVector *mList; }; template class VertexPool { public: - typedef std::set > VertexSet; + typedef std::set VertexSet; typedef std::vector< Type > VertexVector; int GetVertex(const Type& vtx) { - VertexLess::SetSearch(vtx,&mVtxs); + VertexLess::SetSearch(vtx,&mVtxs); VertexSet::iterator found; found = mVertSet.find( -1 ); if ( found != mVertSet.end() ) @@ -188,6 +188,7 @@ public: return idx; }; + const float * GetPos(int idx) const { return mVtxs[idx].mPos; @@ -234,10 +235,10 @@ private: }; -VertexPosition VertexLess::mFind; -std::vector *VertexLess::mList=0; +VertexPosition VertexLess::mFind; +std::vector *VertexLess::mList=0; -bool VertexLess::operator()(int v1,int v2) const +bool VertexLess::operator()(int v1,int v2) const { const VertexPosition& a = Get(v1); @@ -267,6 +268,7 @@ bool VertexLess::operator()(int v1,int v2) const + }; using namespace Vlookup; diff --git a/Extras/Jamfile b/Extras/Jamfile index 280b51346..cabe4aa3f 100644 --- a/Extras/Jamfile +++ b/Extras/Jamfile @@ -1,3 +1,4 @@ SubDir TOP Extras ; -SubInclude TOP Extras PhysicsInterface ; \ No newline at end of file +SubInclude TOP Extras PhysicsInterface ; +SubInclude TOP Extras ConvexDecomposition ;