Changeset 8219 in orxonox.OLD for branches/bsp_model/src
- Timestamp:
- Jun 7, 2006, 10:15:00 PM (18 years ago)
- Location:
- branches/bsp_model/src
- Files:
-
- 6 edited
Legend:
- Unmodified
- Added
- Removed
-
branches/bsp_model/src/lib/collision_reaction/collision_event.h
r8216 r8219 25 25 { this->entityA = entityA; this->entityB = entityB; this->bvA = bvA; this->bvB = bvB; } 26 26 /** collides two WorldEntities @param entity world entity , @param ground ground plane, @param position position on the ground */ 27 inline void collide(WorldEntity* entity, Vector normal, Vector position)28 { this->entityA = entity; this-> groundNormal = normal; this->position = position; }27 inline void collide(WorldEntity* entity, WorldEntity* groundEntity, Vector normal, Vector position) 28 { this->entityA = entity; this->entityB = groundEntity, this->groundNormal = normal; this->position = position; } 29 29 30 30 -
branches/bsp_model/src/lib/graphics/importer/bsp_manager.cc
r8218 r8219 48 48 //CREATE_FACTORY( BspManager, CL_BSP_MODEL); 49 49 50 BspManager::BspManager() 51 { 50 BspManager::BspManager(WorldEntity* parent) 51 { 52 this->parent = parent; 52 53 /*// open a BSP file 53 54 this->bspFile = new BspFile(); … … 917 918 // Return the normal here: Normal's stored in this->collPlane; 918 919 if(collision) 919 worldEntity->registerCollision(worldEntity, Vector(this->collPlane->x, this->collPlane->y, this->collPlane->z), out);920 worldEntity->registerCollision(worldEntity, this->parent, Vector(this->collPlane->x, this->collPlane->y, this->collPlane->z), out); 920 921 } 921 922 -
branches/bsp_model/src/lib/graphics/importer/bsp_manager.h
r8218 r8219 51 51 public: 52 52 // Constructors 53 BspManager( );53 BspManager(WorldEntity* parent); 54 54 55 55 BspManager(const char* fileName, float scale = 0.4f); … … 99 99 For example, if traceMins was (-100,-3,-15) and traceMaxs was (55,22,7), traceExtents */ 100 100 101 WorldEntity* parent; //!< the parent entity of the bspManager: interface to this 101 102 102 103 bool * alreadyVisible; -
branches/bsp_model/src/world_entities/bsp_entity.cc
r8218 r8219 42 42 void BspEntity::setName(const std::string& name) 43 43 { 44 printf("+++++++++++ LOADING NAME %s\n", name.c_str());44 PRINTF(0)("+++++++++++ LOADING NAME %s\n", name.c_str()); 45 45 46 46 this->bspManager->load(name.c_str(), 0.1f); … … 55 55 void BspEntity::init() 56 56 { 57 this->bspManager = new BspManager( );57 this->bspManager = new BspManager(this); 58 58 this->setClassID(CL_BSP_ENTITY, "BspEntity"); 59 59 -
branches/bsp_model/src/world_entities/world_entity.cc
r8216 r8219 410 410 * @param position it collides on the plane 411 411 */ 412 bool WorldEntity::registerCollision(WorldEntity* entity, Vector normal, Vector position)412 bool WorldEntity::registerCollision(WorldEntity* entity, WorldEntity* groundEntity, Vector normal, Vector position) 413 413 { 414 414 // is there any handler listening? … … 419 419 CollisionEvent* c = CREngine::getInstance()->popCollisionEventObject(); 420 420 assert(c != NULL); // if this should fail: we got not enough precached CollisionEvents: alter value in cr_defs.h 421 c->collide(entity, normal, position);421 c->collide(entity, groundEntity, normal, position); 422 422 423 423 for( int i = 0; i < CREngine::CR_NUMBER; ++i) -
branches/bsp_model/src/world_entities/world_entity.h
r8216 r8219 85 85 86 86 bool registerCollision(WorldEntity* entityA, WorldEntity* entityB, BoundingVolume* bvA, BoundingVolume* bvB); 87 bool registerCollision(WorldEntity* entity, Vector normal, Vector position);87 bool registerCollision(WorldEntity* entity, WorldEntity* groundEntity, Vector normal, Vector position); 88 88 /** @return true if there is at least on collision reaction subscribed */ 89 89 inline bool isReactive() const { return this->bReactive; }
Note: See TracChangeset
for help on using the changeset viewer.