Planet
navi homePPSaboutscreenshotsdownloaddevelopmentforum

Ignore:
Timestamp:
Oct 20, 2006, 1:21:09 PM (18 years ago)
Author:
patrick
Message:

more interface and more structure

File:
1 edited

Legend:

Unmodified
Added
Removed
  • branches/coll_rect/src/lib/collision_reaction/collision_tube.h

    r9896 r9898  
    4848    ObjectListDeclaration(CollisionTube);
    4949
     50
     51    /* Constructor/Deconstructor/Singleton Interface */
    5052  public:
     53    inline static CollisionTube* getInstance() { if( CollisionTube::instance != NULL) CollisionTube::instance = new CollisionTube(); return CollisionTube::instance; }
    5154    virtual ~CollisionTube();
    5255
    53     inline static CollisionTube* getInstance() { if( CollisionTube::instance != NULL) CollisionTube::instance = new CollisionTube(); return CollisionTube::instance; }
     56  private:
     57    CollisionTube();
     58    CollisionTube(const CollisionTube& tube) {}
    5459
    55     /** @returns true if at least one of both WorldEntities are subscribed for a collision check */
    56     inline bool isReactive(const WorldEntity& entityA, const WorldEntity& entityB) const
    57     { return (entityA.isReactive() && entityB.isReactive()); }
    58     bool needCollisionChecking(const WorldEntity& entityA, const WorldEntity& entityB);
     60    static CollisionTube*          instance;            //!< the singleton instance
    5961
     62
     63    /* Collision Handling */
     64  public:
    6065    void registerCollisionEvent(WorldEntity* entityA, WorldEntity* entityB, BoundingVolume* bvA, BoundingVolume* bvB);
    6166    void registerCollisionEvent(CREngine::CollisionType type, WorldEntity* entity, WorldEntity* groundEntity,
     
    6469    void handleCollisions();
    6570
    66 
    67   private:
    68     /* private std constructor since this is a singleton class */
    69     CollisionTube();
    70     /* private copy constructor so this object can't be passed as a */
    71     CollisionTube(const CollisionTube& tube) {}
    72 
    73 
    7471  private:
    7572    std::vector<Collision*>        _collisionList;      //!< the list of collisions since the last processing
    7673
    77     static CollisionTube*          instance;            //!< the singleton instance
     74
     75    /* Misc State Informations */
     76  public:
     77    /** @returns true if at least one of both WorldEntities are subscribed for a collision check */
     78    inline bool isReactive(const WorldEntity& entityA, const WorldEntity& entityB) const
     79      { return (entityA.isReactive() && entityB.isReactive()); }
     80    bool needCollisionChecking(const WorldEntity& entityA, const WorldEntity& entityB);
     81
    7882  };
    7983
Note: See TracChangeset for help on using the changeset viewer.