VR-Forces 4.3 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/rwString.h"
24 #include "vrfutil/simClock.h"
32 #include "vrfobjparam/simSector.h"
35 #include <list>
39 #include "vrfutil/rwProperties.h"
40 
41 class DtSimResource;
43 class DtFilename;
47 
54 {
55 
56 public:
58 
60  DtVrfObjectParameters(const DtString& name = DtString::nullString(),
61  DtReaderWriterRegistry* parentRegistry = NULL, DtEnvironmentSP env = DtEnvironmentSP(), DtEnvValueSP* objectNode = NULL);
62  DtVrfObjectParameters(const DtSymbolString& name,
63  DtReaderWriterRegistry* parentRegistry = NULL, DtEnvironmentSP env = DtEnvironmentSP(), DtEnvValueSP* objectNode = NULL);
64 
66  virtual ~DtVrfObjectParameters();
67 
68 protected:
71  const DtString& name = DtString::nullString(),
72  DtReaderWriterRegistry* parentRegistry = NULL);
73 
75  const DtSymbolString& name,
76  DtReaderWriterRegistry* parentRegistry = NULL);
77 
78 public:
81 
82  virtual DtVrfObjectParameters* clone(
83  const DtString& name = DtString::nullString(),
84  DtReaderWriterRegistry* parentRegistry = NULL) const;
85 
86  virtual DtVrfObjectParameters* clone(
87  const DtSymbolString& name,
88  DtReaderWriterRegistry* parentRegistry = NULL) const;
89 
95  virtual bool init();
96 
102  virtual DtString type() const;
103 
115  virtual bool inheritValues(const DtVrfObjectParameters * benefactor);
116 
117  virtual void inheritValuesFromThisType(
118  const DtVrfObjectParameters * benefactor);
119 
121  virtual bool createLocalSubComponentTypes();
122 
124  virtual bool createRemoteSubComponentTypes();
125 
130  virtual DtVrfObjectSubComponentTypes * localVrfSubComponentTypes() const;
131 
136  virtual DtVrfObjectSubComponentTypes * remoteVrfSubComponentTypes() const;
137 
140  virtual void setMinTickPeriod(DtReal minTickPeriod);
141 
144  virtual DtReal minTickPeriod() const;
145 
148  virtual void setMinTickPeriodVariance(DtReal minTickPeriodVariance);
149 
152  virtual DtReal minTickPeriodVariance() const;
153 
157  virtual DtForceType forceType() const;
158  virtual void setForceType(const DtForceType force);
159 
161  virtual const DtString& category() const;
162 
163  virtual void setCategory(const DtString& category);
164 
166  virtual bool categorySpecified() const;
167 
169  virtual const DtString& echelonLevel() const;
170 
171  virtual void setEchelonLevel(const DtString& echelonLevel);
172 
174  virtual bool echelonLevelSpecified() const;
175 
177  virtual bool organized() const;
178 
179  virtual void setOrganized(bool organized);
180 
182 
183  virtual const DtComponentSystemDescriptorList& systemDescriptorList() const;
184  virtual DtComponentSystemDescriptorList& systemDescriptorList();
185  virtual void setSystemDescriptorList(const DtComponentSystemDescriptorList& list);
187 
189  virtual const DtComponentDescriptorList& sensorDescriptorList() const;
190  virtual DtComponentDescriptorList& sensorDescriptorList();
191  virtual void setSensorDescriptorList(const DtComponentDescriptorList& list);
192 
194  virtual const DtComponentDescriptorList& controllerDescriptorList() const;
195  virtual DtComponentDescriptorList& controllerDescriptorList();
196  virtual void setControllerDescriptorList(const DtComponentDescriptorList&
197  list);
198 
200  virtual const DtComponentDescriptorList& actuatorDescriptorList() const;
201  virtual DtComponentDescriptorList& actuatorDescriptorList();
202  virtual void setActuatorDescriptorList(const DtComponentDescriptorList&
203  list);
204 
206  virtual const DtConnectionDescriptorList& connectionDescriptorList() const;
207  virtual DtConnectionDescriptorList& connectionDescriptorList();
208  virtual void setConnectionDescriptorList(const DtConnectionDescriptorList&
209  list);
210 
212  virtual DtDeadReckonTypes deadReckoningAlgorithm() const;
213  virtual void setDeadReckoningAlgorithm(DtDeadReckonTypes
214  deadReckoningAlgorithm);
215 
217 
218  virtual const DtRwBoolean deadReckoningAllowGuiOverrides() const;
219  virtual void setDeadReckoningAllowGuiOverrides(bool allow);
221 
223  virtual const DtRwDeadReckonThresholds& deadReckoningThresholds() const;
224  virtual void setDeadReckoningThresholds(const DtRwDeadReckonThresholds&
225  deadReckoningThresholds);
226 
228  virtual DtReal mass() const;
229  virtual void setMass(const DtReal mass);
230 
232 
233  virtual const DtRadioDescriptorList& radioDescriptorList() const;
234  virtual DtRadioDescriptorList& radioDescriptorList();
236 
238  virtual const DtRwSensorSignatureList& sensorSignatureList() const;
239  virtual DtRwSensorSignatureList& sensorSignatureList();
240 
244  virtual const DtVrfSubObjectParameterList& subordinateObjects() const;
245  virtual void setSubordinateObjects(
246  const DtVrfSubObjectParameterList& subordinateObjects);
247 
252  virtual const DtVrfSubObjectParameterList& attachedObjects() const;
253  virtual void setAttachedObjects(
254  const DtVrfSubObjectParameterList& attachedObjects);
255 
260  virtual DtVrfObjectSubComponentTypes * localSubComponentTypes() const;
261 
266  virtual DtVrfObjectSubComponentTypes * remoteSubComponentTypes() const;
267 
270  virtual void putData(FILE *fp, int indentLevel = 0);
271 
274  virtual DtlObjPtr getData(DtlObjPtr args,
275  const DtReaderWriter::SearchPaths& searchPaths,
276  const DtVariableBindingsList& variableBindings);
277 
279  virtual const Dt3dBoundingVolume * boundingVolume() const;
280 
282  virtual void setBoundingVolume(const Dt3dBoundingVolume& newBoundingVolume);
283 
289  virtual void setBoundingVolume(const DtVector& localBvolDiagonal,
290  const DtVector& offset = DtVector::zero());
291 
294  boundingGeometryType() const;
295  virtual void setBoundingGeometryType(
297 
300  virtual double draft() const;
301 
303  virtual DtAggregateFormation formation() const;
304  virtual void setFormation(DtAggregateFormation formation);
305 
307  virtual const DtString& displayName() const;
308  virtual void setDisplayName(const DtString& s);
309 
311  virtual const DtString& displayDescription() const;
312  virtual void setDisplayDescription(const DtString& s);
313 
315  virtual const DtString& engagementRules() const;
316  virtual void setEngagementRules(const DtString& engagementRules);
317 
319  virtual const DtSimResourceManager& resourceManager() const;
320  virtual void setResourceManager(const DtSimResourceManager& resourceManager);
321 
323  virtual void setStateRepositoryUserExtensionType(const DtString& type);
324  virtual const DtString& stateRepositoryUserExtensionType() const;
325 
327  virtual DtObjectType objectType() const;
328  virtual void setObjectType(const DtObjectType& objectType);
329 
331  virtual DtObjectType matchType() const;
332  virtual void setMatchType(const DtObjectType& objectType);
333 
340  virtual bool taskedBySuperiorUponTaskComplete() const;
341  virtual void setTaskedBySuperiorUponTaskComplete(bool trueOrFalse);
342 
344  virtual void setRangeRingPublisherTickTime(double);
345  virtual double rangeRingPublisherTickTime() const;
346 
347  static DtVrfObjectParameters * createParameters(DtlObjPtr mtlStream,
348  const DtReaderWriter::SearchPaths& searchPaths, const DtVariableBindingsList& variableBindings,
349  DtEnvironmentSP env = DtEnvironmentSP(), DtEnvValueSP* objectNode = NULL);
350  static DtVrfObjectParameters * createParameters(const char* name,
351  DtEnvironmentSP env = DtEnvironmentSP(), DtEnvValueSP* objectNode = NULL);
352 
354 
355  static void setFactory(DtVrfObjectParameterFactory * factory);
356 
357  static void addParameterCreatorFcn(const DtString & type,
359 
361  static DtVrfObjectParameters * creator(DtEnvironmentSP env, DtEnvValueSP* objectNode);
362 
364  void setParameterType(const DtString&);
365  const DtString& parameterType() const;
366 
369  virtual void setStateRepositoryUserExtension(
370  const DtVrfStateRepositoryUserExtension& userExtension);
371  virtual DtVrfStateRepositoryUserExtension* stateRepositoryUserExtension() const;
372 
376  virtual void getSelf(DtlObjPtr args,
378  const DtVariableBindingsList& variableBindings = nullVariableReference());
379 
383  virtual DtTime underFireTime() const;
384 
388  virtual void setUnderFireTime(DtTime time);
389 
393  virtual bool underFireTimeSpecified() const;
394 
398  virtual DtReal underFireDistance() const;
399 
403  virtual void setUnderFireDistance(DtReal underFireDistance);
404 
409  virtual bool underFireDistanceSpecified() const;
410 
412 
413  virtual const DtSimSector& initialSectorOfResponsibility() const;
414  virtual void setInitialSectorOfResponsibility(const DtSimSector& sor);
416 
418 
419  virtual DtTaskExecutionRules& taskExecutionRules();
420  virtual const DtTaskExecutionRules& taskExecutionRules() const;
422 
424 
425  virtual void setTaskExecutionRulesFilename(const DtFilename&);
426  virtual const DtReaderWriterFile& taskExecutionRulesFilename() const;
428 
430  virtual const DtAutoConnectionsListPtr& autoConnections() const;
431  virtual DtAutoConnectionsListPtr& autoConnections();
432 
437  virtual const std::list<DtSimArtPartDescriptor*>* completeArtPartList() const;
438 
440  virtual void connectSystems();
441 
443  bool operator==(const DtVrfObjectParameters&) const;
444  bool operator!=(const DtVrfObjectParameters&) const;
445 
446  virtual DtEnvironmentSP xmlEnvironment();
447 
450  virtual DtReaderWriterRegistryData* findProperty(const DtString& rwName) const;
451 
453  virtual const DtRwProperties& parameterData() const;
454  virtual DtRwProperties& parameterData();
455 
457  virtual const DtRwProperties& stateData() const;
458  virtual DtRwProperties& stateData();
459 
463  virtual void setPublishParameterData(bool);
464  virtual bool publishParameterData() const;
465 
466  virtual void setUiFilename(const DtString& uiFilename);
467  virtual DtString uiFilename() const;
468 
469 protected:
470 
477  virtual DtVrfSubObjectParameterList* createSubordinateObjectsList(
478  const DtSymbolString& name, DtReaderWriterRegistry* parentRegistry) const;
479 
486  virtual DtVrfSubObjectParameterList* createAttachedObjectsList(
487  const DtSymbolString& name, DtReaderWriterRegistry* parentRegistry) const;
488 
491  virtual void rebuildArtPartList();
492 
496  virtual void addArtPartsFromSystem(DtComponentSystemDescriptor* systemDesc,
497  std::list<DtSimArtPartDescriptor*>& artPartList);
498 
499  virtual void createAutomaticConnections(DtRwAutoConnection* autoConnection);
500 
501 protected:
502 
517  DtObjectType myMatchType;
518  DtObjectType myObjectType;
519 
523 
536 
549 
555 
561 
573 
585 
593 
601 
608 
615 
623 
637 
647 
649 
653 
659 
663 
667 
671 
701 
707 
712 
743 
748 
758 
775 
783 
790 
798 
804 
810 
819 
828 
832 
836 
838 
843  std::list<DtSimArtPartDescriptor*> myCompleteArtPartList;
844 
845  DtEnvValueSP* myObjectNode;
847 
849 
853 
857 
861 
868 
875 
881 
887 
894 };
895 
897 {
898  myParameterType = t;
899 }
900 
902 {
903  return myParameterType;
904 }

Document ID: Generated on Wed Mar 11 21:20:57 EDT 2015 from SVN revision 150940
Copyright © 2005-2014 VT MÄK. All Rights Reserved (www.mak.com)