VR-Forces 4.3.1 Class Documentation
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
vrfObjectParameters.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/readerWriter.h"
15 #include "vrfutil/rwObjectType.h"
20 #include "vrfutil/rwForceType.h"
21 #include "vrfutil/rwReal.h"
22 #include "vrfutil/rwBoolean.h"
23 #include "vrfutil/rwAppearance.h"
24 #include "vrfutil/rwString.h"
25 #include "vrfutil/simClock.h"
33 #include "vrfobjparam/simSector.h"
36 #include <list>
40 #include "vrfutil/rwProperties.h"
41 
42 class DtSimResource;
44 class DtFilename;
48 
55 {
56 
57 public:
59 
61  DtVrfObjectParameters(const DtString& name = DtString::nullString(),
62  DtReaderWriterRegistry* parentRegistry = NULL, DtEnvironmentSP env = DtEnvironmentSP(), DtEnvValueSP* objectNode = NULL);
63  DtVrfObjectParameters(const DtSymbolString& name,
64  DtReaderWriterRegistry* parentRegistry = NULL, DtEnvironmentSP env = DtEnvironmentSP(), DtEnvValueSP* objectNode = NULL);
65 
67  virtual ~DtVrfObjectParameters();
68 
69 protected:
72  const DtString& name = DtString::nullString(),
73  DtReaderWriterRegistry* parentRegistry = NULL);
74 
76  const DtSymbolString& name,
77  DtReaderWriterRegistry* parentRegistry = NULL);
78 
79 public:
82 
83  virtual DtVrfObjectParameters* clone(
84  const DtString& name = DtString::nullString(),
85  DtReaderWriterRegistry* parentRegistry = NULL) const;
86 
87  virtual DtVrfObjectParameters* clone(
88  const DtSymbolString& name,
89  DtReaderWriterRegistry* parentRegistry = NULL) const;
90 
96  virtual bool init();
97 
103  virtual DtString type() const;
104 
116  virtual bool inheritValues(const DtVrfObjectParameters * benefactor);
117 
118  virtual void inheritValuesFromThisType(
119  const DtVrfObjectParameters * benefactor);
120 
122  virtual bool createLocalSubComponentTypes();
123 
125  virtual bool createRemoteSubComponentTypes();
126 
131  virtual DtVrfObjectSubComponentTypes * localVrfSubComponentTypes() const;
132 
137  virtual DtVrfObjectSubComponentTypes * remoteVrfSubComponentTypes() const;
138 
141  virtual void setMinTickPeriod(DtReal minTickPeriod);
142 
145  virtual DtReal minTickPeriod() const;
146 
149  virtual void setMinTickPeriodVariance(DtReal minTickPeriodVariance);
150 
153  virtual DtReal minTickPeriodVariance() const;
154 
158  virtual DtForceType forceType() const;
159  virtual void setForceType(const DtForceType force);
160 
162  virtual const DtString& category() const;
163 
164  virtual void setCategory(const DtString& category);
165 
167  virtual bool categorySpecified() const;
168 
170  virtual const DtString& echelonLevel() const;
171 
172  virtual void setEchelonLevel(const DtString& echelonLevel);
173 
175  virtual bool echelonLevelSpecified() const;
176 
178  virtual bool organized() const;
179 
180  virtual void setOrganized(bool organized);
181 
183 
184  virtual const DtComponentSystemDescriptorList& systemDescriptorList() const;
185  virtual DtComponentSystemDescriptorList& systemDescriptorList();
186  virtual void setSystemDescriptorList(const DtComponentSystemDescriptorList& list);
188 
190  virtual const DtComponentDescriptorList& sensorDescriptorList() const;
191  virtual DtComponentDescriptorList& sensorDescriptorList();
192  virtual void setSensorDescriptorList(const DtComponentDescriptorList& list);
193 
195  virtual const DtComponentDescriptorList& controllerDescriptorList() const;
196  virtual DtComponentDescriptorList& controllerDescriptorList();
197  virtual void setControllerDescriptorList(const DtComponentDescriptorList&
198  list);
199 
201  virtual const DtComponentDescriptorList& actuatorDescriptorList() const;
202  virtual DtComponentDescriptorList& actuatorDescriptorList();
203  virtual void setActuatorDescriptorList(const DtComponentDescriptorList&
204  list);
205 
207  virtual const DtConnectionDescriptorList& connectionDescriptorList() const;
208  virtual DtConnectionDescriptorList& connectionDescriptorList();
209  virtual void setConnectionDescriptorList(const DtConnectionDescriptorList&
210  list);
211 
213  virtual DtDeadReckonTypes deadReckoningAlgorithm() const;
214  virtual void setDeadReckoningAlgorithm(DtDeadReckonTypes
215  deadReckoningAlgorithm);
216 
218 
219  virtual const DtRwBoolean deadReckoningAllowGuiOverrides() const;
220  virtual void setDeadReckoningAllowGuiOverrides(bool allow);
222 
224  virtual const DtRwDeadReckonThresholds& deadReckoningThresholds() const;
225  virtual void setDeadReckoningThresholds(const DtRwDeadReckonThresholds&
226  deadReckoningThresholds);
227 
229  virtual DtReal mass() const;
230  virtual void setMass(const DtReal mass);
231 
233 
234  virtual const DtRadioDescriptorList& radioDescriptorList() const;
235  virtual DtRadioDescriptorList& radioDescriptorList();
237 
239  virtual const DtRwSensorSignatureList& sensorSignatureList() const;
240  virtual DtRwSensorSignatureList& sensorSignatureList();
241 
245  virtual const DtVrfSubObjectParameterList& subordinateObjects() const;
246  virtual void setSubordinateObjects(
247  const DtVrfSubObjectParameterList& subordinateObjects);
248 
253  virtual const DtVrfSubObjectParameterList& attachedObjects() const;
254  virtual void setAttachedObjects(
255  const DtVrfSubObjectParameterList& attachedObjects);
256 
261  virtual DtVrfObjectSubComponentTypes * localSubComponentTypes() const;
262 
267  virtual DtVrfObjectSubComponentTypes * remoteSubComponentTypes() const;
268 
271  virtual void putData(FILE *fp, int indentLevel = 0);
272 
275  virtual DtlObjPtr getData(DtlObjPtr args,
276  const DtReaderWriter::SearchPaths& searchPaths,
277  const DtVariableBindingsList& variableBindings);
278 
280  virtual const Dt3dBoundingVolume * boundingVolume() const;
281 
283  virtual void setBoundingVolume(const Dt3dBoundingVolume& newBoundingVolume);
284 
290  virtual void setBoundingVolume(const DtVector& localBvolDiagonal,
291  const DtVector& offset = DtVector::zero());
292 
295  boundingGeometryType() const;
296  virtual void setBoundingGeometryType(
298 
301  virtual double draft() const;
302 
304  virtual DtAggregateFormation formation() const;
305  virtual void setFormation(DtAggregateFormation formation);
306 
308  virtual DtU32 appearance() const;
309  virtual void setAppearance(const DtU32 appearance);
310  virtual bool appearanceSpecified() const;
311 
313  virtual const DtString& displayName() const;
314  virtual void setDisplayName(const DtString& s);
315 
317  virtual const DtString& displayDescription() const;
318  virtual void setDisplayDescription(const DtString& s);
319 
321  virtual const DtString& engagementRules() const;
322  virtual void setEngagementRules(const DtString& engagementRules);
323 
325  virtual const DtSimResourceManager& resourceManager() const;
326  virtual void setResourceManager(const DtSimResourceManager& resourceManager);
327 
329  virtual void setStateRepositoryUserExtensionType(const DtString& type);
330  virtual const DtString& stateRepositoryUserExtensionType() const;
331 
333  virtual DtObjectType objectType() const;
334  virtual void setObjectType(const DtObjectType& objectType);
335 
337  virtual DtObjectType matchType() const;
338  virtual void setMatchType(const DtObjectType& objectType);
339 
346  virtual bool taskedBySuperiorUponTaskComplete() const;
347  virtual void setTaskedBySuperiorUponTaskComplete(bool trueOrFalse);
348 
350  virtual void setRangeRingPublisherTickTime(double);
351  virtual double rangeRingPublisherTickTime() const;
352 
353  static DtVrfObjectParameters * createParameters(DtlObjPtr mtlStream,
354  const DtReaderWriter::SearchPaths& searchPaths, const DtVariableBindingsList& variableBindings,
355  DtEnvironmentSP env = DtEnvironmentSP(), DtEnvValueSP* objectNode = NULL);
356  static DtVrfObjectParameters * createParameters(const char* name,
357  DtEnvironmentSP env = DtEnvironmentSP(), DtEnvValueSP* objectNode = NULL);
358 
360 
361  static void setFactory(DtVrfObjectParameterFactory * factory);
362 
363  static void addParameterCreatorFcn(const DtString & type,
365 
367  static DtVrfObjectParameters * creator(DtEnvironmentSP env, DtEnvValueSP* objectNode);
368 
370  void setParameterType(const DtString&);
371  const DtString& parameterType() const;
372 
375  virtual void setStateRepositoryUserExtension(
376  const DtVrfStateRepositoryUserExtension& userExtension);
377  virtual DtVrfStateRepositoryUserExtension* stateRepositoryUserExtension() const;
378 
382  virtual void getSelf(DtlObjPtr args,
384  const DtVariableBindingsList& variableBindings = nullVariableReference());
385 
389  virtual DtTime underFireTime() const;
390 
394  virtual void setUnderFireTime(DtTime time);
395 
399  virtual bool underFireTimeSpecified() const;
400 
404  virtual DtReal underFireDistance() const;
405 
409  virtual void setUnderFireDistance(DtReal underFireDistance);
410 
415  virtual bool underFireDistanceSpecified() const;
416 
418 
419  virtual const DtSimSector& initialSectorOfResponsibility() const;
420  virtual void setInitialSectorOfResponsibility(const DtSimSector& sor);
422 
424 
425  virtual DtTaskExecutionRules& taskExecutionRules();
426  virtual const DtTaskExecutionRules& taskExecutionRules() const;
428 
430 
431  virtual void setTaskExecutionRulesFilename(const DtFilename&);
432  virtual const DtReaderWriterFile& taskExecutionRulesFilename() const;
434 
436  virtual const DtAutoConnectionsListPtr& autoConnections() const;
437  virtual DtAutoConnectionsListPtr& autoConnections();
438 
443  virtual const std::list<DtSimArtPartDescriptor*>* completeArtPartList() const;
444 
446  virtual void connectSystems();
447 
449  bool operator==(const DtVrfObjectParameters&) const;
450  bool operator!=(const DtVrfObjectParameters&) const;
451 
452  virtual DtEnvironmentSP xmlEnvironment();
453 
456  virtual DtReaderWriterRegistryData* findProperty(const DtString& rwName) const;
457 
459  virtual const DtRwProperties& parameterData() const;
460  virtual DtRwProperties& parameterData();
461 
463  virtual const DtRwProperties& stateData() const;
464  virtual DtRwProperties& stateData();
465 
469  virtual void setPublishParameterData(bool);
470  virtual bool publishParameterData() const;
471 
472  virtual void setUiFilename(const DtString& uiFilename);
473  virtual DtString uiFilename() const;
474 
475 protected:
476 
483  virtual DtVrfSubObjectParameterList* createSubordinateObjectsList(
484  const DtSymbolString& name, DtReaderWriterRegistry* parentRegistry) const;
485 
492  virtual DtVrfSubObjectParameterList* createAttachedObjectsList(
493  const DtSymbolString& name, DtReaderWriterRegistry* parentRegistry) const;
494 
497  virtual void rebuildArtPartList();
498 
502  virtual void addArtPartsFromSystem(DtComponentSystemDescriptor* systemDesc,
503  std::list<DtSimArtPartDescriptor*>& artPartList);
504 
505  virtual void createAutomaticConnections(DtRwAutoConnection* autoConnection);
506 
507 protected:
508 
523  DtObjectType myMatchType;
524  DtObjectType myObjectType;
525 
529 
542 
555 
561 
567 
579 
583 
595 
603 
611 
618 
625 
633 
647 
657 
659 
663 
669 
673 
677 
681 
711 
717 
722 
753 
758 
768 
785 
793 
800 
808 
814 
820 
829 
838 
842 
846 
848 
853  std::list<DtSimArtPartDescriptor*> myCompleteArtPartList;
854 
855  DtEnvValueSP* myObjectNode;
857 
859 
863 
867 
871 
878 
885 
891 
897 
904 };
905 
907 {
908  myParameterType = t;
909 }
910 
912 {
913  return myParameterType;
914 }

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)