VR-Forces 4.3 Class Documentation
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
kynapseManager.h
Go to the documentation of this file.
1 /*******************************************************************************
2 ** Copyright (c) 2014 MAK Technologies, Inc.
3 ** All rights reserved.
4 *******************************************************************************/
5 
6 #pragma once
7 
9 
10 #include <map>
11 #include <list>
12 #include <vector>
13 #include <string>
14 
16 #include <vrfcore/simManager.h>
18 #include <vrfobjcore/vrfObject.h>
20 #include <geometry/point.h>
21 
26 
27 #include <kyruntime.h>
28 
29 class DtCgf;
30 class DtVrfObject;
31 class DtObjectType;
32 class DtString;
33 class DtFilename;
34 class PathDataMgr;
36 
37 namespace BHAVE
38 {
39  class DtKynapseManager;
40  class DtVrlLogBridge;
41  class DtDrawingViewerBridge;
42  class DtVrfCollisionBridge;
43 
44 
45 #define BHAVE_PARAMS_DIR "../data/parameters/BHAVE"
46 #define BHAVE_RUNTIME_CONFIG "bhave_conf.xml"
47 
52 {
53 
54 public:
58  static DtKynapseManager* instance();
59 
61  virtual ~DtKynapseManager();
62 
64  virtual bool init(DtCgf* cgf);
65 
68  virtual void closeKynapseWorld();
69 
71  DtBhavePluginOptions* pluginOptions();
72 
73  //Accessors
74  virtual Kaim::World* getKynapseWorld() {return myWorld;}
75  virtual DtCgf* getCgf() {return myCgf;}
77 
79  virtual bool dbHasPathdata(const std::string& dbName);
80 
82  virtual double getPathDataHeight(const DtString& pathDataName) const;
83 
84 protected:
86  virtual void registerKynapseActuators();
87 
89  virtual void registerKynapseControllers();
90 
92  static void preLoadTerrainCallback(const DtFilename& filename, void* usr);
94  virtual void processPreLoadTerrainCallback(const DtFilename& filename);
96  static void postLoadTerrainCallback(const DtFilename& filename, void* usr);
98  virtual void processPostLoadTerrainCallback(const DtFilename& filename);
99 
101  static void simTickCallback(void*);
102 
104  static void postTickCallback(void*);
105 
107  virtual void processSimTick(void*);
108 
110  virtual void processPostTick(void*);
111 
113  virtual void updateAllKynapsePositions();
114 
116  bool PrepareWorld();
117 
119  void disableBHAVETasks(DtVrfObject * vrfObject);
120 
122  Kaim::Bot* getKynBotByVrfObject(DtVrfObject * vrfObject);
123 
124 
125 private:
128 
131  bool BHAVELicenseCheck();
132 
133 protected:
134 
136  static Kaim::Engine* theKynapseEngine;
137 
140  Kaim::World * myWorld;
146 
147  std::list<Kaim::PathData*> myPathDataList;
148  std::set<Kaim::Database*> myPathDatabaseSet;
149 
150  DtFilename myTerrainFilename;
151 
154  std::map<DtString, double> myPathDataHeights;
155 
156 
158 };
159 
160 
161 } //namespace BHAVE

Document ID: Generated on Wed Mar 11 21:20:57 EDT 2015 from SVN revision 150940
Copyright © 2005-2014 VT MÄK. All Rights Reserved (www.mak.com)