//===========================================================================// // File: collorgn.hh // // Project: MUNGA Brick: Collision // // Contents: // //---------------------------------------------------------------------------// // Date Who Modification // // -------- --- ---------------------------------------------------------- // // 06/01/95 ECH Initial coding // //---------------------------------------------------------------------------// // Copyright (C) 1994, Virtual World Entertainment, Inc. // // All Rights reserved worldwide // // This unpublished sourcecode is PROPRIETARY and CONFIDENTIAL // //===========================================================================// #if !defined(COLLORGN_HPP) # define COLLORGN_HPP # if !defined(INTEREST_HPP) # include # endif //########################################################################## //###################### CollisionOrigin ############################# //########################################################################## class CollisionOrigin: public InterestOrigin { friend class CollisionOrigin__MovingEntityIterator; //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // Interest Manager support // public: typedef CollisionOrigin__MovingEntityIterator MovingEntityIterator; //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // Construction, Destruction, Testing // public: CollisionOrigin(InterestZoneID interest_zone_ID); ~CollisionOrigin(); Logical TestInstance() const; //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // Interest Manager support // protected: void AddInterestingEntity(Entity *interesting_entity); void RemoveUninterestingEntity(Entity *uninteresting_entity); void RemoveUninterestingEntities(); //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // Private data // private: SChainOf movingEntitySocket; }; //~~~~~~~~~~~~~~~~~~~~ CollisionOrigin__MovingEntityIterator ~~~~~~~~~~~~~~~ class CollisionOrigin__MovingEntityIterator: public SChainIteratorOf { public: CollisionOrigin__MovingEntityIterator( CollisionOrigin *collision_origin ); ~CollisionOrigin__MovingEntityIterator(); }; #endif