#ifndef ACTORSTAGE_H #define ACTORSTAGE_H #include #include #include class ActorStage : virtual public IActorStage { protected: ActorVector actors; typedef std::vector > WeakActorVector; WeakActorVector weak_actors; public: virtual void addActor(Ptr); virtual void removeActor(Ptr); virtual void addWeakActor(WeakPtr); virtual void queryActorsInSphere(ActorVector &, const Vector &, float); virtual void queryActorsInCylinder(ActorVector &, const Vector &, float); virtual void queryActorsInBox(ActorVector &, const Vector &, const Vector &); virtual void queryActorsInCapsule(ActorVector &, const Vector&, const Vector&, float radius); void cleanupActors(); void setupActors(); void drawActors(); void removeAllActors(); }; #endif