VR-Forces Development_Version Class Documentation
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
createEngineeringObjectController.h
Go to the documentation of this file.
1 /*******************************************************************************
2 ** Copyright (c) 2014 MAK Technologies, Inc.
3 ** All rights reserved.
4 *******************************************************************************/
5 
8 
9 #pragma once
10 
13 #include "vlutil/vlString.h"
15 #include "vrfutil/rwVectorList.h"
16 #include "features/featureSet.h"
17 
20 
23 {
24 public:
27  DtSimManager * simManager, DtComponentDescriptor* desc = NULL,
28  DtReaderWriterRegistry * parentRegistry = 0);
29 
32 
34  virtual bool init();
35 
36 private:
39 
42 
43 public:
44 
45  virtual const char* type() const;
46 
48  static DtSimComponent* creator(const DtString & name, DtVrfObject* owner,
49  DtSimManager * simManager, DtComponentDescriptor* desc,
50  DtReaderWriterRegistry * parentRegistry);
51 
60  static void createCallback(DtSimMessage* msg, void* usr);
61 
65  virtual void processCreateTask(DtSimMessage* msg);
66 
75  static void improveCallback(DtSimMessage* msg, void* usr);
76 
80  virtual void processImproveTask(DtSimMessage* msg);
81 
84  virtual void registerTaskMsgCallbacks();
85 
87  virtual void clearTask();
88 
89 protected:
90 
92  virtual void breakUpLargeObjects(const DtRwVectorList& orig,
93  const DtVrfObjectParameters* parameterEntry,
94  DtRwShapeObjectList& result);
95 
99  virtual void queryForOverlappingProhibitedTerrain(const DtLocalVertexList* objectVertices);
100 
102  virtual void processIdleState();
103 
106  virtual void processSettingUpState();
107 
110  virtual void processAffectingState();
111 
114  virtual void processAffectingPausedState();
115 
118  virtual void processMovingIntoRangeState();
119 
122  virtual const DtVrfObject* createArealObject(const DtObjectType& objectType,
123  const DtRwVectorList& vertices, DtForceType forceType);
124 
126  virtual const DtVrfObject* createLinearObject(const DtObjectType& objectType,
127  const DtRwVectorList& vertices, DtForceType forceType);
128 
130  virtual const DtVrfObject* createPointObject(const DtObjectType& objectType,
131  const DtRwVector& location, DtForceType forceType);
132 
141  virtual bool updateImprovementRate(const DtVrfObject* obj, bool stop, bool forceSend,
142  DtString* failureReason = 0);
143 
144 protected:
146 
148  std::map<DtString, DtRwAffectableEngineeringObject*> myEngInfoByTaskType;
149 
151  std::map<DtObjectType, DtRwAffectableEngineeringObject*> myEngInfoByObjType;
152 
155  std::auto_ptr<MAKVRinTerra::DtFeatureSet> myOverlappingProhibitedTerrain;
156 };
157 

Document ID: Generated on Mon Jul 4 01:00:18 EDT 2016 from SVN revision 166489
Copyright © 2005-2015 VT MÄK. All Rights Reserved (www.mak.com)