Orxonox  0.0.5 Codename: Arcturus
Public Member Functions | Protected Member Functions | Private Attributes | List of all members
orxonox::DivisionController Class Reference

#include </home/jenkins/workspace/orxonox_doxygen_trunk/src/orxonox/controllers/DivisionController.h>

Inheritance diagram for orxonox::DivisionController:
orxonox::ActionpointController orxonox::FightingController orxonox::Tickable orxonox::FlyingController orxonox::OrxonoxInterface orxonox::CommonController orxonox::Configurable orxonox::Destroyable orxonox::Controller orxonox::Listable orxonox::BaseObject orxonox::Identifiable orxonox::OrxonoxClass orxonox::Configurable orxonox::Destroyable orxonox::Listable orxonox::Identifiable

Public Member Functions

 DivisionController (Context *context)
 
virtual ~DivisionController ()
 
virtual bool hasFollower () override
 
virtual bool hasWingman () override
 
virtual bool setFollower (ActionpointController *newFollower) override
 
virtual bool setWingman (ActionpointController *newWingman) override
 
virtual void stayNearProtect () override
 
- Public Member Functions inherited from orxonox::ActionpointController
 ActionpointController (Context *context)
 
virtual ~ActionpointController ()
 
void addActionpoint (WorldEntity *actionpoint)
 XML method, example XML usage: More...
 
virtual Action getAction ()
 
virtual std::string getActionName ()
 
WorldEntitygetActionpoint (unsigned int index) const
 
bool getDefaultFightAll ()
 
bool getDefaultPatrol ()
 
void setAction (Action action)
 
void setAction (Action action, ControllableEntity *target)
 
void setAction (Action action, const Vector3 &target)
 
void setAction (Action action, const Vector3 &target, const Quaternion &orient)
 
void setDefaultFightAll (bool value)
 
void setDefaultPatrol (bool value)
 
virtual void takeActionpoints (const std::vector< Point > &vector, const std::vector< Point > &loop, bool b)
 
virtual void tick (float dt) override
 tick is called every tick by Game (?). More...
 
virtual void XMLPort (Element &xmlelement, XMLPort::Mode mode) override
 XML loading and saving. More...
 
- Public Member Functions inherited from orxonox::FightingController
 FightingController (Context *context)
 
virtual ~FightingController ()
 
bool canFire ()
 
ControllableEntitygetTarget () const
 
bool hasTarget () const
 
bool isLookingAtTarget (float angle) const
 
virtual void maneuver ()
 
float squaredDistanceToTarget () const
 
- Public Member Functions inherited from orxonox::FlyingController
 FlyingController (Context *context)
 
virtual ~FlyingController ()
 
FormationMode getFormationMode () const
 
std::string getFormationModeXML () const
 
int getSpread () const
 
void setFormationMode (FormationMode val)
 
void setFormationModeXML (const std::string &val)
 
void setSpread (int spread)
 
- Public Member Functions inherited from orxonox::CommonController
 CommonController (Context *context)
 
virtual ~CommonController ()
 
- Public Member Functions inherited from orxonox::Controller
 Controller (Context *context)
 
virtual ~Controller ()
 
virtual void changedControllableEntity ()
 
ControllableEntitygetControllableEntity () const
 
bool getGodMode ()
 
PlayerInfogetPlayer () const
 
int getTeam () const
 
virtual void hit (Pawn *originator, btManifoldPoint &contactpoint, float damage)
 
void setControllableEntity (ControllableEntity *entity)
 
void setGodMode (bool mode)
 
void setPlayer (PlayerInfo *player)
 
void setTeam (int team)
 
- Public Member Functions inherited from orxonox::BaseObject
 BaseObject (Context *context)
 Constructor: Registers the object in the BaseObject-list. More...
 
virtual ~BaseObject ()
 Destructor. More...
 
void addEventListener (BaseObject *listener)
 Adds an object which listens to the events of this object. More...
 
void addEventSource (BaseObject *source, const std::string &state)
 Adds a new event source for a specific state. More...
 
void addTemplate (const std::string &name)
 Adds a Template to the object. More...
 
void addTemplate (Template *temp)
 Adds a Template to the object. More...
 
virtual void changedActivity ()
 This function gets called if the activity of the object changes. More...
 
virtual void changedMainStateName ()
 This function gets called if the main state name of the object changes. More...
 
virtual void changedName ()
 This function gets called if the name of the object changes. More...
 
virtual void changedVisibility ()
 This function gets called if the visibility of the object changes. More...
 
void fireEvent (const std::string &name="")
 Fires an event (without a state). More...
 
void fireEvent (bool activate, const std::string &name="")
 Fires an event which activates or deactivates a state. More...
 
void fireEvent (bool activate, BaseObject *originator, const std::string &name="")
 Fires an event which activates or deactivates a state with agiven originator (the object which triggered the event). More...
 
void fireEvent (Event &event)
 Fires an event, using the Event struct. More...
 
BaseObjectgetCreator () const
 
BaseObjectgetEventListener (unsigned int index) const
 Returns an event listener with a given index. More...
 
BaseObjectgetEventSource (unsigned int index, const std::string &state) const
 Returns an eventsource with a given index. More...
 
const XMLFilegetFile () const
 Returns a pointer to the XMLFile that loaded this object. More...
 
const std::string & getFilename () const
 Returns the levelfile that loaded this object. More...
 
GametypegetGametype () const
 
LevelgetLevel () const
 
const std::string & getLoaderIndentation () const
 Returns the indentation of the debug output in the Loader. More...
 
const std::string & getMainStateName () const
 Returns the name of the main state. More...
 
const std::string & getName () const
 Returns the name of the object. More...
 
NamespacegetNamespace () const
 
const std::string & getOldName () const
 Returns the old name of the object. More...
 
ScenegetScene () const
 
virtual uint32_t getSceneID () const
 
const std::set< Template * > & getTemplates () const
 Returns the set of all aplied templates. More...
 
const mboolisActive () const
 Returns the state of the objects activity. More...
 
bool isInitialized () const
 Returns if the object was initialized (passed the object registration). More...
 
const mboolisVisible () const
 Returns the state of the objects visibility. More...
 
virtual void processEvent (Event &event)
 Processing an event by calling the right main state. More...
 
void removeEventSource (BaseObject *source)
 Removes an eventsource (but doesn't unregister itself at the source). More...
 
void setActive (bool bActive)
 Sets the state of the objects activity. More...
 
void setCreator (BaseObject *creator)
 
void setFile (const XMLFile *file)
 Sets a pointer to the xml file that loaded this object. More...
 
void setGametype (const StrongOrWeakPtr< Gametype > &gametype)
 
void setLevel (const StrongOrWeakPtr< Level > &level)
 
void setLoaderIndentation (const std::string &indentation)
 Sets the indentation of the debug output in the Loader. More...
 
void setMainState (bool state)
 Sets the main state of the object to a given boolean value. More...
 
void setMainStateName (const std::string &name)
 Sets the name of the main state (used for event reactions). More...
 
void setName (const std::string &name)
 Sets the name of the object. More...
 
void setNamespace (const StrongOrWeakPtr< Namespace > &ns)
 
void setScene (const StrongOrWeakPtr< Scene > &scene, uint32_t sceneID)
 
void setVisible (bool bVisible)
 Sets the state of the objects visibility. More...
 
virtual void XMLEventPort (Element &xmlelement, XMLPort::Mode mode)
 Defines the possible event states of this object and parses eventsources from an XML file. More...
 
- Public Member Functions inherited from orxonox::OrxonoxClass
 OrxonoxClass ()
 
OrxonoxClassoperator= (const OrxonoxClass &)=default
 
- Public Member Functions inherited from orxonox::Configurable
 Configurable ()
 
void setConfigValues ()
 Function to collect the SetConfigValue-macro calls. More...
 
- Public Member Functions inherited from orxonox::Listable
 Listable ()
 Constructor: Allocates space in the element list. More...
 
 Listable (Context *context)
 Constructor: Allocates space in the element list and assigns the context. More...
 
virtual ~Listable ()
 Destructor: Removes the object from the object-lists. More...
 
ContextgetContext () const
 
void setContext (Context *context)
 Changes the context. More...
 
void unregisterObject ()
 Removes this object from the object-lists. More...
 
- Public Member Functions inherited from orxonox::Identifiable
 Identifiable ()
 Constructor: Sets the default values. More...
 
virtual ~Identifiable ()
 
ORX_FORCEINLINE voidgetDerivedPointer (unsigned int classID)
 Returns a valid pointer of any derived type that is registered in the class hierarchy. More...
 
template<class T >
ORX_FORCEINLINE T * getDerivedPointer (unsigned int classID)
 Version of getDerivedPointer with template. More...
 
template<class T >
ORX_FORCEINLINE const T * getDerivedPointer (unsigned int classID) const
 Const version of getDerivedPointer with template. More...
 
IdentifiergetIdentifier () const
 Returns the Identifier of the object. More...
 
bool isA (const Identifier *identifier)
 Returns true if the object's class is of the given type or a derivative. More...
 
template<class B >
bool isA (const SubclassIdentifier< B > *identifier)
 Returns true if the object's class is of the given type or a derivative. More...
 
bool isA (const Identifiable *object)
 Returns true if the object's class is of the given type or a derivative. More...
 
bool isChildOf (const Identifier *identifier)
 Returns true if the object's class is a child of the given type. More...
 
template<class B >
bool isChildOf (const SubclassIdentifier< B > *identifier)
 Returns true if the object's class is a child of the given type. More...
 
bool isChildOf (const Identifiable *object)
 Returns true if the object's class is a child of the given type. More...
 
bool isDirectChildOf (const Identifier *identifier)
 Returns true if the object's class is a direct child of the given type. More...
 
template<class B >
bool isDirectChildOf (const SubclassIdentifier< B > *identifier)
 Returns true if the object's class is a direct child of the given type. More...
 
bool isDirectChildOf (const Identifiable *object)
 Returns true if the object's class is a direct child of the given type. More...
 
bool isDirectParentOf (const Identifier *identifier)
 Returns true if the object's class is a direct parent of the given type. More...
 
template<class B >
bool isDirectParentOf (const SubclassIdentifier< B > *identifier)
 Returns true if the object's class is a direct parent of the given type. More...
 
bool isDirectParentOf (const Identifiable *object)
 Returns true if the object's class is a direct child of the given type. More...
 
bool isExactlyA (const Identifier *identifier)
 Returns true if the object's class is exactly of the given type. More...
 
template<class B >
bool isExactlyA (const SubclassIdentifier< B > *identifier)
 Returns true if the object's class is exactly of the given type. More...
 
bool isExactlyA (const Identifiable *object)
 Returns true if the object's class is exactly of the given type. More...
 
bool isParentOf (const Identifier *identifier)
 Returns true if the object's class is a parent of the given type. More...
 
template<class B >
bool isParentOf (const SubclassIdentifier< B > *identifier)
 Returns true if the object's class is a parent of the given type. More...
 
bool isParentOf (const Identifiable *object)
 Returns true if the object's class is a parent of the given type. More...
 
- Public Member Functions inherited from orxonox::Destroyable
 Destroyable ()
 Constructor: Sets the default values. More...
 
virtual ~Destroyable ()
 Destructor: Notifies all DestructionListener (for example weak pointers) that this object is being deleted. More...
 
void destroy ()
 Deletes the object if no strong pointers point to this object. More...
 
void destroyLater ()
 Works like destroy() but doesn't destroy the object until the current tick has ended. More...
 
unsigned int getReferenceCount () const
 Returns the number of strong pointers that point to this object. More...
 
- Public Member Functions inherited from orxonox::OrxonoxInterface
 OrxonoxInterface ()
 

Protected Member Functions

virtual void action () override
 action() manages the state machine. More...
 
- Protected Member Functions inherited from orxonox::ActionpointController
PawnclosestTarget ()
 
void executeActionpoint ()
 Sets this->target_, this->targetPosition_, this->protect_ and this->action_ depending on the current actionpoint in the vector parsedActionpoints_ if not looping or loopActionpoints_ if looping. More...
 
void fillLoop ()
 
void fillLoopReversed ()
 
ControllableEntitygetProtect ()
 
void moveBackToTop ()
 
void nextActionpoint ()
 If this->bLoop_, move back action to top (back is the current one, top is the last), otherwise remove back actionpoint. More...
 
void setClosestTarget ()
 
void setProtect (ControllableEntity *protect)
 if action is protect, this follows protect_ and fights enemies that are close More...
 
void startAttackingEnemiesThatAreClose ()
 
- Protected Member Functions inherited from orxonox::FightingController
PawnclosestTarget () const
 
void dodge (const Vector3 &thisPosition, float diffLength, Vector3 &diffUnit)
 
void doFire ()
 
int getFiremode (const std::string &name)
 
void lookAtTarget (float dt)
 
void setClosestTarget ()
 
void setOrientationOfTarget (const Quaternion &orient)
 
void setPositionOfTarget (const Vector3 &target)
 
void setTarget (ControllableEntity *target)
 
void setupWeapons ()
 
void startLookingAtTarget ()
 
void stopLookingAtTarget ()
 
- Protected Member Functions inherited from orxonox::FlyingController
virtual void boostControl ()
 boost if you can More...
 
void copyOrientation (const Quaternion &orient, float dt)
 roll ship so that it has same roll as orient More...
 
void copyTargetOrientation (float dt)
 roll ship so that it has same roll as a preset targetOrientation_ More...
 
void keepFormation (const ControllableEntity *leaderEntity, Vector3 &targetRelativePosition)
 keep this ship in a formation with its division More...
 
void moveToPosition (const Vector3 &target, float dt)
 if distance to targetPosition is smaller than this->tolerance_, no moving should be made, otherwise find amount of yaw and pitch that have to be applied, so that ship looks at targetPosition, then ship is moved forward towards targetPosition. More...
 
void moveToTargetPosition (float dt)
 fly towards a preset targetPosition_ More...
 
void setTargetOrientation (const Quaternion &orient)
 set orientation to apply More...
 
void setTargetOrientation (ControllableEntity *target)
 set orientation to apply More...
 
void setTargetPosition (const Vector3 &target)
 set Vector to fly to More...
 
void stopMoving ()
 
- Protected Member Functions inherited from orxonox::BaseObject
void addEventState (const std::string &name, EventState *container)
 Adds a new event-state to the object. More...
 
EventStategetEventState (const std::string &name) const
 Returns the event-state with the given name. More...
 
- Protected Member Functions inherited from orxonox::Destroyable
virtual void preDestroy ()
 This virtual function is called if destroy() is called and no StrongPtr points to this object. More...
 
- Protected Member Functions inherited from orxonox::Tickable
 Tickable ()
 Constructor: Registers the object in the Tickable-list. More...
 

Private Attributes

Timer actionTimer_
 

Additional Inherited Members

- Static Public Member Functions inherited from orxonox::CommonController
static float distance (const ControllableEntity *entity1, const ControllableEntity *entity2)
 returns distance between two entities, if either is zero pointer, returns infinity More...
 
static std::string getName (const Pawn *entity)
 returns a name of a Pawn entity, if no name set, returns string representing address of the Pawn. More...
 
static bool isLooking (const ControllableEntity *entityThatLooks, const ControllableEntity *entityBeingLookedAt, float angle)
 returns true if entityThatLooks does look at entityBeingLookeAt with a tolerance of angle. More...
 
static float randomInRange (float a, float b)
 PRE: a < b. More...
 
static bool sameTeam (ControllableEntity *entity1, ControllableEntity *entity2, Gametype *gt)
 bad function from FormationController that returns true if both entities have same team More...
 
- Static Public Member Functions inherited from orxonox::BaseObject
static void loadAllEventStates (Element &xmlelement, XMLPort::Mode mode, BaseObject *object, Identifier *identifier)
 Manually loads all event states, even if the class doesn't officially support them. More...
 
- Public Attributes inherited from orxonox::FightingController
bool bKeepFormation_
 
bool bShooting_
 
- Public Attributes inherited from orxonox::FlyingController
bool bCopyOrientation_
 
- Static Public Attributes inherited from orxonox::FlyingController
static const float ROTATEFACTOR = 0.6f/0.02f
 
static const float SPEED = 0.9f/0.02f
 
- Static Public Attributes inherited from orxonox::CommonController
static const float HARDCODED_PROJECTILE_SPEED = 750
 
- Protected Attributes inherited from orxonox::ActionpointController
Action action_
 
std::vector< WeakPtr< WorldEntity > > actionpoints_
 
bool bDefaultFightAll_
 
bool bDefaultPatrol_
 
bool bEndLoop_
 
bool bInLoop_
 
bool bLoop_
 
bool bPatrolling_
 
bool bTakenOver_
 
std::vector< PointloopActionpoints_
 
WeakPtr< ActionpointControllermyDivisionLeader_
 
WeakPtr< ActionpointControllermyFollower_
 
WeakPtr< ActionpointControllermyWingman_
 
std::vector< PointparsedActionpoints_
 
WeakPtr< ControllableEntityprotect_
 
std::string protectName_
 
float squaredaccuracy_
 
std::string targetName_
 
unsigned int ticks_
 
- Protected Attributes inherited from orxonox::FightingController
int attackRange_
 
bool bDodge_
 
bool bFiredRocket_
 
bool bHasOrientationOfTarget_
 
bool bHasPositionOfTarget_
 
bool bLookAtTarget_
 
bool bSetupWorked
 
bool bStartedDodging_
 
float deltaHp
 
Quaternion orientationOfTarget_
 
Vector3 positionOfTarget_
 
float previousHp
 
int rocketsLeft_
 
WeakPtr< ControllableEntitytarget_
 
int timeout_
 
std::map< std::string, int > weaponModes_
 
- Protected Attributes inherited from orxonox::FlyingController
bool bHasTargetOrientation_
 
bool bHasTargetPosition_
 
FormationMode formationMode_
 
float rotationProgress_
 
int spread_
 
Quaternion targetOrientation_
 
Vector3 targetPosition_
 
int tolerance_
 
- Protected Attributes inherited from orxonox::Controller
ControllableEntitycontrollableEntity_
 
PlayerInfoplayer_
 
int team_
 
- Protected Attributes inherited from orxonox::BaseObject
mbool bActive_
 True = the object is active. More...
 
mbool bVisible_
 True = the object is visible. More...
 
FunctorPtr mainStateFunctor_
 
std::string mainStateName_
 
std::string name_
 The name of the object. More...
 
std::set< std::string > networkTemplateNames_
 
std::string oldName_
 The old name of the object. More...
 

Detailed Description

Note
ActionpointController will not work, if there is no MasterController in the level! All the demos are in a file called AITest.oxw. In the menu look for New AI Testing Level.

Constructor & Destructor Documentation

orxonox::DivisionController::DivisionController ( Context context)
orxonox::DivisionController::~DivisionController ( )
virtual

Member Function Documentation

void orxonox::DivisionController::action ( )
overrideprotectedvirtual

action() manages the state machine.

Reimplemented from orxonox::ActionpointController.

bool orxonox::DivisionController::hasFollower ( )
overridevirtual

Reimplemented from orxonox::ActionpointController.

bool orxonox::DivisionController::hasWingman ( )
overridevirtual

Reimplemented from orxonox::ActionpointController.

bool orxonox::DivisionController::setFollower ( ActionpointController newFollower)
overridevirtual

Reimplemented from orxonox::ActionpointController.

bool orxonox::DivisionController::setWingman ( ActionpointController newWingman)
overridevirtual

Reimplemented from orxonox::ActionpointController.

void orxonox::DivisionController::stayNearProtect ( )
overridevirtual

Reimplemented from orxonox::ActionpointController.

Member Data Documentation

Timer orxonox::DivisionController::actionTimer_
private

The documentation for this class was generated from the following files: