40 #ifndef _areaeffect_cpp
41 #define _areaeffect_cpp
43 #include "areaeffect.h"
45 #include "Physics/physicsmanager.h"
46 #include "Physics/collisionshape.h"
47 #include "Physics/collisionshapemanager.h"
48 #include "Physics/ghostproxy.h"
50 #include "Graphics/mesh.h"
51 #include "Graphics/meshmanager.h"
54 #include "Graphics/scenemanager.h"
57 #include "exception.h"
84 if( PhysMan != NULL ) {
87 UInt16 ColGroup = Physics::CF_SensorFilter;
88 UInt16 ColMask = Physics::CF_AllFilter & ~(Physics::CF_SensorFilter | Physics::CF_StaticFilter);
98 if( this->
Ghost != NULL && PhysMan != NULL ) {
108 {
return Mezzanine::WO_AreaEffectUnknown; }
111 {
return this->
Ghost; }
124 Proxies.push_back( this->
Ghost );
129 if( Types & Mezzanine::PT_Physics_GhostProxy ) {
130 Proxies.push_back( this->
Ghost );
302 if( !ProxiesNode.
Empty() ) {
309 if( !GhostProxNode.
Empty() ) {
328 {
return "AreaEffect"; }
342 for(
UInt32 ProxIndex = 0 ; ProxIndex < NumProxies ; ++ProxIndex )
345 if( CurrProxy != NULL ) {
347 if( CurrObject != NULL ) {
352 ObjectIterator PrevCheck = std::find( PrevOverlapping.begin(), PrevOverlapping.end(), CurrObject );
353 if( PrevCheck == PrevOverlapping.end() ) {
360 PrevOverlapping.erase( PrevCheck );
368 if( !PrevOverlapping.empty() ) {
375 if( ToBeDestroyed == NULL )
378 if( this->
Ghost == ToBeDestroyed ) {