VR-Forces 4.6.1 Class Documentation
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties 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/rwEntityType.h"
25 #include "vrfutil/rwString.h"
26 #include "vrfutil/simClock.h"
35 #include "vrfobjparam/simSector.h"
38 #include <list>
42 #include "vrfutil/rwProperties.h"
43 
44 class DtSimResource;
46 class DtFilename;
50 
57 {
58 
59 public:
61 
63  DtVrfObjectParameters(const DtString& name = DtString::nullString(),
64  DtReaderWriterRegistry* parentRegistry = NULL, DtEnvironmentSP env = DtEnvironmentSP(), DtEnvValueSP* objectNode = NULL);
66  DtReaderWriterRegistry* parentRegistry = NULL, DtEnvironmentSP env = DtEnvironmentSP(), DtEnvValueSP* objectNode = NULL);
67 
69  virtual ~DtVrfObjectParameters();
70 
71 protected:
74  const DtString& name = DtString::nullString(),
75  DtReaderWriterRegistry* parentRegistry = NULL);
76 
78  const DtSymbolString& name,
79  DtReaderWriterRegistry* parentRegistry = NULL);
80 
81 public:
84 
85  virtual DtVrfObjectParameters* clone(
86  const DtString& name = DtString::nullString(),
87  DtReaderWriterRegistry* parentRegistry = NULL) const;
88 
89  virtual DtVrfObjectParameters* clone(
90  const DtSymbolString& name,
91  DtReaderWriterRegistry* parentRegistry = NULL) const;
92 
98  virtual bool init();
99 
105  virtual DtString type() const;
106 
118  virtual bool inheritValues(const DtVrfObjectParameters * benefactor);
119 
120  virtual void inheritValuesFromThisType(
121  const DtVrfObjectParameters * benefactor);
122 
124  virtual bool createLocalSubComponentTypes();
125 
127  virtual bool createRemoteSubComponentTypes();
128 
133  virtual DtVrfObjectSubComponentTypes * localVrfSubComponentTypes() const;
134 
139  virtual DtVrfObjectSubComponentTypes * remoteVrfSubComponentTypes() const;
140 
143  virtual void setMinTickPeriod(DtReal minTickPeriod);
144 
147  virtual DtReal minTickPeriod() const;
148 
151  virtual void setMinTickPeriodVariance(DtReal minTickPeriodVariance);
152 
155  virtual DtReal minTickPeriodVariance() const;
156 
160  virtual DtForceType forceType() const;
161  virtual void setForceType(const DtForceType force);
162 
164  virtual const DtString& category() const;
165 
166  virtual void setCategory(const DtString& category);
167 
169  virtual bool categorySpecified() const;
170 
172  virtual const DtString& echelonLevel() const;
173 
174  virtual void setEchelonLevel(const DtString& echelonLevel);
175 
177  virtual bool echelonLevelSpecified() const;
178 
180  virtual bool organized() const;
181 
182  virtual void setOrganized(bool organized);
183 
185 
186  virtual const DtComponentSystemDescriptorList& systemDescriptorList() const;
187  virtual DtComponentSystemDescriptorList& systemDescriptorList();
188  virtual void setSystemDescriptorList(const DtComponentSystemDescriptorList& list);
190 
192  virtual const DtComponentDescriptorList& sensorDescriptorList() const;
193  virtual DtComponentDescriptorList& sensorDescriptorList();
194  virtual void setSensorDescriptorList(const DtComponentDescriptorList& list);
195 
197  virtual const DtComponentDescriptorList& controllerDescriptorList() const;
198  virtual DtComponentDescriptorList& controllerDescriptorList();
199  virtual void setControllerDescriptorList(const DtComponentDescriptorList&
200  list);
201 
203  virtual const DtComponentDescriptorList& actuatorDescriptorList() const;
204  virtual DtComponentDescriptorList& actuatorDescriptorList();
205  virtual void setActuatorDescriptorList(const DtComponentDescriptorList&
206  list);
207 
209  virtual const DtConnectionDescriptorList& connectionDescriptorList() const;
210  virtual DtConnectionDescriptorList& connectionDescriptorList();
211  virtual void setConnectionDescriptorList(const DtConnectionDescriptorList&
212  list);
213 
215  virtual DtDeadReckonTypes deadReckoningAlgorithm() const;
216  virtual void setDeadReckoningAlgorithm(DtDeadReckonTypes
217  deadReckoningAlgorithm);
218 
220  virtual const DtRwNavigationParameters& navigationParameters() const;
221  virtual DtRwNavigationParameters& navigationParameters();
222  virtual void setNavigationParameters(const DtRwNavigationParameters& parameters);
223 
225 
226  virtual const DtRwBoolean deadReckoningAllowGuiOverrides() const;
227  virtual void setDeadReckoningAllowGuiOverrides(bool allow);
229 
231  virtual const DtRwDeadReckonThresholds& deadReckoningThresholds() const;
232  virtual void setDeadReckoningThresholds(const DtRwDeadReckonThresholds&
233  deadReckoningThresholds);
234 
236  virtual DtReal mass() const;
237  virtual void setMass(const DtReal mass);
238 
240 
241  virtual const DtRadioDescriptorList& radioDescriptorList() const;
242  virtual DtRadioDescriptorList& radioDescriptorList();
244 
246  virtual const DtRwSensorSignatureList& sensorSignatureList() const;
247  virtual DtRwSensorSignatureList& sensorSignatureList();
248 
252  virtual const DtVrfSubObjectParameterList& subordinateObjects() const;
253  virtual void setSubordinateObjects(
254  const DtVrfSubObjectParameterList& subordinateObjects);
255 
260  virtual const DtVrfSubObjectParameterList& attachedObjects() const;
261  virtual void setAttachedObjects(
262  const DtVrfSubObjectParameterList& attachedObjects);
263 
268  virtual DtVrfObjectSubComponentTypes * localSubComponentTypes() const;
269 
274  virtual DtVrfObjectSubComponentTypes * remoteSubComponentTypes() const;
275 
278  virtual void putData(std::string& fp, int indentLevel = 0);
279 
282  virtual DtlObjPtr getData(DtlObjPtr args,
283  const DtReaderWriter::SearchPaths& searchPaths,
284  const DtVariableBindingsList& variableBindings);
285 
287  virtual const Dt3dBoundingVolume * boundingVolume() const;
288 
290  virtual void setBoundingVolume(const Dt3dBoundingVolume& newBoundingVolume);
291 
297  virtual void setBoundingVolume(const DtVector& localBvolDiagonal,
298  const DtVector& offset = DtVector::zero());
299 
302  boundingGeometryType() const;
303  virtual void setBoundingGeometryType(
305 
308  virtual double draft() const;
309 
311  virtual DtAggregateFormation formation() const;
312  virtual void setFormation(DtAggregateFormation formation);
313 
315  virtual DtU32 appearance() const;
316  virtual void setAppearance(const DtU32 appearance);
317  virtual bool appearanceSpecified() const;
318 
320  virtual const DtString& displayName() const;
321  virtual void setDisplayName(const DtString& s);
322 
324  virtual const DtEntityType& defaultEntityType() const;
325  virtual void setDefaultEntityType(const DtEntityType& s);
326 
328  virtual const DtString& displayDescription() const;
329  virtual void setDisplayDescription(const DtString& s);
330 
332  virtual const DtString& engagementRules() const;
333  virtual void setEngagementRules(const DtString& engagementRules);
334 
336  virtual const DtSimResourceManager& resourceManager() const;
337  virtual void setResourceManager(const DtSimResourceManager& resourceManager);
338 
340  virtual void setStateRepositoryUserExtensionType(const DtString& type);
341  virtual const DtString& stateRepositoryUserExtensionType() const;
342 
344  virtual DtObjectType objectType() const;
345  virtual void setObjectType(const DtObjectType& objectType);
346 
348  virtual DtObjectType matchType() const;
349  virtual void setMatchType(const DtObjectType& objectType);
350 
357  virtual bool taskedBySuperiorUponTaskComplete() const;
358  virtual void setTaskedBySuperiorUponTaskComplete(bool trueOrFalse);
359 
361  virtual void setRangeRingPublisherTickTime(double);
362  virtual double rangeRingPublisherTickTime() const;
363 
364  static DtVrfObjectParameters * createParameters(DtlObjPtr mtlStream,
365  const DtReaderWriter::SearchPaths& searchPaths, const DtVariableBindingsList& variableBindings,
366  DtEnvironmentSP env = DtEnvironmentSP(), DtEnvValueSP* objectNode = NULL);
367  static DtVrfObjectParameters * createParameters(const char* name,
368  DtEnvironmentSP env = DtEnvironmentSP(), DtEnvValueSP* objectNode = NULL);
369 
371 
372  static void setFactory(DtVrfObjectParameterFactory * factory);
373 
374  static void addParameterCreatorFcn(const DtString & type,
376 
378  static DtVrfObjectParameters * creator(DtEnvironmentSP env, DtEnvValueSP* objectNode);
379 
381  void setParameterType(const DtString&);
382  const DtString& parameterType() const;
383 
386  virtual void setStateRepositoryUserExtension(
387  const DtVrfStateRepositoryUserExtension& userExtension);
388  virtual DtVrfStateRepositoryUserExtension* stateRepositoryUserExtension() const;
389 
393  virtual void getSelf(DtlObjPtr args,
395  const DtVariableBindingsList& variableBindings = nullVariableReference());
396 
400  virtual DtTime underFireTime() const;
401 
405  virtual void setUnderFireTime(DtTime time);
406 
410  virtual bool underFireTimeSpecified() const;
411 
415  virtual DtReal underFireDistance() const;
416 
420  virtual void setUnderFireDistance(DtReal underFireDistance);
421 
426  virtual bool underFireDistanceSpecified() const;
427 
429 
430  virtual const DtSimSector& initialSectorOfResponsibility() const;
431  virtual void setInitialSectorOfResponsibility(const DtSimSector& sor);
433 
435 
436  virtual DtTaskExecutionRules& taskExecutionRules();
437  virtual const DtTaskExecutionRules& taskExecutionRules() const;
439 
441 
442  virtual void setTaskExecutionRulesFilename(const DtFilename&);
443  virtual const DtReaderWriterFile& taskExecutionRulesFilename() const;
445 
447 
448  virtual void setHlaFomClass(const DtString&);
449  virtual const DtString& hlaFomClass() const;
451 
453  virtual const DtAutoConnectionsListPtr& autoConnections() const;
454  virtual DtAutoConnectionsListPtr& autoConnections();
455 
460  virtual const std::list<DtSimArtPartDescriptor*>* completeArtPartList() const;
461 
463  virtual void connectSystems();
464 
466  bool operator==(const DtVrfObjectParameters&) const;
467  bool operator!=(const DtVrfObjectParameters&) const;
468 
469  virtual DtEnvironmentSP xmlEnvironment();
470  virtual DtEnvValueSP objectNode();
471 
473  virtual const DtReaderWriter* findVariableBinding(const DtString&) const;
474 
478  virtual const DtVariableBindingsList& variableBindingsFromLoad() const;
479 
482  virtual DtReaderWriterRegistryData* findProperty(const DtString& rwName) const;
483 
485  virtual const DtRwProperties& parameterData() const;
486  virtual DtRwProperties& parameterData();
487 
489  virtual const DtRwProperties& stateData() const;
490  virtual DtRwProperties& stateData();
491 
495  virtual void setPublishParameterData(bool);
496  virtual bool publishParameterData() const;
497 
498  virtual void setUiFilename(const DtString& uiFilename);
499  virtual DtString uiFilename() const;
500 
501  virtual void setCanCreateAsNew(bool);
502  virtual bool canCreateAsNew() const;
503 
507  virtual void setCanMoveOntoEmbarked(bool);
508  virtual bool canMoveOntoEmbarked() const;
509 
510 protected:
511 
518  virtual DtVrfSubObjectParameterList* createSubordinateObjectsList(
519  const DtSymbolString& name, DtReaderWriterRegistry* parentRegistry) const;
520 
527  virtual DtVrfSubObjectParameterList* createAttachedObjectsList(
528  const DtSymbolString& name, DtReaderWriterRegistry* parentRegistry) const;
529 
532  virtual void rebuildArtPartList();
533 
537  virtual void addArtPartsFromSystem(DtComponentSystemDescriptor* systemDesc,
538  std::list<DtSimArtPartDescriptor*>& artPartList);
539 
540  virtual void createAutomaticConnections(DtRwAutoConnection* autoConnection);
541 
542 protected:
543 
560 
564 
577 
590 
596 
602 
614 
618 
630 
638 
646 
653 
660 
668 
682 
684 
694 
696 
700 
706 
710 
714 
718 
748 
754 
759 
790 
795 
805 
822 
830 
837 
845 
851 
857 
866 
875 
879 
883 
885 
890  std::list<DtSimArtPartDescriptor*> myCompleteArtPartList;
891 
892  DtEnvValueSP myObjectNode;
894 
896 
900 
904 
908 
915 
922 
928 
934 
941 
948 
956 
962 
968 
971 };
972 
974 {
975  myParameterType = t;
976 }
977 
979 {
980  return myParameterType;
981 }

Document ID: Generated on Wed Jul 25 16:57:45 EDT 2018 from SVN revision 190790
Copyright © 2005-2018 VT MÄK. All Rights Reserved (www.mak.com)