00001 //## begin module%37867A8A0224.cm preserve=no 00002 // %X% %Q% %Z% %W% 00003 //## end module%37867A8A0224.cm 00004 00005 //## begin module%37867A8A0224.cp preserve=no 00006 //## end module%37867A8A0224.cp 00007 00008 //## Module: CD_Icollide%37867A8A0224; Pseudo Package body 00009 //## Source file: C:\project\mpk\code\CollisionDetectors\CD_Icollide.cpp 00010 00011 //## begin module%37867A8A0224.additionalIncludes preserve=no 00012 //## end module%37867A8A0224.additionalIncludes 00013 00014 //## begin module%37867A8A0224.includes preserve=yes 00015 //#include <i_collide 1.2\libcollide\collision.h> //IMPROVE: these paths are not that portable 00016 #include <assert.h> 00017 //## end module%37867A8A0224.includes 00018 00019 // CD_Icollide 00020 #include "CollisionDetectors\CD_Icollide.h" 00021 //## begin module%37867A8A0224.additionalDeclarations preserve=yes 00022 //## end module%37867A8A0224.additionalDeclarations 00023 00024 00025 // Class CD_Icollide 00026 00027 //## begin CD_Icollide::iCollideStarted%378A21F700D5.attr preserve=no protected: static bool {UA} false 00028 bool CD_Icollide::iCollideStarted = false; 00029 //## end CD_Icollide::iCollideStarted%378A21F700D5.attr 00030 00031 CD_Icollide::CD_Icollide (const CD_Icollide& right) 00032 //## begin CD_Icollide::CD_Icollide%931798964.hasinit preserve=no 00033 //## end CD_Icollide::CD_Icollide%931798964.hasinit 00034 //## begin CD_Icollide::CD_Icollide%931798964.initialization preserve=yes 00035 : 00036 CollisionDetectorBase( right ), 00037 CD_BasicStyle( right ), 00038 CD_Linear( right ), 00039 CD_LinearContinuous( right ) 00040 //## end CD_Icollide::CD_Icollide%931798964.initialization 00041 { 00042 //## begin CD_Icollide::CD_Icollide%931798964.body preserve=yes 00043 assert( iCollideStarted ) ; 00044 //## end CD_Icollide::CD_Icollide%931798964.body 00045 } 00046 00047 CD_Icollide::CD_Icollide (Universe& universe) 00048 //## begin CD_Icollide::CD_Icollide%931798965.hasinit preserve=no 00049 //## end CD_Icollide::CD_Icollide%931798965.hasinit 00050 //## begin CD_Icollide::CD_Icollide%931798965.initialization preserve=yes 00051 : 00052 CollisionDetectorBase( universe ), 00053 CD_BasicStyle( universe ), 00054 CD_Linear( universe ), 00055 CD_LinearContinuous( universe ) 00056 //## end CD_Icollide::CD_Icollide%931798965.initialization 00057 { 00058 /* 00059 if( !iCollideStarted ) 00060 { 00061 int numPolytopes = -1 ; 00062 col_open( -1, "", 1, &numPolytopes ) ; 00063 iCollideStarted = true ; 00064 } 00065 */ 00066 } 00067 00068 00069 CD_Icollide::~CD_Icollide() 00070 { 00071 //## begin CD_Icollide::~CD_Icollide%.body preserve=yes 00072 //## end CD_Icollide::~CD_Icollide%.body 00073 } 00074 00075 00076 00077 //## Other Operations (implementation) 00078 CollisionDetectorBase* CD_Icollide::Clone () const 00079 { 00080 //## begin CD_Icollide::Clone%931798963.body preserve=yes 00081 CD_Icollide* newIC = new CD_Icollide( *this ) ; 00082 CD_InterfaceToCollisionQueries* CDitc = dynamic_cast< CD_Bool* >( newIC ) ; 00083 CollisionDetectorBase* returnMe = dynamic_cast< CollisionDetectorBase* >( CDitc ); 00084 return returnMe ; 00085 //## end CD_Icollide::Clone%931798963.body 00086 } 00087 00088 bool CD_Icollide::IsInterfering (const Configuration& config) 00089 { 00090 //## begin CD_Icollide::IsInterfering%931798966.body preserve=yes 00091 assert( false ) ; 00092 return false ; 00093 //## end CD_Icollide::IsInterfering%931798966.body 00094 } 00095 00096 // Additional Declarations 00097 //## begin CD_Icollide%37867A8A0224.declarations preserve=yes 00098 //## end CD_Icollide%37867A8A0224.declarations 00099 00100 //## begin module%37867A8A0224.epilog preserve=yes 00101 //## end module%37867A8A0224.epilog