VR-Forces 4.2 Class Documentation
vrfEntityBot.h
Go to the documentation of this file.
1 
2 /*******************************************************************************
3 ** Copyright (c) 2011 MAK Technologies, Inc.
4 ** All rights reserved.
5 *******************************************************************************/
6 
7 
8 #pragma once
9 
10 #pragma warning (disable : 4284)
11 
13 #include <vrfobjcore/vrfKinState.h>
14 #include <matrix/3dBoundingVolume.h>
15 
16 #include <bhaveSim/vrfTaskAgent.h>
19 
20 #include <kyruntime.h>
21 
22 class DtVrfObject;
23 class DtObjectType;
25 
26 namespace BHAVE
27 {
28 class DtKynapseController;
29 class DtVrfTaskAgent;
30 
32 class DT_DLL_bhaveSim DtVrfEntityBot : public Kaim::Bot
33 {
34 public:
35  KY_DECLARE_BOT( DtVrfEntityBot )
36 
37  DtVrfEntityBot( );
38  virtual ~DtVrfEntityBot();
39 
41  virtual KyResult OnInitialize();
42 
45  virtual void initializeModifiers(Kaim::Modifiers& mod);
46 
49  virtual void initializePathfinderOptions();
50 
52  virtual void setTaskAgent(DtVrfTaskAgent*);
53 
54  inline DtVrfTaskAgent* getTaskAgent() const { return myTaskAgent; }
55 
57  virtual void setMovementMode(const char *);
58  virtual const char * movementMode();
59 
61  virtual bool isExecutingTask();
62 
64  virtual bool usingRoadMovement();
65 
67  virtual void Think();
68 
70  virtual void OnClear();
71 
73  DtVrfObject* GetVrfObject() const { return static_cast<DtVrfObject*>(m_body.GetUserData());}
74 
76  virtual void updateFromVrf();
77 
78  //The following are helper classes which can be freely calculated by other functions.
79 
81  virtual bool objectIsHostile(DtVrfObject* otherObject);
82 
84  virtual void onTeleport();
85 
87  inline double orderedSpeed() const { return myOrderedSpeed; }
88 
90  virtual void setDistanceToTarget(double dd);
91  inline double distanceToTarget() const { return myDistanceToTarget; }
92 
94  Kaim::Database* pathdataDatabase() const { return myDb; }
95 
98  virtual double pathDataHeight() const {return 2.0;}
99 
100  virtual void setSoilTypeFactors(const DtPathSoilFactorList& soilFactors);
101 
102 public:
105  static KyBool embarkedEntityFiltering(Kaim::Body& thisEntity, Kaim::Body& targetEntity);
106  static KyBool embarkedEntityFiltering(Kaim::Bot& thisEntity, Kaim::Bot& targetEntity);
107 
108 protected:
109 
112  virtual void updateTorsoOrientation( DtVrfMovingObjectStateRepository* movingSR, Kaim::Body &body );
113  virtual void updateOrientation( DtVrfMovingObjectStateRepository* movingSR, Kaim::Body &body );
114  virtual void updatePosition( DtVrfMovingObjectStateRepository* movingSR, const Dt3dBoundingVolume &boundingVolume, Kaim::Body &body );
115 
116 protected:
117 
119  Kaim::BodyMaxSpeed * myMaxSpeedAttribute;
120  Kaim::BodyTorsoOrientation * myTorsoOrientationAttribute;
122 
124  double myOrderedSpeed;
125 
126 
127 
129 
131  Kaim::Database* myDb;
134 
137 
138  //Modifier for goal
140 };
141 
142 } //namespace BHAVE
143 

Document ID: Generated on Sun Nov 24 19:49:21 EST 2013 from SVN revision 133924
Copyright © 2005-2013 VT MÄK. All Rights Reserved (www.mak.com)