|
From: julien r. <jul...@us...> - 2004-11-19 18:54:55
|
Update of /cvsroot/epfl/tgengine-0.1 In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv2336 Modified Files: glrenderer.cc md5instance.cc md5instance.h mesh.h physicengine.cc Log Message: particules roquettes :) Index: physicengine.cc =================================================================== RCS file: /cvsroot/epfl/tgengine-0.1/physicengine.cc,v retrieving revision 1.28 retrieving revision 1.29 diff -C2 -d -r1.28 -r1.29 *** physicengine.cc 19 Nov 2004 12:04:04 -0000 1.28 --- physicengine.cc 19 Nov 2004 18:54:42 -0000 1.29 *************** *** 42,49 **** if (trace.AllSolid) { ! //vVelocity.y = 0; //FIXME: ça ne semble plus poser problème et ça évite les objets traversant les murs //en fait, on devrait plutot tenter de renvoyer les objets en arriere jusqu'a ce que AllSolid devienne faux (en stockant la position précédente des objets et en y revenant par exemple ! vVelocity.Null(); return; } --- 42,49 ---- if (trace.AllSolid) { ! vVelocity.y = 0; //FIXME: ça ne semble plus poser problème et ça évite les objets traversant les murs //en fait, on devrait plutot tenter de renvoyer les objets en arriere jusqu'a ce que AllSolid devienne faux (en stockant la position précédente des objets et en y revenant par exemple ! //vVelocity.Null(); return; } Index: md5instance.h =================================================================== RCS file: /cvsroot/epfl/tgengine-0.1/md5instance.h,v retrieving revision 1.10 retrieving revision 1.11 diff -C2 -d -r1.10 -r1.11 *** md5instance.h 19 Nov 2004 12:04:04 -0000 1.10 --- md5instance.h 19 Nov 2004 18:54:42 -0000 1.11 *************** *** 48,51 **** --- 48,52 ---- void Attach (const std::string& jointName, SceneNode* s); + void Detach (const std::string& jointName, SceneNode* s); int GetVertexStride () { return 0; } Index: glrenderer.cc =================================================================== RCS file: /cvsroot/epfl/tgengine-0.1/glrenderer.cc,v retrieving revision 1.22 retrieving revision 1.23 diff -C2 -d -r1.22 -r1.23 *** glrenderer.cc 19 Nov 2004 12:04:04 -0000 1.22 --- glrenderer.cc 19 Nov 2004 18:54:42 -0000 1.23 *************** *** 310,314 **** glLoadIdentity(); #define FOV 120 ! gluPerspective(FOV/2, ratio, 0.1f, 10000.0f); glMatrixMode(GL_MODELVIEW); --- 310,314 ---- glLoadIdentity(); #define FOV 120 ! gluPerspective(FOV/2, ratio, 4.0f, 4000.0f); glMatrixMode(GL_MODELVIEW); Index: md5instance.cc =================================================================== RCS file: /cvsroot/epfl/tgengine-0.1/md5instance.cc,v retrieving revision 1.14 retrieving revision 1.15 diff -C2 -d -r1.14 -r1.15 *** md5instance.cc 19 Nov 2004 12:04:04 -0000 1.14 --- md5instance.cc 19 Nov 2004 18:54:42 -0000 1.15 *************** *** 170,173 **** --- 170,202 ---- } + void MD5Instance::Detach (const std::string& jointName, SceneNode* s) + { + if (jointName == "") + { + std::vector<SceneNode*>::iterator start = vNodes.begin(); + std::vector<SceneNode*>::iterator end = vNodes.end(); + std::vector<SceneNode*>::iterator iter; + + iter = find(start,end,s); + if (iter != end) + vNodes.erase(iter); + return; + } + for (int i=0; i<iNumJoints; i++) + { + if (pJoints[i].sName == jointName) + { + std::vector<SceneNode*>::iterator start = pJoints[i].vNodes.begin(); + std::vector<SceneNode*>::iterator end = pJoints[i].vNodes.end(); + std::vector<SceneNode*>::iterator iter; + + iter = find(start,end,s); + if (iter != end) + pJoints[i].vNodes.erase(iter); + + } + } + } + void MD5Instance::_SkinMesh () { Index: mesh.h =================================================================== RCS file: /cvsroot/epfl/tgengine-0.1/mesh.h,v retrieving revision 1.4 retrieving revision 1.5 diff -C2 -d -r1.4 -r1.5 *** mesh.h 19 Nov 2004 12:04:04 -0000 1.4 --- mesh.h 19 Nov 2004 18:54:42 -0000 1.5 *************** *** 76,79 **** --- 76,80 ---- */ virtual void Attach (const std::string& jointName, SceneNode* s) = 0; + virtual void Detach (const std::string& jointName, SceneNode* s) = 0; |