VR-Forces 4.5 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"
34 #include "vrfobjparam/simSector.h"
37 #include <list>
41 #include "vrfutil/rwProperties.h"
42 
43 class DtSimResource;
45 class DtFilename;
49 
56 {
57 
58 public:
60 
62  DtVrfObjectParameters(const DtString& name = DtString::nullString(),
63  DtReaderWriterRegistry* parentRegistry = NULL, DtEnvironmentSP env = DtEnvironmentSP(), DtEnvValueSP* objectNode = NULL);
65  DtReaderWriterRegistry* parentRegistry = NULL, DtEnvironmentSP env = DtEnvironmentSP(), DtEnvValueSP* objectNode = NULL);
66 
68  virtual ~DtVrfObjectParameters();
69 
70 protected:
73  const DtString& name = DtString::nullString(),
74  DtReaderWriterRegistry* parentRegistry = NULL);
75 
77  const DtSymbolString& name,
78  DtReaderWriterRegistry* parentRegistry = NULL);
79 
80 public:
83 
84  virtual DtVrfObjectParameters* clone(
85  const DtString& name = DtString::nullString(),
86  DtReaderWriterRegistry* parentRegistry = NULL) const;
87 
88  virtual DtVrfObjectParameters* clone(
89  const DtSymbolString& name,
90  DtReaderWriterRegistry* parentRegistry = NULL) const;
91 
97  virtual bool init();
98 
104  virtual DtString type() const;
105 
117  virtual bool inheritValues(const DtVrfObjectParameters * benefactor);
118 
119  virtual void inheritValuesFromThisType(
120  const DtVrfObjectParameters * benefactor);
121 
123  virtual bool createLocalSubComponentTypes();
124 
126  virtual bool createRemoteSubComponentTypes();
127 
132  virtual DtVrfObjectSubComponentTypes * localVrfSubComponentTypes() const;
133 
138  virtual DtVrfObjectSubComponentTypes * remoteVrfSubComponentTypes() const;
139 
142  virtual void setMinTickPeriod(DtReal minTickPeriod);
143 
146  virtual DtReal minTickPeriod() const;
147 
150  virtual void setMinTickPeriodVariance(DtReal minTickPeriodVariance);
151 
154  virtual DtReal minTickPeriodVariance() const;
155 
159  virtual DtForceType forceType() const;
160  virtual void setForceType(const DtForceType force);
161 
163  virtual const DtString& category() const;
164 
165  virtual void setCategory(const DtString& category);
166 
168  virtual bool categorySpecified() const;
169 
171  virtual const DtString& echelonLevel() const;
172 
173  virtual void setEchelonLevel(const DtString& echelonLevel);
174 
176  virtual bool echelonLevelSpecified() const;
177 
179  virtual bool organized() const;
180 
181  virtual void setOrganized(bool organized);
182 
184 
185  virtual const DtComponentSystemDescriptorList& systemDescriptorList() const;
186  virtual DtComponentSystemDescriptorList& systemDescriptorList();
187  virtual void setSystemDescriptorList(const DtComponentSystemDescriptorList& list);
189 
191  virtual const DtComponentDescriptorList& sensorDescriptorList() const;
192  virtual DtComponentDescriptorList& sensorDescriptorList();
193  virtual void setSensorDescriptorList(const DtComponentDescriptorList& list);
194 
196  virtual const DtComponentDescriptorList& controllerDescriptorList() const;
197  virtual DtComponentDescriptorList& controllerDescriptorList();
198  virtual void setControllerDescriptorList(const DtComponentDescriptorList&
199  list);
200 
202  virtual const DtComponentDescriptorList& actuatorDescriptorList() const;
203  virtual DtComponentDescriptorList& actuatorDescriptorList();
204  virtual void setActuatorDescriptorList(const DtComponentDescriptorList&
205  list);
206 
208  virtual const DtConnectionDescriptorList& connectionDescriptorList() const;
209  virtual DtConnectionDescriptorList& connectionDescriptorList();
210  virtual void setConnectionDescriptorList(const DtConnectionDescriptorList&
211  list);
212 
214  virtual DtDeadReckonTypes deadReckoningAlgorithm() const;
215  virtual void setDeadReckoningAlgorithm(DtDeadReckonTypes
216  deadReckoningAlgorithm);
217 
219  virtual const DtRwNavigationParameters& navigationParameters() const;
220  virtual DtRwNavigationParameters& navigationParameters();
221  virtual void setNavigationParameters(const DtRwNavigationParameters& parameters);
222 
224 
225  virtual const DtRwBoolean deadReckoningAllowGuiOverrides() const;
226  virtual void setDeadReckoningAllowGuiOverrides(bool allow);
228 
230  virtual const DtRwDeadReckonThresholds& deadReckoningThresholds() const;
231  virtual void setDeadReckoningThresholds(const DtRwDeadReckonThresholds&
232  deadReckoningThresholds);
233 
235  virtual DtReal mass() const;
236  virtual void setMass(const DtReal mass);
237 
239 
240  virtual const DtRadioDescriptorList& radioDescriptorList() const;
241  virtual DtRadioDescriptorList& radioDescriptorList();
243 
245  virtual const DtRwSensorSignatureList& sensorSignatureList() const;
246  virtual DtRwSensorSignatureList& sensorSignatureList();
247 
251  virtual const DtVrfSubObjectParameterList& subordinateObjects() const;
252  virtual void setSubordinateObjects(
253  const DtVrfSubObjectParameterList& subordinateObjects);
254 
259  virtual const DtVrfSubObjectParameterList& attachedObjects() const;
260  virtual void setAttachedObjects(
261  const DtVrfSubObjectParameterList& attachedObjects);
262 
267  virtual DtVrfObjectSubComponentTypes * localSubComponentTypes() const;
268 
273  virtual DtVrfObjectSubComponentTypes * remoteSubComponentTypes() const;
274 
277  virtual void putData(std::string& fp, int indentLevel = 0);
278 
281  virtual DtlObjPtr getData(DtlObjPtr args,
282  const DtReaderWriter::SearchPaths& searchPaths,
283  const DtVariableBindingsList& variableBindings);
284 
286  virtual const Dt3dBoundingVolume * boundingVolume() const;
287 
289  virtual void setBoundingVolume(const Dt3dBoundingVolume& newBoundingVolume);
290 
296  virtual void setBoundingVolume(const DtVector& localBvolDiagonal,
297  const DtVector& offset = DtVector::zero());
298 
301  boundingGeometryType() const;
302  virtual void setBoundingGeometryType(
304 
307  virtual double draft() const;
308 
310  virtual DtAggregateFormation formation() const;
311  virtual void setFormation(DtAggregateFormation formation);
312 
314  virtual DtU32 appearance() const;
315  virtual void setAppearance(const DtU32 appearance);
316  virtual bool appearanceSpecified() const;
317 
319  virtual const DtString& displayName() const;
320  virtual void setDisplayName(const DtString& s);
321 
323  virtual const DtString& displayDescription() const;
324  virtual void setDisplayDescription(const DtString& s);
325 
327  virtual const DtString& engagementRules() const;
328  virtual void setEngagementRules(const DtString& engagementRules);
329 
331  virtual const DtSimResourceManager& resourceManager() const;
332  virtual void setResourceManager(const DtSimResourceManager& resourceManager);
333 
335  virtual void setStateRepositoryUserExtensionType(const DtString& type);
336  virtual const DtString& stateRepositoryUserExtensionType() const;
337 
339  virtual DtObjectType objectType() const;
340  virtual void setObjectType(const DtObjectType& objectType);
341 
343  virtual DtObjectType matchType() const;
344  virtual void setMatchType(const DtObjectType& objectType);
345 
352  virtual bool taskedBySuperiorUponTaskComplete() const;
353  virtual void setTaskedBySuperiorUponTaskComplete(bool trueOrFalse);
354 
356  virtual void setRangeRingPublisherTickTime(double);
357  virtual double rangeRingPublisherTickTime() const;
358 
359  static DtVrfObjectParameters * createParameters(DtlObjPtr mtlStream,
360  const DtReaderWriter::SearchPaths& searchPaths, const DtVariableBindingsList& variableBindings,
361  DtEnvironmentSP env = DtEnvironmentSP(), DtEnvValueSP* objectNode = NULL);
362  static DtVrfObjectParameters * createParameters(const char* name,
363  DtEnvironmentSP env = DtEnvironmentSP(), DtEnvValueSP* objectNode = NULL);
364 
366 
367  static void setFactory(DtVrfObjectParameterFactory * factory);
368 
369  static void addParameterCreatorFcn(const DtString & type,
371 
373  static DtVrfObjectParameters * creator(DtEnvironmentSP env, DtEnvValueSP* objectNode);
374 
376  void setParameterType(const DtString&);
377  const DtString& parameterType() const;
378 
381  virtual void setStateRepositoryUserExtension(
382  const DtVrfStateRepositoryUserExtension& userExtension);
383  virtual DtVrfStateRepositoryUserExtension* stateRepositoryUserExtension() const;
384 
388  virtual void getSelf(DtlObjPtr args,
390  const DtVariableBindingsList& variableBindings = nullVariableReference());
391 
395  virtual DtTime underFireTime() const;
396 
400  virtual void setUnderFireTime(DtTime time);
401 
405  virtual bool underFireTimeSpecified() const;
406 
410  virtual DtReal underFireDistance() const;
411 
415  virtual void setUnderFireDistance(DtReal underFireDistance);
416 
421  virtual bool underFireDistanceSpecified() const;
422 
424 
425  virtual const DtSimSector& initialSectorOfResponsibility() const;
426  virtual void setInitialSectorOfResponsibility(const DtSimSector& sor);
428 
430 
431  virtual DtTaskExecutionRules& taskExecutionRules();
432  virtual const DtTaskExecutionRules& taskExecutionRules() const;
434 
436 
437  virtual void setTaskExecutionRulesFilename(const DtFilename&);
438  virtual const DtReaderWriterFile& taskExecutionRulesFilename() const;
440 
442  virtual const DtAutoConnectionsListPtr& autoConnections() const;
443  virtual DtAutoConnectionsListPtr& autoConnections();
444 
449  virtual const std::list<DtSimArtPartDescriptor*>* completeArtPartList() const;
450 
452  virtual void connectSystems();
453 
455  bool operator==(const DtVrfObjectParameters&) const;
456  bool operator!=(const DtVrfObjectParameters&) const;
457 
458  virtual DtEnvironmentSP xmlEnvironment();
459  virtual DtEnvValueSP objectNode();
460 
462  virtual const DtReaderWriter* findVariableBinding(const DtString&) const;
463 
467  virtual const DtVariableBindingsList& variableBindingsFromLoad() const;
468 
471  virtual DtReaderWriterRegistryData* findProperty(const DtString& rwName) const;
472 
474  virtual const DtRwProperties& parameterData() const;
475  virtual DtRwProperties& parameterData();
476 
478  virtual const DtRwProperties& stateData() const;
479  virtual DtRwProperties& stateData();
480 
484  virtual void setPublishParameterData(bool);
485  virtual bool publishParameterData() const;
486 
487  virtual void setUiFilename(const DtString& uiFilename);
488  virtual DtString uiFilename() const;
489 
490  virtual void setCanCreateAsNew(bool);
491  virtual bool canCreateAsNew() const;
492 
496  virtual void setCanMoveOntoEmbarked(bool);
497  virtual bool canMoveOntoEmbarked() const;
498 
499 protected:
500 
507  virtual DtVrfSubObjectParameterList* createSubordinateObjectsList(
508  const DtSymbolString& name, DtReaderWriterRegistry* parentRegistry) const;
509 
516  virtual DtVrfSubObjectParameterList* createAttachedObjectsList(
517  const DtSymbolString& name, DtReaderWriterRegistry* parentRegistry) const;
518 
521  virtual void rebuildArtPartList();
522 
526  virtual void addArtPartsFromSystem(DtComponentSystemDescriptor* systemDesc,
527  std::list<DtSimArtPartDescriptor*>& artPartList);
528 
529  virtual void createAutomaticConnections(DtRwAutoConnection* autoConnection);
530 
531 protected:
532 
549 
553 
566 
579 
585 
591 
603 
607 
619 
627 
635 
642 
649 
657 
671 
673 
683 
685 
689 
695 
699 
703 
707 
737 
743 
748 
779 
784 
794 
811 
819 
826 
834 
840 
846 
855 
864 
868 
872 
874 
879  std::list<DtSimArtPartDescriptor*> myCompleteArtPartList;
880 
881  DtEnvValueSP myObjectNode;
883 
885 
889 
893 
897 
904 
911 
917 
923 
930 
937 
945 
948 };
949 
951 {
952  myParameterType = t;
953 }
954 
956 {
957  return myParameterType;
958 }

Document ID: Generated on Thu Mar 23 18:54:12 EDT 2017 from SVN revision 174804
Copyright © 2005-2017 VT MÄK. All Rights Reserved (www.mak.com)