53 virtual const char*
type()
const;
62 static void fleeCallback(
DtSimMessage * msg,
void * usr);
76 virtual bool usingNavBot()
const;
83 static void navAreaChangedCallback(
void* usr);
84 virtual void processNavAreaChanged();
94 virtual bool atDestination();
97 virtual void doMoving();
100 virtual double findDesiredHeading();
104 virtual void stop(
bool success);
111 virtual DtVector findFleeToPoint(
double radius,
const std::list<DtVector>& localFrom);
115 virtual double fleePointMaxCost(
const std::list<DtVector>& fleeFromPtList,
const DtVector& fleeToPt,
116 double maxFleeDist,
bool collision);
120 virtual double fleePointCost(
const DtVector& fleeFromPt,
const DtVector& fleeToPt,
121 double maxFleeDist,
bool collision);
125 virtual bool pointsMoved(
const std::list<DtVector>& pts1,
const std::list<DtVector>& pts2,
double threshhold);
128 static void objectAboutToBeRemoved(
const DtVrfObject* msg,
void * usr);
129 virtual void processObjectAboutToBeRemoved(
const DtVrfObject* msg);
134 virtual void showFleePoint();
137 virtual bool createPSR();
143 static void navigationInterfaceChanged(
const DtVrfObject*,
void* usr);
144 virtual void processNavigationInterfaceChanged(
const DtVrfObject*);
146 virtual bool isRecentlyVisitedFleePoint(
const DtVector& localPoint);
#define DT_DLL_vrfmodel
This file is used to determine how to build.
Definition: vrfmodelDefines.h:24
std::vector< PointAndCost > myCandidateFleeToPoints
Definition: humanFleeController.h:162
DtVrfObject is used to represent any type of simulated object (entities, aggregate, control objects) in a VR-Forces application.
Definition: vrfObject.h:215
Description: This repository holds all information that is common to all the forms of humans within t...
Definition: humanStateRepository.h:32
bool myWasTasked
Definition: humanFleeController.h:194
This is the DtVrfObjectNavInterface subclass for objects which are actively querying the navigation s...
Definition: activeBotNavInterface.h:26
Instances of DtBooleanOutputPort are output ports through which data producers can send boolean data...
Definition: boolIOPort.h:45
bool myIgnoreNavData
Definition: humanFleeController.h:151
bool mySetupFromTaskWhenCan
Definition: humanFleeController.h:156
virtual void registerTaskMsgCallbacks()
virtual void preFirstTickInit()
This function can be overridden to initialize a component before it is ticked for the first time...
This class provides a base class for all controllers that are capable of executing a DtSimTask...
Definition: singleTaskControllerComponent.h:20
DtHumanMovementControlOutputPortGroup * myHumanMovementControlOutputPortGroup
Output Group Name: movement-control .
Definition: humanFleeController.h:169
std::list< DtVector > myCachedFleeFromPoints
Last calculated points that are being fled from.
Definition: humanFleeController.h:159
const DtHumanStateRepository * myHumanSR
Definition: humanFleeController.h:152
A readable, writable type whose name is the name of a component and that has a list of component name...
Definition: componentDescriptor.h:42
DtHumanFleeControllerDescriptor * myHumanFleeControllerDescriptor
Definition: humanFleeController.h:149
Definition: readerWriterRegistry.h:39
class DtHumanFleePSR:
Definition: humanFleePSR.h:21
virtual const char * type() const =0
Returns a string identifies the class type of component.
virtual bool init()
Calls setRadio()
DtActiveBotNavInterface * myNavInterface
Definition: humanFleeController.h:150
virtual void clearTask()
If component is currently tasked, calls clearPendingSubtasks(), sets the tasked flag to false...
virtual void updateTaskVisualizations()
Called to update task visualizations after every tick.
Definition: simComponent.h:485
DtBooleanOutputPort * myIsMovingPort
Output Port Name: is-moving Output Port Description: Indicates the entity is being actively moved by ...
Definition: humanFleeController.h:183
Specialized classes.
Definition: scriptedTaskTask.h:270
Instances of DtVectorOutputPort are output ports through which data producers can send a DtVector...
Definition: vectorIOPort.h:52
File: simMsg.h.
Definition: simMessage.h:35
virtual void tick()
This gives the thread of control to the component.
DtHumanFleeController is a controller that models fleeing from a particular group of entities...
Definition: humanFleeController.h:32
std::list< DtVector > myRecentlyVisitedFleePoints
These points are stored here instead of the PSR because they are really just a very recent history...
Definition: humanFleeController.h:199
DtVectorOutputPort * myDestinationOutputPort
Output Port Name: destination Output Port Description: Specifies the current destination of the entit...
Definition: humanFleeController.h:176
virtual bool createPorts()
Called by init.
DtHumanFleeControllerDescriptor; descriptor for the DtHumanFleeController component.
Definition: humanFleeControllerDescriptor.h:20
virtual bool createPortGroups()
Called by init.
The DtSimComponent class is the base class for the entire simulation model component hierarchy...
Definition: simComponent.h:67
const DtTaskControllerComponent & operator=(const DtTaskControllerComponent &orig)
assignment operator
double myLastFleeCalcTime
Definition: humanFleeController.h:195
The simulation engine is controlled by a single,top-level class called the Simulation Manager...
Definition: simManager.h:102
An output port group that contains the ports necessary to control the movement of a human using the D...
Definition: humanMovementControlOutputPortGroup.h:22
std::pair< DtVector, double > PointAndCost
Definition: humanFleeController.h:161
DtHumanFleePSR * myProcessState
Definition: humanFleeController.h:154
DtBooleanOutputPort * myUseCollisionAvoidancePort
Output Port Name: use-collision-avoidance Output Port Description: Indicates whether or not this cont...
Definition: humanFleeController.h:190
char * dest
Definition: lz4.h:434