#include <ExManagerCollision.h>
Graphe d'héritage de la classe ExManagerCollision

|
|
Définition à la ligne 43 du fichier ExManagerCollision.cpp.
00044 {
00045 }
|
|
|
Définition à la ligne 47 du fichier ExManagerCollision.cpp.
00048 {
00049 }
|
|
|
Définition à la ligne 89 du fichier ExManager.h. Références ExManager::m_AskForCommand. Référencé par ExManagerCommand::InputCommand().
00089 {return m_AskForCommand;}
|
|
|
Définition à la ligne 90 du fichier ExManager.h. Références ExManager::m_Exclusif. Référencé par ExManagerCommand::InputCommand().
00090 {return m_Exclusif;}
|
|
|
Définition à la ligne 145 du fichier ExManagerCollision.cpp. Référencé par ExManagerOutput::DrawScene().
00146 {
00147
00148 } |
|
|
Définition à la ligne 29 du fichier ExManagerCollision.cpp. Références CreateSingleton(), Guard, m_flag, m_instance, et UnGuard. Référencé par CreateManager(), et CreateSingleton().
00029 {
00030 Guard(ExManagerCollision* ExManagerCollision::CreateSingleton(void))
00031 if(!m_flag)
00032 {
00033 m_flag = true; // We are creating the error log now, so set flag to true
00034 m_instance = new ExManagerCollision; // Create the error log
00035 }else
00036 {
00037 std::cout<<"Error singleton already created"<<std::endl;
00038 }
00039 return m_instance;
00040 UnGuard
00041 }
|
|
|
Définition à la ligne 85 du fichier ExManager.h. Références ExManager::m_Status. Référencé par ExManagerInterface::Draw(), ExManagerConsole::Draw(), et ExManagerOutput::DrawScene().
00085 {return m_Status;}
|
|
|
Redéfinie à partir de ExManager. Définition à la ligne 95 du fichier ExManagerCollision.h.
00095 {}
|
|
|
Redéfinie dans ExManagerCommand, ExManagerConsole, ExManagerFog, ExManagerId, ExManagerMap, ExManagerNetwork, ExManagerPVS, ExManagerSpecialEffect, ExManagerWindow, ExManagerLoad, ExManagerAnimation, ExManagerCamera, ExManagerEntity, ExManagerInterface, ExManagerLoad, ExManagerMesh, ExManagerModel, ExManagerObjectWindow, ExManagerParticuleSystem, ExManagerSound, et ExManagerTexture. Définition à la ligne 42 du fichier ExManager.cpp. Références NOTHING.
00043 {return NOTHING;}
|
|
|
Redéfinie dans ExManagerCommand, ExManagerConsole, ExManagerFog, ExManagerMap, ExManagerNetwork, ExManagerPVS, ExManagerSpecialEffect, ExManagerWindow, ExManagerLoad, ExManagerAnimation, ExManagerCamera, ExManagerEntity, ExManagerInterface, ExManagerLoad, ExManagerMesh, ExManagerModel, ExManagerObjectWindow, ExManagerParticuleSystem, et ExManagerSound. Définition à la ligne 40 du fichier ExManager.cpp. Références NOTHING.
00041 {return NOTHING;}
|
|
|
|
|
|
|
|
|
Redéfinie à partir de ExManager. Définition à la ligne 55 du fichier ExManagerCollision.cpp. Référencé par ExManagerCommand::ProcesExCAction().
00056 {
00057 }
|
|
|
|
|
|
Redéfinie à partir de ExManager. Définition à la ligne 51 du fichier ExManagerCollision.cpp. Référencé par ExManagerCommand::ProcesExCAction().
00052 {
00053 }
|
|
|
Définition à la ligne 59 du fichier ExManagerCollision.cpp. Références ExCModel::GetCollisionGizmo(), ExManagerModel::GetCurrentObject(), ExCObject::GetName(), ExManagerObject< ExCModel * >::GetNumberObject(), ExCObject3D::GetPosition(), ExCObject3D::GetTarget(), ExCObject::GetType(), ExCObject3D::GetVelocity(), ExCVec3D::GetX(), ExCVec3D::GetY(), ExCVec3D::GetZ(), Guard, ExCModel::IncreaseCollisionCouter(), ExCObject3D::m_SphereRadius, ManagerModel, ExManagerObject< ExCModel * >::NextObject(), ExCModel::ResetCollisionCouter(), ResolveCollision(), ExCGizmo::SetColor(), ExCObject3D::SetTarget(), ExCObject3D::SetVelocity(), et UnGuard. Référencé par ResolveCollision().
00060 {
00061 Guard(void ExManagerCollision::ResolveCollision(void))
00062 //i=0 comparer i avec i+1....i+nombre elem
00063 //i=1 ...
00064 //i=nombre elem quit
00065 ExCVec3D Nev,CurrentVec;
00066 ExCModel *CurrentModel,*ModelToCompare;
00067 float lowlestradius;
00068 bool Collision;
00069 for(unsigned int i=0;i<ManagerModel->GetNumberObject();i++)
00070 {
00071 CurrentModel=ManagerModel->GetCurrentObject();
00072 Collision=false;
00073 for(unsigned int j=i+1;j<ManagerModel->GetNumberObject();j++)
00074 {
00075 ManagerModel->NextObject();
00076 ModelToCompare=ManagerModel->GetCurrentObject();
00077 ModelToCompare->ResetCollisionCouter();
00078 ModelToCompare->GetCollisionGizmo()->SetColor(ExCVec3D(1.0f,1.0f,1.0f));
00079 //CHECK COLLISION TYPE BOX/BOX SPHERE/SPHERE SPHERE/BOX...
00080 //SPHERE/SPHERE
00081 if(strcmp(ModelToCompare->GetCollisionGizmo()->GetType().data(),"class ExCGizmoSphere *")==0
00082 &&strcmp(CurrentModel->GetCollisionGizmo()->GetType().data(),"class ExCGizmoSphere *")==0)//sphere with sphere
00083 {
00084
00085 if(ModelToCompare->m_SphereRadius<CurrentModel->m_SphereRadius)
00086 {
00087 lowlestradius=ModelToCompare->m_SphereRadius;
00088 }else{
00089 lowlestradius=CurrentModel->m_SphereRadius;
00090 }
00091 Nev=ModelToCompare->GetPosition()-CurrentModel->GetPosition();
00092 if(Nev.GetX()<lowlestradius&&Nev.GetX()>-lowlestradius)
00093 {
00094 if(Nev.GetZ()<lowlestradius&&Nev.GetZ()>-lowlestradius)
00095 {
00096 std::cout<<CurrentModel->GetName()<<" Collision SPHERE/SPHERE with "<<ModelToCompare->GetName()<<std::endl;
00097 if(Nev.GetY()<lowlestradius&&Nev.GetY()>-lowlestradius)
00098 {
00099 ExCVec3D tmpvel,tmptrgt;
00100 tmpvel=CurrentModel->GetVelocity()+ModelToCompare->GetVelocity();
00101 tmptrgt=CurrentModel->GetTarget()+ModelToCompare->GetTarget();
00102
00103 CurrentModel->SetVelocity(tmpvel/2);
00104 CurrentModel->SetTarget(tmptrgt/2);
00105 ModelToCompare->SetVelocity(tmpvel/2);
00106 ModelToCompare->SetTarget(tmptrgt/2);
00107 CurrentModel->GetCollisionGizmo()->SetColor(ExCVec3D(1.0f,0.0f,0.0f));
00108 ModelToCompare->GetCollisionGizmo()->SetColor(ExCVec3D(0.0f,1.0f,0.0f));
00109 Collision=true;
00110 CurrentModel->IncreaseCollisionCouter();
00111 ModelToCompare->IncreaseCollisionCouter();
00112
00113 }
00114 }
00115 }
00116 }
00117 //SPHERE/RECTANGLE
00118 if(strcmp(ModelToCompare->GetCollisionGizmo()->GetType().data(),"class ExCGizmoSphere *")==0
00119 &&strcmp(CurrentModel->GetCollisionGizmo()->GetType().data(),"class ExCGizmoRectangle*")==0)//sphere with sphere
00120 {
00121 // std::cout<<CurrentModel->GetName()<<" Collision SPHERE/RECTANGLE with "<<ModelToCompare->GetName()<<std::endl;
00122 }
00123 //RECTANGLE/SPHERE
00124 if(strcmp(ModelToCompare->GetCollisionGizmo()->GetType().data(),"class ExCGizmoRectangle *")==0
00125 &&strcmp(CurrentModel->GetCollisionGizmo()->GetType().data(),"class ExCGizmoSphere *")==0)//sphere with sphere
00126 {
00127 // std::cout<<CurrentModel->GetName()<<" Collision RECTANGLE/SPHERE with "<<ModelToCompare->GetName()<<std::endl;
00128 }
00129 //RECTANGLE/RECTANGLE
00130 if(strcmp(ModelToCompare->GetCollisionGizmo()->GetType().data(),"class ExCGizmoRectangle *")==0
00131 &&strcmp(CurrentModel->GetCollisionGizmo()->GetType().data(),"class ExCGizmoRectangle *")==0)//sphere with sphere
00132 {
00133 // std::cout<<CurrentModel->GetName()<<" Collision RECTANGLE/RECTANGLE with "<<ModelToCompare->GetName()<<std::endl;
00134 }
00135 }
00136 if(!Collision)
00137 {
00138 //CurrentModel->GetCollisionGizmo()->SetColor(ExCVec3D(1.0f,1.0f,1.0f));
00139 }
00140 ManagerModel->NextObject();
00141 }
00142 UnGuard
00143 }
|
|
|
Définition à la ligne 87 du fichier ExManager.h. Références ExManager::m_AskForCommand. Référencé par ExManagerConsole::ExManagerConsole(), ExManagerModel::ExManagerModel(), ExManagerObjectWindow::Init(), ExManagerNetwork::Init(), ExManagerConsole::InputAction(), ExManagerNetwork::InputCommand(), ExManagerLoad::LoadSetOfFile(), et ExManagerNetwork::Say().
00087 {m_AskForCommand=status;}
|
|
|
Définition à la ligne 88 du fichier ExManager.h. Références ExManager::m_Exclusif. Référencé par ExManagerConsole::ExManagerConsole(), ExManagerModel::ExManagerModel(), ExManagerObjectWindow::Init(), ExManagerNetwork::Init(), ExManagerConsole::InputAction(), ExManagerNetwork::InputCommand(), et ExManagerNetwork::Say().
00088 {m_Exclusif=status;}
|
|
||||||||||||
|
Définition à la ligne 35 du fichier ExManager.cpp. Références ExManager::Consol, et ExManager::FluxAction. Référencé par SetManagerLink().
00036 {
00037 Consol=consol;
00038 FluxAction=action;
00039 }
|
|
|
Définition à la ligne 98 du fichier ExManagerCollision.h. Références ManagerId. Référencé par SetManagerLink().
00098 {ManagerId = Id;}
|
|
|
Définition à la ligne 92 du fichier ExManagerCollision.h. Références ManagerModel. Référencé par SetManagerLink().
00092 {ManagerModel = Model;}
|
|
|
Définition à la ligne 86 du fichier ExManager.h. Références ExManager::m_Status. Référencé par ExManagerConsole::Draw(), ExManagerConsole::ExManagerConsole(), ExManagerObjectWindow::Init(), ExManagerInterface::Init(), ExManagerConsole::InputAction(), ExManagerLoad::LoadSetOfFile(), et ExManagerConsole::SetConsoleState().
00086 {m_Status=status;}
|
|
|
|
Définition à la ligne 74 du fichier ExManager.h. Référencé par ExManagerWindow::Apply(), ExManagerCommand::ApplyAction(), ExManagerCommand::LoadExecFile(), ExManagerId::RecordObject(), ExManager::SetFlux(), et ExManagerSpecialEffect::Specialeffect(). |
|
|
Définition à la ligne 70 du fichier ExManager.h. Référencé par ExManager::AskForCommand(), ExManagerConsole::ExManagerConsole(), et ExManager::SetAskForCommand(). |
|
|
Définition à la ligne 71 du fichier ExManager.h. Référencé par ExManager::AskForExclusifCommand(), et ExManager::SetAskForExclusifCommand(). |
|
|
Définition à la ligne 26 du fichier ExManagerCollision.cpp. Référencé par CreateSingleton(). |
|
|
Définition à la ligne 27 du fichier ExManagerCollision.cpp. Référencé par CreateSingleton(). |
|
|
Définition à la ligne 69 du fichier ExManager.h. Référencé par ExManager::GetStatus(), et ExManager::SetStatus(). |
|
|
Définition à la ligne 78 du fichier ExManagerCollision.h. Référencé par SetManagerId(). |
|
|
Définition à la ligne 79 du fichier ExManagerCollision.h. Référencé par ResolveCollision(), et SetManagerModel(). |
1.3.4