Changeset 9893 in orxonox.OLD for branches/coll_rect/src/lib/collision_reaction/collision_tube.cc
- Timestamp:
- Oct 19, 2006, 3:37:40 PM (18 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
branches/coll_rect/src/lib/collision_reaction/collision_tube.cc
r9892 r9893 67 67 68 68 // check if there is already a collision defined between these objects 69 if( collision->match(*entityA, *entityB))69 if( !collision->match(*entityA, *entityB)) 70 70 { 71 CollisionEvent* collisionEvent = CREngine::getInstance()->popCollisionEventObject(); 72 collisionEvent->collide( CREngine::CR_COLLISION_TYPE_OBB, entityA, entityB, bvA, bvB); 73 collision->registerCollisionEvent( collisionEvent); 71 collision = CREngine::getInstance()->popCollisionObject(); 72 collision->collide( entityA, entityB); 74 73 } 74 75 // now register the new collision event 76 CollisionEvent* collisionEvent = CREngine::getInstance()->popCollisionEventObject(); 77 collisionEvent->collide( CREngine::CR_COLLISION_TYPE_OBB, entityA, entityB, bvA, bvB); 78 collision->registerCollisionEvent( collisionEvent); 75 79 } 76 80 … … 85 89 * @param bInWall true if the entity is in the ground material 86 90 */ 87 void CollisionTube::registerCollisionEvent( inttype, WorldEntity* entity, WorldEntity* groundEntity,91 void CollisionTube::registerCollisionEvent(CREngine::CollisionType type, WorldEntity* entity, WorldEntity* groundEntity, 88 92 const Vector& normal, const Vector& position, bool bInWall) 89 93 { 90 // 94 Collision* collision = this->_collisionList.back(); 95 96 // check if there is already a collision defined between these objects 97 if( !collision->match(*entity, *groundEntity)) 98 { 99 collision = CREngine::getInstance()->popCollisionObject(); 100 collision->collide( entity, groundEntity); 101 } 102 103 // now register the new collision event 104 CollisionEvent* collisionEvent = CREngine::getInstance()->popCollisionEventObject(); 105 collisionEvent->collide( type, entity, groundEntity, normal, position, bInWall); 106 collision->registerCollisionEvent( collisionEvent); 91 107 } 108 109 110 /** 111 * checks if two objects are 112 */ 113 bool CollisionTube::needCollisionChecking(const WorldEntity& entityA, const WorldEntity& entityB) 114 { 115 //if( !this->isReactive( entityA, entityB) ) 116 // return false; 117 118 //if( entityA->) 119 120 } 121 92 122 93 123 /**
Note: See TracChangeset
for help on using the changeset viewer.