|
From: julien r. <jul...@us...> - 2004-10-15 14:07:46
|
Update of /cvsroot/epfl/tgengine-0.1 In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv30439 Modified Files: scenemanager.cc scenemanager.h Log Message: menage... Index: scenemanager.cc =================================================================== RCS file: /cvsroot/epfl/tgengine-0.1/scenemanager.cc,v retrieving revision 1.6 retrieving revision 1.7 diff -C2 -d -r1.6 -r1.7 *** scenemanager.cc 15 Oct 2004 13:59:04 -0000 1.6 --- scenemanager.cc 15 Oct 2004 14:07:32 -0000 1.7 *************** *** 7,12 **** SceneManager::SceneManager (Timer* t) { - mObjects.clear (); - mEmitters.clear (); pTimer = t; pPhysicEngine=NULL; --- 7,10 ---- *************** *** 39,61 **** Vector3 tmp; - /*ObjectsList::iterator i = mObjects.begin(); - int count = 0; - for (; i != mObjects.end(); i++) - { - count++; - if (i->second->Trace(Begin, End, colPoint, colNormal)) - { - //on regarde si le nouveau point de collision est plus proche de la caméra que l'ancien point de collision - d1 = (colPoint - pCamera->vPosition).Magnitude(); - d2 = (result.EndPoint - pCamera->vPosition).Magnitude(); - if ( d1 < d2 ) - { - result.EndPoint = colPoint; - result.Normal = colNormal; - result.pNode = i->second; - } - } - }*/ - Mesh* m = pFirstObject; if (m != NULL) --- 37,40 ---- *************** *** 143,169 **** } - - /*if(pD3Level) - { - //pD3Level->SetCamera(pCamera); - pD3Level->Render (); - }*/ - - /*ObjectsList::iterator i = mObjects.begin(); - for (; i != mObjects.end(); i++) - { - i->second->PreRender(frameInterval); - //mise a jour des plans constituant la bounding box - i->second->pBBox->CalculatePlanes(); - i->second->iLeaf = pLevel->FindLeaf(i->second->GetPosition()); - if ((!(i->second->iRenderFlags & M_UNVISIBLE)) && pLevel->IsVisible(i->second->iLeaf)) - { - Engine::pRenderer->RenderMesh(i->second); - Engine::pRenderer->RenderBBox(i->second->pBBox); - } - }*/ - - - Mesh* m = pFirstObject; if (m != NULL) --- 122,125 ---- *************** *** 225,238 **** #endif - /*EmittersList::iterator j = mEmitters.begin (); - for (; j!=mEmitters.end(); j++) - { - j->second->PreRender (frameInterval); - Engine::pRenderer->RenderParticles (j->second); - }*/ - - - - ParticleEmitter* p = pFirstEmitter; if (p != NULL) --- 181,184 ---- *************** *** 316,320 **** } ! void SceneManager::AddWorldObject (Mesh* obj, std::string name) { if (pFirstObject) //le premier noeud existe --- 262,266 ---- } ! void SceneManager::AddWorldObject (Mesh* obj) { if (pFirstObject) //le premier noeud existe *************** *** 332,342 **** pCurrentObject = obj; } - mObjects[name] = obj; } ! void SceneManager::AddParticlesEmitter (ParticleEmitter* p, std::string name) { - // pEmitList.push_back(p); - //mEmitters[name] = p; if (pFirstEmitter) //le premier noeud existe { --- 278,285 ---- pCurrentObject = obj; } } ! void SceneManager::AddParticlesEmitter (ParticleEmitter* p) { if (pFirstEmitter) //le premier noeud existe { *************** *** 353,357 **** pCurrentEmitter = p; } - //mEmitters[name] = p; } --- 296,299 ---- *************** *** 374,382 **** } - void SceneManager::RemoveParticlesEmitter (std::string name) - { - mEmitters.erase(name); - } - void SceneManager::RemoveParticlesEmitter(ParticleEmitter* p) { --- 316,319 ---- *************** *** 448,455 **** } - void SceneManager::RemoveWorldObject (std::string name) - { - mObjects.erase(name); - } void SceneManager::RemoveWorldObject(Mesh* obj) --- 385,388 ---- *************** *** 484,497 **** } ! void SceneManager::AddTimedWorldObject (Mesh* obj, std::string name, float time) { obj->fTime = time; ! AddWorldObject(obj, name); } ! void SceneManager::AddTimedParticleEmitter (ParticleEmitter* p, std::string name, float time) { p->fTime = time; ! AddParticlesEmitter(p, name); } --- 417,430 ---- } ! void SceneManager::AddTimedWorldObject (Mesh* obj, float time) { obj->fTime = time; ! AddWorldObject(obj); } ! void SceneManager::AddTimedParticleEmitter (ParticleEmitter* p, float time) { p->fTime = time; ! AddParticlesEmitter(p); } Index: scenemanager.h =================================================================== RCS file: /cvsroot/epfl/tgengine-0.1/scenemanager.h,v retrieving revision 1.2 retrieving revision 1.3 diff -C2 -d -r1.2 -r1.3 *** scenemanager.h 28 Sep 2004 18:03:12 -0000 1.2 --- scenemanager.h 15 Oct 2004 14:07:32 -0000 1.3 *************** *** 41,51 **** void SetCamera (Camera* pcam); Camera* GetCamera() { return pCamera; } ! void AddParticlesEmitter (ParticleEmitter* p, std::string name); ! void RemoveParticlesEmitter (std::string name); void RemoveParticlesEmitter(ParticleEmitter* p); void SetPhysicEngine (PhysicEngine* c) { pPhysicEngine = c;} ! void AddWorldObject (Mesh* obj, std::string name); ! void RemoveWorldObject (std::string name); void RemoveWorldObject (Mesh* obj); --- 41,49 ---- void SetCamera (Camera* pcam); Camera* GetCamera() { return pCamera; } ! void AddParticlesEmitter (ParticleEmitter* p); void RemoveParticlesEmitter(ParticleEmitter* p); void SetPhysicEngine (PhysicEngine* c) { pPhysicEngine = c;} ! void AddWorldObject (Mesh* obj); void RemoveWorldObject (Mesh* obj); *************** *** 55,63 **** * Cette fonction ne test PAS si l'objet existe deja dans la liste ! (-> risque de duplication) */ ! void AddTimedWorldObject (Mesh* obj, std::string name, float time); /**Ajoute un emetteur de particules qui sera detruit (delete) apres 'time' secondes * Cette fonction ne test PAS si l'objet existe deja dans la liste ! (-> risque de duplication) */ ! void AddTimedParticleEmitter (ParticleEmitter* p, std::string name, float time); void SetLevel(Q3Bsp* p) { pLevel = p; if(pPhysicEngine) pPhysicEngine->SetLevel(p);} --- 53,61 ---- * Cette fonction ne test PAS si l'objet existe deja dans la liste ! (-> risque de duplication) */ ! void AddTimedWorldObject (Mesh* obj, float time); /**Ajoute un emetteur de particules qui sera detruit (delete) apres 'time' secondes * Cette fonction ne test PAS si l'objet existe deja dans la liste ! (-> risque de duplication) */ ! void AddTimedParticleEmitter (ParticleEmitter* p,float time); void SetLevel(Q3Bsp* p) { pLevel = p; if(pPhysicEngine) pPhysicEngine->SetLevel(p);} *************** *** 72,83 **** void _RenderLight (PointLight*); - typedef std::map<std::string, Mesh*> ObjectsList; - ObjectsList mObjects; Mesh* pFirstObject; Mesh* pCurrentObject; - typedef std::map<std::string, ParticleEmitter*> EmittersList; - EmittersList mEmitters; ParticleEmitter* pFirstEmitter; ParticleEmitter* pCurrentEmitter; --- 70,77 ---- *************** *** 89,93 **** Camera* pCamera; Q3Bsp* pLevel; - //D3Map* pD3Level; Timer* pTimer; --- 83,86 ---- |