VR-Forces 4.2 Class Documentation
vrfObjParams.h
Go to the documentation of this file.
1 /*******************************************************************************
2 ** Copyright (c) 2013 MAK Technologies, Inc.
3 ** All rights reserved.
4 *******************************************************************************/
5 
8 
11 
12 #pragma once
13 
14 #include "vrfutil/rdrWritr.h"
15 #include "vrfutil/rwObjType.h"
16 #include "vrfutil/rwBndingVol.h"
17 #include "vrfobjparam/paramFact.h"
18 #include "vrfutil/rwFormType.h"
19 #include "vrfutil/rwBndGeomType.h"
20 #include "vrfutil/rwForce.h"
21 #include "vrfutil/rwReal.h"
22 #include "vrfutil/rwBoolean.h"
23 #include "vrfutil/rwString.h"
24 #include "vrfutil/vlClock.h"
25 #include "vrfutil/rwDRTypes.h"
28 #include "vrfutil/subObjList.h"
30 #include "vrfutil/rsrcMgr.h"
32 #include "vrfobjparam/simSector.h"
35 #include <list>
36 #include "vrfutil/rwFile.h"
39 
40 class DtSimResource;
42 class DtFilename;
46 
53 {
54 
55 public:
57 
59  DtVrfObjectParameters(const DtString& name = DtString::nullString(),
60  DtReaderWriterRegistry* parentRegistry = NULL, DtEnvironmentSP env = DtEnvironmentSP(), DtEnvValueSP* objectNode = NULL);
61  DtVrfObjectParameters(const DtSymbolString& name,
62  DtReaderWriterRegistry* parentRegistry = NULL, DtEnvironmentSP env = DtEnvironmentSP(), DtEnvValueSP* objectNode = NULL);
63 
65  virtual ~DtVrfObjectParameters();
66 
67 protected:
70  const DtString& name = DtString::nullString(),
71  DtReaderWriterRegistry* parentRegistry = NULL);
72 
74  const DtSymbolString& name,
75  DtReaderWriterRegistry* parentRegistry = NULL);
76 
77 public:
80 
81  virtual DtVrfObjectParameters* clone(
82  const DtString& name = DtString::nullString(),
83  DtReaderWriterRegistry* parentRegistry = NULL) const;
84 
85  virtual DtVrfObjectParameters* clone(
86  const DtSymbolString& name,
87  DtReaderWriterRegistry* parentRegistry = NULL) const;
88 
94  virtual bool init();
95 
101  virtual DtString type() const;
102 
114  virtual bool inheritValues(const DtVrfObjectParameters * benefactor);
115 
116  virtual void inheritValuesFromThisType(
117  const DtVrfObjectParameters * benefactor);
118 
120  virtual bool createLocalSubComponentTypes();
121 
123  virtual bool createRemoteSubComponentTypes();
124 
129  virtual DtVrfObjectSubComponentTypes * localVrfSubComponentTypes() const;
130 
135  virtual DtVrfObjectSubComponentTypes * remoteVrfSubComponentTypes() const;
136 
139  virtual void setMinTickPeriod(DtReal minTickPeriod);
140 
143  virtual DtReal minTickPeriod() const;
144 
147  virtual void setMinTickPeriodVariance(DtReal minTickPeriodVariance);
148 
151  virtual DtReal minTickPeriodVariance() const;
152 
156  virtual DtForceType forceType() const;
157  virtual void setForceType(const DtForceType force);
158 
160  virtual const DtString& category() const;
161 
162  virtual void setCategory(const DtString& category);
163 
165  virtual bool categorySpecified() const;
166 
168  virtual const DtString& echelonLevel() const;
169 
170  virtual void setEchelonLevel(const DtString& echelonLevel);
171 
173  virtual bool echelonLevelSpecified() const;
174 
176  virtual bool organized() const;
177 
178  virtual void setOrganized(bool organized);
179 
181 
182  virtual const DtComponentSystemDescriptorList& systemDescriptorList() const;
183  virtual DtComponentSystemDescriptorList& systemDescriptorList();
184  virtual void setSystemDescriptorList(const DtComponentSystemDescriptorList& list);
186 
188  virtual const DtComponentDescriptorList& sensorDescriptorList() const;
189  virtual DtComponentDescriptorList& sensorDescriptorList();
190  virtual void setSensorDescriptorList(const DtComponentDescriptorList& list);
191 
193  virtual const DtComponentDescriptorList& controllerDescriptorList() const;
194  virtual DtComponentDescriptorList& controllerDescriptorList();
195  virtual void setControllerDescriptorList(const DtComponentDescriptorList&
196  list);
197 
199  virtual const DtComponentDescriptorList& actuatorDescriptorList() const;
200  virtual DtComponentDescriptorList& actuatorDescriptorList();
201  virtual void setActuatorDescriptorList(const DtComponentDescriptorList&
202  list);
203 
205  virtual const DtConnectionDescriptorList& connectionDescriptorList() const;
206  virtual DtConnectionDescriptorList& connectionDescriptorList();
207  virtual void setConnectionDescriptorList(const DtConnectionDescriptorList&
208  list);
209 
211  virtual DtDeadReckonTypes deadReckoningAlgorithm() const;
212  virtual void setDeadReckoningAlgorithm(DtDeadReckonTypes
213  deadReckoningAlgorithm);
214 
216 
217  virtual const DtRwBoolean deadReckoningAllowGuiOverrides() const;
218  virtual void setDeadReckoningAllowGuiOverrides(bool allow);
220 
222  virtual const DtRwDeadReckonThresholds& deadReckoningThresholds() const;
223  virtual void setDeadReckoningThresholds(const DtRwDeadReckonThresholds&
224  deadReckoningThresholds);
225 
227  virtual DtReal mass() const;
228  virtual void setMass(const DtReal mass);
229 
231 
232  virtual const DtRadioDescriptorList& radioDescriptorList() const;
233  virtual DtRadioDescriptorList& radioDescriptorList();
235 
237  virtual const DtRwSensorSignatureList& sensorSignatureList() const;
238  virtual DtRwSensorSignatureList& sensorSignatureList();
239 
243  virtual const DtVrfSubObjectParameterList& subordinateObjects() const;
244  virtual void setSubordinateObjects(
245  const DtVrfSubObjectParameterList& subordinateObjects);
246 
251  virtual const DtVrfSubObjectParameterList& attachedObjects() const;
252  virtual void setAttachedObjects(
253  const DtVrfSubObjectParameterList& attachedObjects);
254 
259  virtual DtVrfObjectSubComponentTypes * localSubComponentTypes() const;
260 
265  virtual DtVrfObjectSubComponentTypes * remoteSubComponentTypes() const;
266 
269  virtual void putData(FILE *fp, int indentLevel = 0);
270 
273  virtual DtlObjPtr getData(DtlObjPtr args, const DtFilename& searchPath,
274  const DtVariableBindingsList& variableBindings);
275 
277  virtual const Dt3dBoundingVolume * boundingVolume() const;
278 
280  virtual void setBoundingVolume(const Dt3dBoundingVolume& newBoundingVolume);
281 
287  virtual void setBoundingVolume(const DtVector& localBvolDiagonal,
288  const DtVector& offset = DtVector::zero());
289 
292  boundingGeometryType() const;
293  virtual void setBoundingGeometryType(
295 
298  virtual double draft() const;
299 
301  virtual DtAggregateFormation formation() const;
302  virtual void setFormation(DtAggregateFormation formation);
303 
305  virtual const DtString& engagementRules() const;
306  virtual void setEngagementRules(const DtString& engagementRules);
307 
309  virtual const DtSimResourceManager& resourceManager() const;
310  virtual void setResourceManager(const DtSimResourceManager& resourceManager);
311 
313  virtual void setStateRepositoryUserExtensionType(const DtString& type);
314  virtual const DtString& stateRepositoryUserExtensionType() const;
315 
317  virtual DtObjectType objectType() const;
318  virtual void setObjectType(const DtObjectType& objectType);
319 
321  virtual DtObjectType matchType() const;
322  virtual void setMatchType(const DtObjectType& objectType);
323 
330  virtual bool taskedBySuperiorUponTaskComplete() const;
331  virtual void setTaskedBySuperiorUponTaskComplete(bool trueOrFalse);
332 
333  static DtVrfObjectParameters * createParameters(DtlObjPtr mtlStream,
334  const DtFilename& searchPath, const DtVariableBindingsList& variableBindings,
335  DtEnvironmentSP env = DtEnvironmentSP(), DtEnvValueSP* objectNode = NULL);
336  static DtVrfObjectParameters * createParameters(const char* name,
337  DtEnvironmentSP env = DtEnvironmentSP(), DtEnvValueSP* objectNode = NULL);
338 
340 
341  static void setFactory(DtVrfObjectParameterFactory * factory);
342 
343  static void addParameterCreatorFcn(const DtString & type,
345 
347  static DtVrfObjectParameters * creator(DtEnvironmentSP env, DtEnvValueSP* objectNode);
348 
350  void setParameterType(const DtString&);
351  const DtString& parameterType() const;
352 
355  virtual void setStateRepositoryUserExtension(
356  const DtVrfStateRepositoryUserExtension& userExtension);
357  virtual DtVrfStateRepositoryUserExtension* stateRepositoryUserExtension() const;
358 
362  virtual void getSelf(DtlObjPtr args, const DtFilename& searchPath =
363  DtFilename::nullFilename(),
364  const DtVariableBindingsList& variableBindings = nullVariableReference());
365 
369  virtual DtTime underFireTime() const;
370 
374  virtual void setUnderFireTime(DtTime time);
375 
379  virtual bool underFireTimeSpecified() const;
380 
384  virtual DtReal underFireDistance() const;
385 
389  virtual void setUnderFireDistance(DtReal underFireDistance);
390 
395  virtual bool underFireDistanceSpecified() const;
396 
398 
399  virtual const DtSimSector& initialSectorOfResponsibility() const;
400  virtual void setInitialSectorOfResponsibility(const DtSimSector& sor);
402 
404 
405  virtual DtTaskExecutionRules& taskExecutionRules();
406  virtual const DtTaskExecutionRules& taskExecutionRules() const;
408 
410 
411  virtual void setTaskExecutionRulesFilename(const DtFilename&);
412  virtual const DtReaderWriterFile& taskExecutionRulesFilename() const;
414 
416  virtual const DtAutoConnectionsListPtr& autoConnections() const;
417  virtual DtAutoConnectionsListPtr& autoConnections();
418 
423  virtual const std::list<DtSimArtPartDescriptor*>* completeArtPartList() const;
424 
426  virtual void connectSystems();
427 
429  bool operator==(const DtVrfObjectParameters&) const;
430  bool operator!=(const DtVrfObjectParameters&) const;
431 
432  virtual DtEnvironmentSP xmlEnvironment();
433 
434 protected:
435 
442  virtual DtVrfSubObjectParameterList* createSubordinateObjectsList(
443  const DtSymbolString& name, DtReaderWriterRegistry* parentRegistry) const;
444 
451  virtual DtVrfSubObjectParameterList* createAttachedObjectsList(
452  const DtSymbolString& name, DtReaderWriterRegistry* parentRegistry) const;
453 
456  virtual void rebuildArtPartList();
457 
461  virtual void addArtPartsFromSystem(DtComponentSystemDescriptor* systemDesc,
462  std::list<DtSimArtPartDescriptor*>& artPartList);
463 
464  virtual void createAutomaticConnections(DtRwAutoConnection* autoConnection);
465 
466 protected:
467 
482  DtObjectType myMatchType;
483  DtObjectType myObjectType;
484 
488 
501 
514 
520 
526 
538 
550 
558 
566 
573 
580 
588 
602 
612 
614 
618 
624 
628 
632 
636 
666 
672 
677 
708 
713 
723 
740 
748 
755 
763 
769 
775 
784 
793 
797 
801 
803 
808  std::list<DtSimArtPartDescriptor*> myCompleteArtPartList;
809 
810  DtEnvValueSP* myObjectNode;
812 
814 
815 };
816 
818 {
819  myParameterType = t;
820 }
821 
823 {
824  return myParameterType;
825 }

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)