VR-Forces 4.7 Class Documentation
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
obstructionSensor.h
Go to the documentation of this file.
1 /*******************************************************************************
2 ** Copyright (c) 2012 MAK Technologies, Inc.
3 ** All rights reserved.
4 *******************************************************************************/
5 
8 
11 
12 #pragma once
13 
15 #include "vrfutil/simClock.h"
17 #include <vl/hostStructs.h>
18 #include <vl/objectIdHashlist.h>
20 #include "gdb/specification.h"
22 
23 #include <list>
24 
25 class DtString;
26 class DtSimManager;
27 class Dt3dBoundingVolume;
30 
37 {
38 
39 public:
40 
43  DtObstructionSensor(const DtString& name,
44  DtVrfObject* owner,
45  DtSimManager* simManager,
46  DtComponentDescriptor* desc = 0,
47  DtReaderWriterRegistry* parentRegistry = 0);
48 
50  virtual ~DtObstructionSensor();
51 
52 private:
55 
58 
59 
60 public:
66  virtual bool init();
67 
69  virtual void preFirstTickInit();
70 
79  virtual void tick();
80 
83  virtual const char* type() const;
84 
85 protected:
86 
92  virtual bool createPSR();
93 
95  virtual bool createCollisionDetector();
96 
102  virtual bool setObstructionIDsInCollisionDetector();
103 
107  virtual bool initializeCollisionBV();
108 
123  virtual bool calculateStoppingDistance(const DtObstructionSensorDescriptor& obstructionSensorDesc,
124  double& stoppingDistance);
125 
133  virtual bool calculateCollisionBV();
134 
136  virtual void registerMessageCallbacks();
137 
139  static void setCollisionAvoidTypesCallback(DtSimMessage* msg, void* usr);
140 
143  virtual void processCollisionAvoidTypes(DtSimMessage* msg);
144 
148  virtual bool addFeatureTypeToAvoid(DtRwString featureType);
149 
153  virtual bool removeFeatureTypeToAvoid(DtRwString featureType);
154 
159  virtual DtRwString buildingFeatureType() const;
160 
165  virtual DtRwString treeFeatureType() const;
166 
167  virtual double decelerationSoilFactor() const;
168 
169 public:
173  static DtSimComponent * creator(const DtString& name,
174  DtVrfObject* owner,
175  DtSimManager* simManager,
176  DtComponentDescriptor* desc = 0,
177  DtReaderWriterRegistry* parentRegistry = 0);
178 
179 protected:
180 
185  virtual bool createPorts();
186 
190  virtual bool createPortGroups();
191 
192 protected:
193 
196 
204 
208 
210 
211  Dt3dBoundingVolume* myCollisionBV;
216 
220 
221 protected:
223 };

Document ID: Generated on Fri Apr 26 21:53:14 EDT 2019 from SVN revision 197883
Copyright © 2005-2019 VT MAK. All Rights Reserved (www.mak.com)