VR-Forces 4.3.1 Class Documentation
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
simCreationManager.h
Go to the documentation of this file.
1 /*******************************************************************************
2 ** Copyright (c) 2011 MAK Technologies, Inc.
3 ** All rights reserved.
4 *******************************************************************************/
5 
6 #pragma once
7 
11 
12 #include <geometry/extent.h>
13 #include <vector>
14 #include <list>
15 
16 #include <kyruntime.h>
17 
18 class DtCgf;
19 class DtSimMessage;
20 class DtObjectType;
21 class DtVrfObject;
22 
23 namespace BHAVE
24 {
25  class DtKynapseManager;
26 
31 {
32 public:
33 
34  DtSimCreationManager(DtCgf* cgf, DtKynapseManager* kynapseManager);
35  virtual ~DtSimCreationManager();
36 
37 private:
38 
42  DtSimCreationManager& operator=(const DtSimCreationManager& orig);
43 
44 public:
45 
47  virtual bool init();
48 
51  virtual bool initKynapseWorld();
52 
53 protected:
54 
56  static void createMultipleEntitiesCallback(DtSimMessage* msg, void* usr);
57 
61  virtual void processCreateMultipleEntities(DtSimMessage* msg);
62 
66  virtual std::string getDatabaseFromObjectType( DtObjectType &objType );
67 
69  virtual void createSelectionGroups(const DtString groupName, const std::vector<DtString>& entNames);
70 
73  virtual bool collisionWithOtherEntities(DtExtent& extent, const DtVector& pos, double radius);
74 
76  virtual DtVrfObject* createEntity(const Kaim::Vec3f& location, const DtBufferSerialize::DtGroupEntityInfo& entityInfo);
77  virtual DtVrfObject* createEntity(const DtVector& location, const DtBufferSerialize::DtGroupEntityInfo& entityInfo);
78 
81  virtual void processCreateMultipleEntitiesNoPathdata(const DtBufferSerialize::DtGroupEntityInfo& entityInfo,
82  DtVrfObject* areaObject, std::vector<DtString>& nameList);
83 
86  static void simTickCallback(void* arg);
87 
89  virtual void processSimTick();
90 
91 protected:
92 
95  std::list<DtVector> myTempObjects;
97  Kaim::World* myCurrentWorld;
98 
99  std::list<std::pair<DtVrfObject*, DtSetDataRequest*> > myQueuedSetMessages;
100  std::list<std::pair<DtVrfObject*, DtSimTask*> > myQueuedTaskMessages;
101 
104 
105 };
106 }

Document ID: Generated on Wed Jul 29 00:55:00 EDT 2015 from SVN revision 155257
Copyright © 2005-2015 VT MÄK. All Rights Reserved (www.mak.com)