VR-Forces Developer's Guide
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
guiLocalObjectManager.h
Go to the documentation of this file.
1 /****************************************************************************
2  * Copyright (c) 2022 MAK Technologies, Inc.
3  * All rights reserved.
4  ****************************************************************************/
5 
6 #pragma once
7 
16 #include <vrvCore/DtIntersector.h>
19 #include <vlpi/patchIdentifier.h>
20 
21 #include <vlutil/vlSmartPointers.h>
22 
23 #include <boost/archive/xml_iarchive.hpp>
24 #include <boost/archive/xml_oarchive.hpp>
25 #include <boost/serialization/access.hpp>
26 #include <boost/serialization/nvp.hpp>
27 #include <boost/serialization/list.hpp>
28 #include <boost/serialization/map.hpp>
29 #include <boost/serialization/vector.hpp>
30 #include <boost/serialization/string.hpp>
31 
32 #include <matrix/vlVector.h>
33 
34 class DtEntityType;
35 
36 namespace makVrv
37 {
38  class DtDe;
39  class DtTacticalGraphicOverlay;
40  struct DtVrlinkSimulatedBaseState;
41 
42 }
43 
46 namespace makVrf
47 {
48  class DtVrfObjectFacadeInterface;
49  class DtEnvironmentalFacadeCollection;
50  class DtEntityFacadeCollection;
51 
52  class DT_DLL_VRFGUICORE DtSerializableVector : public DtVector
53  {
54  public:
55 
56  DtSerializableVector() : mySource(0) {};
57  DtSerializableVector( DtVector& src )
58  : DtVector( src )
59  , mySource( &src )
60  {
61  }
62 
63  void operator=(const DtVector& rhs)
64  {
65  ((DtVector&)*this) = rhs;
66  }
67 
68  protected:
69 
70  friend class boost::serialization::access;
71 
75  template<class Archive>
76  void serialize(Archive & ar, const unsigned int version)
77  {
78  double x = myRep[0], y = myRep[1], z = myRep[2];
79 
80  ar & BOOST_SERIALIZATION_NVP(x);
81  ar & BOOST_SERIALIZATION_NVP(y);
82  ar & BOOST_SERIALIZATION_NVP(z);
83 
84  if (Archive::is_loading::value)
85  {
86  myRep[0] = x;
87  myRep[1] = y;
88  myRep[2] = z;
89 
90  if (mySource)
91  {
92  *mySource = *this;
93  }
94  }
95  }
96 
97  protected:
98  DtVector* mySource;
99  };
100 
101  class DT_DLL_VRFGUICORE DtSerializableTaitBryan : public DtTaitBryan
102  {
103  public:
104  DtSerializableTaitBryan() : mySource(0) {};
105  DtSerializableTaitBryan(DtTaitBryan& src) :
106  DtTaitBryan(src),
107  mySource(&src)
108  {
109  }
110 
111  protected:
112  friend class boost::serialization::access;
113 
117  template<class Archive>
118  void serialize(Archive & ar, const unsigned int version)
119  {
120  ar & BOOST_SERIALIZATION_NVP(myPsi);
121  ar & BOOST_SERIALIZATION_NVP(myTheta);
122  ar & BOOST_SERIALIZATION_NVP(myPhi);
123 
124  if (Archive::is_loading::value && mySource)
125  {
126  *mySource = *this;
127  }
128  }
129 
130  protected:
131  DtTaitBryan* mySource;
132  };
133 
134  template <typename _Type, typename _SrcType>
136  {
137  public:
139  DtSerializableStdVector(std::vector<_SrcType>& src) :
140  mySource(&src)
141  {
142  myValues.resize(src.size());
143 
144  typename std::vector<_SrcType>::const_iterator srcIter = src.begin();
145  typename std::vector<_Type>::iterator tgtIter = myValues.begin();
146 
147  while (srcIter != src.end())
148  {
149  *tgtIter = *srcIter;
150  ++srcIter;
151  ++tgtIter;
152  }
153  }
154 
155  protected:
157 
161  template<class Archive>
162  void serialize(Archive & ar, const unsigned int version)
163  {
164  ar & BOOST_SERIALIZATION_NVP(myValues);
165 
166  if (Archive::is_loading::value && mySource)
167  {
168  mySource->clear();
169  mySource->resize(myValues.size());
170 
171  typename std::vector<_Type>::const_iterator src = myValues.begin();
172  typename std::vector<_SrcType>::iterator tgt = mySource->begin();
173 
174  while (src != myValues.end())
175  {
176  *tgt = *src;
177  ++src;
178  ++tgt;
179  }
180  }
181  }
182 
183  protected:
184  std::vector<_SrcType>* mySource;
185  std::vector<_Type> myValues;
186  };
187 
188 
189  class DT_DLL_VRFGUICORE DtSerializablePatchIdentifier : public DtPatchIdentifier
190  {
191  public:
192 
193  DtSerializablePatchIdentifier() : mySource( 0 ) {}
194  DtSerializablePatchIdentifier( DtPatchIdentifier& src )
195  : DtPatchIdentifier( src )
196  , mySource( &src )
197  {
198  }
199 
200  protected:
201 
202  friend class boost::serialization::access;
203 
207  template<class Archive>
208  void serialize( Archive& ar, const unsigned int version )
209  {
210  ar & BOOST_SERIALIZATION_NVP( myCountryCode );
211  ar & BOOST_SERIALIZATION_NVP( myServiceCode );
212  ar & BOOST_SERIALIZATION_NVP( myPatchId );
213 
214  if ( Archive::is_loading::value && mySource )
215  {
216  *mySource = *this;
217  }
218  }
219 
220  protected:
221 
222  DtPatchIdentifier* mySource;
223 
224  };
225 
227  {
230 
231  protected:
232  friend class boost::serialization::access;
233 
237  template<class Archive>
238  void serialize( Archive & ar, const unsigned int version )
239  {
240  ar & BOOST_SERIALIZATION_NVP( myGlobalId );
241  ar & BOOST_SERIALIZATION_NVP( myEntityId );
242  ar & BOOST_SERIALIZATION_NVP( myMarkingText );
243  ar & BOOST_SERIALIZATION_NVP( myEntityType );
244  ar & BOOST_SERIALIZATION_NVP( myAttachedToId );
245  ar & BOOST_SERIALIZATION_NVP( myForce );
246 
247  DtSerializableVector loc( myLocation );
248  DtSerializableVector vel( myVelocity );
249  DtSerializableVector relVel( myRelativeVelocity );
250  DtSerializableVector acc( myAcceleration );
251  DtSerializableTaitBryan ori( myOrientation );
252  DtSerializableVector rotVel( myRotationalVelocity );
253 
254  ar & BOOST_SERIALIZATION_NVP( loc );
255  ar & BOOST_SERIALIZATION_NVP( vel );
256  ar & BOOST_SERIALIZATION_NVP( relVel );
257  ar & BOOST_SERIALIZATION_NVP( acc );
258  ar & BOOST_SERIALIZATION_NVP( ori );
259  ar & BOOST_SERIALIZATION_NVP( rotVel );
260 
261  ar & BOOST_SERIALIZATION_NVP( myAppearance );
262  ar & BOOST_SERIALIZATION_NVP( myCapabilities );
263 
264  ar & BOOST_SERIALIZATION_NVP( myDIGuyAppearance );
265  ar & BOOST_SERIALIZATION_NVP( myDIGuyCharacterType );
266 
267  DtSerializablePatchIdentifier primary( myDIGuyPrimaryUnitPatch );
268  DtSerializablePatchIdentifier secondary( myDIGuySecondaryUnitPatch );
269  DtSerializablePatchIdentifier rank( myDIGuyRankPatch );
270 
271  ar & BOOST_SERIALIZATION_NVP( primary );
272  ar & BOOST_SERIALIZATION_NVP( secondary );
273  ar & BOOST_SERIALIZATION_NVP( rank );
274 
275  ar & BOOST_SERIALIZATION_NVP( myDIGuyCharacterName );
276 
277  ar & BOOST_SERIALIZATION_NVP( myGuise );
278  ar & BOOST_SERIALIZATION_NVP( myDRAlgorithm );
279  }
280 
281  public:
282  std::string myGlobalId;
283  std::string myEntityId;
284  std::string myMarkingText;
285  std::string myEntityType;
286  std::string myAttachedToId;
287  int myForce = 0;
288 
289  DtVector myLocation;
290  DtVector myVelocity;
292  DtVector myAcceleration;
293  DtTaitBryan myOrientation;
295 
296  int myAppearance = 0;
297  int myCapabilities = 0;
298 
299  std::string myDIGuyAppearance;
300  std::string myDIGuyCharacterType;
301 
302  DtPatchIdentifier myDIGuyPrimaryUnitPatch;
303  DtPatchIdentifier myDIGuySecondaryUnitPatch;
304  DtPatchIdentifier myDIGuyRankPatch;
305 
306  std::string myDIGuyCharacterName;
307  std::string myGuise;
308  int myDRAlgorithm = 0;
309  };
310 
312  {
315 
316  protected:
317  friend class boost::serialization::access;
318 
322  template<class Archive>
323  void serialize(Archive & ar, const unsigned int version)
324  {
325  ar & BOOST_SERIALIZATION_NVP(myGlobalId);
326  ar & BOOST_SERIALIZATION_NVP(myEntityId);
327  ar & BOOST_SERIALIZATION_NVP(myMarkingText);
328  ar & BOOST_SERIALIZATION_NVP(myEntityType);
329  ar & BOOST_SERIALIZATION_NVP(myAttachedToId);
330  ar & BOOST_SERIALIZATION_NVP(myForce);
331 
333 
334  ar & BOOST_SERIALIZATION_NVP(pts);
335 
336  ar & BOOST_SERIALIZATION_NVP(myUserData);
337  ar & BOOST_SERIALIZATION_NVP(myPenStyle);
338  ar & BOOST_SERIALIZATION_NVP(myFillStyle);
339  ar & BOOST_SERIALIZATION_NVP(myLineWidth);
340  ar & BOOST_SERIALIZATION_NVP(myColor);
341  ar & BOOST_SERIALIZATION_NVP(myLabel);
342  ar & BOOST_SERIALIZATION_NVP(myClosedFigure);
343  ar & BOOST_SERIALIZATION_NVP(myProjected);
344  ar & BOOST_SERIALIZATION_NVP(myAttributes);
345  ar & BOOST_SERIALIZATION_NVP(myOverlayParent);
346 
347  if (version >= 2)
348  {
349  ar & BOOST_SERIALIZATION_NVP(myPhysicalLineHeight);
350  ar & BOOST_SERIALIZATION_NVP(myPhysicalLineWidth);
351  }
352 
353  if (version >= 3)
354  {
355  ar & BOOST_SERIALIZATION_NVP(myExtendedData);
356  }
357  }
358 
359  public:
360  std::string myGlobalId;
361  std::string myEntityId;
362  std::string myMarkingText;
363  std::string myEntityType;
364  std::string myAttachedToId;
365  int myForce = 0;
366  std::vector<DtVector> myPoints;
367  std::string myUserData;
368  int myPenStyle = 0;
369  int myFillStyle = 0;
370  int myLineWidth = 0;
371  int myColor = 0;
372  std::string myLabel;
373  bool myClosedFigure = false;
374  bool myProjected = false;
375  int myAttributes = 0;
376  std::string myOverlayParent;
377  double myPhysicalLineHeight = 1.;
378  double myPhysicalLineWidth = 1.;
379  std::map<std::string, std::string> myExtendedData;
380  };
381 
392 
394  {
395  public:
397  {
398  Highest = 0,
401  ClosestDown
402  };
403 
405 
406  static DtGuiLocalObjectManager& instance(makVrv::DtDe& de);
407  static void registerInstance(makVrv::DtDe& de, DtGuiLocalObjectManager*);
408 
409  virtual ~DtGuiLocalObjectManager() override;
410 
412  virtual bool isCreating() const;
413 
416  virtual DtGuiLocalObject* createStaticData(const DtEntityType& et, const DtUUID& uuid = DtUUID::nullUUID());
417 
420  virtual DtGuiLocalObject* createSharedData(const DtEntityType&, makVrv::DtUniqueID id = 0, const DtUUID& uuid = DtUUID::nullUUID());
421 
423  virtual void tacticalGraphicsVertexSelected(
424  const makVrv::DtUniqueID& selected, const makVrv::DtUniqueID& parentElementID);
425 
427  virtual void tacticalGraphicsVertexDeselected(
428  const makVrv::DtUniqueID& deselected, const makVrv::DtUniqueID& parent);
429 
431  virtual void slot_onCurrentSelectionChanged(
432  const makVrv::DtSelectionManager::IdSet& selected,
433  const makVrv::DtSelectionManager::IdSet& deselected);
434 
436  virtual DtVrfObjectFacadeInterface* facadeForID(makVrv::DtUniqueID);
437 
439  virtual std::vector<makVrv::DtUniqueID> uniqueIdsForTypesThatMatch(const DtEntityType&) const;
440 
445  virtual DtEnvironmentalFacadeCollection* create(const DtVrlinkSimulatedEnvironmentProcessContainer&, int dictionartToUse = -1);
446 
456  virtual DtEnvironmentalFacadeCollection* create(const DtEntityType& t,
457  const std::vector<DtVector>& localPoints,
458  int force,
460  makVrv::DtModelSetId modelSet = makVrv::DtModelSetId::Unspecified, bool keepName = false, int dictionaryToUse = -1);
461 
466  virtual DtEntityFacadeCollection* create(const DtVrlinkSimulatedEntityStateContainer&, const std::string& overlayParent = "",
467  int dictionaryToUse = -1);
468 
478  virtual DtEntityFacadeCollection* create(const DtEntityCreationData&,
479  makVrv::DtModelSetId modelSet = makVrv::DtModelSetId::Unspecified, bool keepName = false, int dictionaryToUse = -1);
480 
482  virtual DtVrfObjectFacadeInterface* createObject(const DtVrfObjectManipulationHandlerBaseClass::ObjectManipulationData&, const bool showInObjectList = false);
483 
485  virtual const makVrv::DtTacticalGraphicOverlay* createOnLayer(const std::string& layerName = "");
486 
488  virtual void completeStateUpdate(DtSimObjectReference, bool forceIfHidden);
489  virtual void slot_objectAdded(DtSimObjectReference);
490 
492  virtual void setVisible(makVrv::DtUniqueID id, bool hide);
493 
495  virtual bool isLocal(makVrv::DtUniqueID id) const;
496 
499  virtual void setEditable(makVrv::DtUniqueID id, bool);
500 
503  virtual bool isEditable(makVrv::DtUniqueID id, const std::string& keywords = "") const;
504 
506  virtual bool isMemberOfLayer(makVrv::DtUniqueID id, const std::string& layername) const;
507 
509  virtual void deleteLocal(makVrv::DtUniqueID id);
510 
512  virtual void deleteAll(std::vector<DtEntityType> except = std::vector<DtEntityType>());
513 
515  virtual void deleteAllFromLayer(const std::string& layername);
516 
522  {
524  : name( 0 )
525  , force( 0 )
526  , overlay( 0 )
527  , userData( 0 )
528  , extendedData( 0 )
529  , extendedLabels( 0 )
530  , newHeading( 0 )
531  , newPitch( 0 )
532  , color( 0 )
533  , appearance( 0 )
534  , label( 0 )
535  , physicalLineHeight( 0 )
536  , physicalLineWidth( 0 )
537  {
538  isGeocentric = false;
539  }
540 
542  : name( &omd.objectName )
543  , force( &omd.force )
544  , overlay( &omd.overlay )
545  , userData( &omd.userData )
546  , extendedData( &omd.extendedData )
547  , extendedLabels( &omd.extendedLabels )
548  , newHeading( &omd.heading )
549  , newPitch( &omd.pitch )
550  , color( 0 )
551  , appearance( 0 )
552  , label( 0 )
553  , physicalLineHeight( 0 )
554  , physicalLineWidth( 0 )
555  {
556  isGeocentric = false;
557  }
558 
559  const std::string* name;
560  std::vector<DtVector> points;
561  const int* force;
562  const std::string* overlay;
563  const std::string* userData;
564  const std::map<std::string, std::string>* extendedData;
565  const std::map<int, DtString>* extendedLabels;
566  const double* newHeading;
567  const double* newPitch;
568  const int* color;
569  const int* appearance;
570  const std::string* label;
571  const float* physicalLineHeight;
572  const float* physicalLineWidth;
574  };
575 
576  virtual void update(makVrv::DtElementID id, const LocalObjectUpdateStructure& updateStructure, bool forceUpdate = true);
577 
579  virtual DtVector getVertexPosition(makVrv::DtElementID parent, makVrv::DtUniqueID vertexId) const;
580 
583  virtual void create(const DtEntityType& t, int force);
584 
586  virtual bool allSelectionIsLocal() const;
587 
589  virtual void setCanCreateLocalObjects(bool);
590 
592  virtual bool canCreateLocalObjects() const;
593 
595  virtual void save(const std::string&);
596 
598  virtual std::string toStringBuffer();
599 
601  virtual bool fromStringBuffer(const std::string&, bool removeAll = true);
602 
604  virtual bool load(const std::string&, bool removeAll = true);
605 
607  virtual int numberOfLocalObjects() const;
608 
611  virtual double groundHeight(const DtVector& lp, makVrv::DtIntersector::IntersectProperties props =
612  makVrv::DtIntersector::SupportNodes, ClampFlag clampFlag = Closest, DtVector* clampedPoint = 0,
613  const std::vector<makVrv::DtUniqueID>& ignore = std::vector<makVrv::DtUniqueID>(), makVrv::DtUniqueID* hitId = 0) const;
614 
618  virtual DtVector clampToGround(const DtVector&, makVrv::DtIntersector::IntersectProperties props =
619  makVrv::DtIntersector::SupportNodes, const std::vector<makVrv::DtUniqueID>& ignore = std::vector<makVrv::DtUniqueID>(),
620  bool useHighestLOD = false, bool ignoreDynamicOcean = false, ClampFlag useHighestPolygon = Closest,
621  makVrv::DtUniqueID* hitId = 0) const;
622 
625  virtual DtGeodeticCoord clampToGround(const DtGeodeticCoord&, makVrv::DtIntersector::IntersectProperties props =
626  makVrv::DtIntersector::SupportNodes, const std::vector<makVrv::DtUniqueID>& ignore = std::vector<makVrv::DtUniqueID>(),
627  bool useHighestLOD = false, bool ignoreDynamicOcean = false, ClampFlag useHighestPolygon = Closest, makVrv::DtUniqueID* hitId = 0) const;
628 
629  virtual std::string generateUniqueName(const std::string& base, bool addNumberToBegin = false) const;
630 
632  virtual void ignoreFromArchive(const DtEntityType&);
633  virtual void removeIgnoreFromArchive(const DtEntityType&);
634 
635  const std::map<DtUUID, DtGuiLocalObject*>& localObjects() const;
636  virtual DtGuiLocalObject* lookup(makVrv::DtUniqueID) const;
637  virtual DtGuiLocalObject* lookup(const DtUUID& id) const;
638 
639  protected:
641  virtual void slot_objectVisibilityChanged( makVrv::DtUniqueID id, bool isShown, int context );
642  virtual void slot_stateDataDeleted(DtGuiLocalObject* lo);
643 
646  virtual void update(DtEntityFacadeCollection*, DtSimObjectReference);
647 
648  virtual void slot_stoppedObjectCreation();
649 
651  virtual bool shouldArchive(const DtGuiLocalObject&) const;
652 
654  virtual void clearingTerrain();
655 
656  public:
661  boost::signals2::signal<void (DtGuiLocalObject*)> signal_localObjectCreated;
662  boost::signals2::signal<void(DtGuiLocalObject*)> signal_localObjectAboutToBeRemoved;
663 
665  boost::signals2::signal<void (bool)> signal_creating;
666 
668  boost::signals2::signal<void (DtVrfObjectFacadeInterface*, const DtEntityType&)> signal_preVisualize;
669 
671  boost::signals2::signal<void (DtVrfObjectFacadeInterface*, const DtGuiSimObject&)> signal_objectCreated;
672 
674  boost::signals2::signal<void (DtVrfObjectFacadeInterface*)> signal_objectAboutToBeDeleted;
675 
677  boost::signals2::signal<void (bool)> signal_loading;
678 
680  boost::signals2::signal<void (makVrv::DtUniqueID)> signal_objectDeleted;
681 
683  boost::signals2::signal<void ()> signal_terrainClearing;
684  boost::signals2::signal<void ()> signal_terrainCleared;
685 
687 
688  protected:
689  friend class boost::serialization::access;
690 
694  template<class Archive>
695  void serialize(Archive & ar, const unsigned int version)
696  {
697  if (Archive::is_loading::value)
698  {
699  read(*(boost::archive::xml_iarchive*)&ar);
700  }
701  else
702  {
703  write(*(boost::archive::xml_oarchive*)&ar);
704  }
705  }
706 
707  virtual void write(boost::archive::xml_oarchive& out);
708  virtual void read(boost::archive::xml_iarchive& in);
709 
710  protected:
712 
714 
716  typedef std::map<makVrv::DtUniqueID, DtVrfObjectFacadeInterface*> LocalObjects;
719 
720  typedef std::map<makVrv::DtUniqueID, std::shared_ptr<DtGuiLocalObject>> LocalStateData;
722 
724 
725  std::vector<DtEntityType> myIgnoreFromArchive;
726 
728  {
730  : myProps(makVrv::DtIntersector::IntersectProperties(0))
731  , myUseHighestLOD(false)
732  , myIgnoreDynamicOcean(false)
733  , myUseHighestPolygon(Closest)
734  , myHitId(0)
735  {
736  }
737 
739  bool useHighestLOD, bool ignoreDynamicOcean, ClampFlag useHighestPolygon, const std::vector<makVrv::DtUniqueID>& ignore)
740  : myCheckPoint(lp)
741  , myProps(props)
742  , myUseHighestLOD(useHighestLOD)
743  , myIgnoreDynamicOcean(ignoreDynamicOcean)
744  , myUseHighestPolygon(useHighestPolygon)
745  , myHitId(0)
746  , myIgnored(ignore)
747  {
748  }
749 
751 
753  {
754  myCheckPoint = orig.myCheckPoint;
755  myProps = orig.myProps;
756  myUseHighestLOD = orig.myUseHighestLOD;
757  myIgnoreDynamicOcean = orig.myIgnoreDynamicOcean;
758  myUseHighestPolygon = orig.myUseHighestPolygon;
759  myCheckPoint = orig.myCheckPoint;
760  myHitId = orig.myHitId;
761  myIgnored = orig.myIgnored;
762 
763  return *this;
764  }
765 
766  bool operator==(const LastCheckedGroundInformation& orig) const
767  {
768  return ((myCheckPoint == orig.myCheckPoint) &&
769  (myProps == orig.myProps) &&
770  (myUseHighestLOD == orig.myUseHighestLOD) &&
771  (myIgnoreDynamicOcean == orig.myIgnoreDynamicOcean) &&
772  (myIgnored == orig.myIgnored) &&
773  (myUseHighestPolygon == orig.myUseHighestPolygon));
774  }
775 
776  DtVector myCheckPoint;
783  std::vector<makVrv::DtUniqueID> myIgnored;
784  };
785 
787  };
788 }
789 
791 
boost::signals2::signal< void(DtVrfObjectFacadeInterface *, const DtGuiSimObject &)> signal_objectCreated
Sent when a local object is created.
Definition: guiLocalObjectManager.h:671
makVrv::DtDe & myDe
Definition: guiLocalObjectManager.h:711
UUID is a unique ID wrapper class.
Definition: uuid.h:59
IntersectProperties
The IntersectProperties enum is a flag set that indicates the types of nodes to be considered for int...
Definition: DtIntersector.h:31
DtTaitBryan * mySource
Definition: guiLocalObjectManager.h:131
makVrv::DtUniqueID myHitId
Definition: guiLocalObjectManager.h:781
class DtEnvironmentalFacadeCollection
Definition: environmentalFacadeCollection.h:76
const LastCheckedGroundInformation & operator=(const LastCheckedGroundInformation &orig)
Definition: guiLocalObjectManager.h:752
Virtual base class. Allows for RTTI and proper virtual destruction. Used by Creators, Factories, Providers, Assemblers and User Interfaces.
Definition: DtVirtualBaseClass.h:19
BOOST_CLASS_VERSION(makArchives::DtDiGuySettingsRecord, 3)
void serialize(Archive &ar, const unsigned int version)
When the class Archive corresponds to an output archive, the &amp; operator is defined similar to &lt;&lt;...
Definition: guiLocalObjectManager.h:76
Definition: environmentalCreationData.h:27
const double * newHeading
Definition: guiLocalObjectManager.h:566
boost::signals2::signal< void(bool)> signal_loading
Signal sent when loading the overlay file. True is before read, false after.
Definition: guiLocalObjectManager.h:677
const std::map< int, DtString > * extendedLabels
Definition: guiLocalObjectManager.h:565
boost::signals2::signal< void(makVrv::DtUniqueID)> signal_objectDeleted
Signal sent after the object has been fully removed.
Definition: guiLocalObjectManager.h:680
void operator=(const DtVector &rhs)
Definition: guiLocalObjectManager.h:63
LocalObjectUpdateStructure()
Definition: guiLocalObjectManager.h:523
void serialize(Archive &ar, const unsigned int version)
When the class Archive corresponds to an output archive, the &amp; operator is defined similar to &lt;&lt;...
Definition: guiLocalObjectManager.h:695
Definition: guiLocalObjectManager.h:101
Definition: guiLocalObjectManager.h:399
makVrv::DtIntersector::IntersectProperties myProps
Definition: guiLocalObjectManager.h:777
DtVector myIntersectionPoint
Definition: guiLocalObjectManager.h:782
Contains makVrv:DtSelectionManager class.
boost::signals2::signal< void(DtGuiLocalObject *)> signal_localObjectAboutToBeRemoved
Signals for local object manager.
Definition: guiLocalObjectManager.h:662
const float * physicalLineHeight
Definition: guiLocalObjectManager.h:571
virtual ~LastCheckedGroundInformation()
Definition: guiLocalObjectManager.h:750
LastCheckedGroundInformation(const DtVector &lp, makVrv::DtIntersector::IntersectProperties props, bool useHighestLOD, bool ignoreDynamicOcean, ClampFlag useHighestPolygon, const std::vector< makVrv::DtUniqueID > &ignore)
Definition: guiLocalObjectManager.h:738
boost::signals2::signal< void()> signal_terrainCleared
Signals for local object manager.
Definition: guiLocalObjectManager.h:684
#define DT_DLL_VRFGUICORE
Contains DLL export macros.
Definition: vrfGuiCore.h:25
bool myUseHighestLOD
Definition: guiLocalObjectManager.h:778
DtSerializableTaitBryan(DtTaitBryan &src)
Definition: guiLocalObjectManager.h:105
DtUniqueID DtElementID
The ElementID is a specific type of unique ID used to represent VR-Vantage uniquely defined elements...
Definition: DtUniqueID.h:23
bool isGeocentric
Definition: guiLocalObjectManager.h:573
Definition: entityCreationData.h:27
LastCheckedGroundInformation()
Definition: guiLocalObjectManager.h:729
void serialize(Archive &ar, const unsigned int version)
When the class Archive corresponds to an output archive, the &amp; operator is defined similar to &lt;&lt;...
Definition: guiLocalObjectManager.h:118
std::map< makVrv::DtUniqueID, DtVrfObjectFacadeInterface * > LocalObjects
Collection of local Facades.
Definition: guiLocalObjectManager.h:716
Definition: guiLocalObjectManager.h:135
DtSerializablePatchIdentifier(DtPatchIdentifier &src)
Definition: guiLocalObjectManager.h:194
DtSerializableStdVector()
Definition: guiLocalObjectManager.h:138
static const DtUUID & nullUUID()
std::vector< DtVector > points
Definition: guiLocalObjectManager.h:560
ClampFlag
Definition: guiLocalObjectManager.h:396
Contains makVrv::DtVirtualBaseClass class.
boost::signals2::signal< void(DtVrfObjectFacadeInterface *, const DtEntityType &)> signal_preVisualize
Sent when a local object is about to be visualized.
Definition: guiLocalObjectManager.h:668
Contains makVrv:DtIntersector class.
const int * color
Definition: guiLocalObjectManager.h:568
DtSerializableVector(DtVector &src)
Definition: guiLocalObjectManager.h:57
boost::signals2::signal< void(bool)> signal_creating
Sent when local object manager starts creating an object.
Definition: guiLocalObjectManager.h:665
Definition: vrfObjectFacadeInterface.h:53
makVrv::DtSignalConnectionManager myConnections
Definition: guiLocalObjectManager.h:718
friend class boost::serialization::access
Definition: guiLocalObjectManager.h:156
const int * appearance
Definition: guiLocalObjectManager.h:569
Holds information about the overlays managed by the Tactical Graphic Overlay Manager.
Definition: DtTacticalGraphicOverlay.h:25
Definition: DtIntersector.h:35
const int * force
Definition: guiLocalObjectManager.h:561
Class to manage disconnection of boost connections on deletion.
Definition: DtSignalConnectionManager.h:20
bool myCanCreateLocalObjects
Definition: guiLocalObjectManager.h:723
const std::string * name
Definition: guiLocalObjectManager.h:559
boost::signals2::signal< void(DtGuiLocalObject *)> signal_localObjectCreated
Signals for local object manager.
Definition: guiLocalObjectManager.h:661
LocalObjectUpdateStructure(const DtVrfObjectManipulationHandlerBaseClass::ObjectManipulationData &omd)
Definition: guiLocalObjectManager.h:541
void serialize(Archive &ar, const unsigned int version)
When the class Archive corresponds to an output archive, the &amp; operator is defined similar to &lt;&lt;...
Definition: guiLocalObjectManager.h:162
std::vector< _SrcType > * mySource
Definition: guiLocalObjectManager.h:184
boost::signals2::signal< void(DtVrfObjectFacadeInterface *)> signal_objectAboutToBeDeleted
Sent when a local object is about to be deleted.
Definition: guiLocalObjectManager.h:674
DtVector * mySource
Definition: guiLocalObjectManager.h:98
DtSerializableVector()
Definition: guiLocalObjectManager.h:56
DtPatchIdentifier * mySource
Definition: guiLocalObjectManager.h:222
bool myIgnoreDynamicOcean
Definition: guiLocalObjectManager.h:779
unsigned long long DtUniqueID
Definition: DtUniqueID.h:19
Definition: guiLocalObject.h:18
std::vector< _Type > myValues
Definition: guiLocalObjectManager.h:185
boost::signals2::signal< void()> signal_terrainClearing
Signals for when the terrainis clearing/cleared.
Definition: guiLocalObjectManager.h:683
DtSerializableStdVector(std::vector< _SrcType > &src)
Definition: guiLocalObjectManager.h:139
Will create entity facades for each realized model set and manage them all.
Definition: entityFacadeCollection.h:67
bool operator==(const LastCheckedGroundInformation &orig) const
Definition: guiLocalObjectManager.h:766
Definition: vrfObjectManipulationHandlerBaseClass.h:503
DtSerializablePatchIdentifier()
Definition: guiLocalObjectManager.h:193
const float * physicalLineWidth
Definition: guiLocalObjectManager.h:572
DtVector myCheckPoint
Definition: guiLocalObjectManager.h:776
Base class to provide boost signal/slot management.
Definition: guiLocalObjectManager.h:52
The DtGuiLocalObjectManager is the interface to be used when creating objects that are not to be publ...
Definition: guiLocalObjectManager.h:393
Call to update state data of specified object and update it so local object will also be changed...
Definition: guiLocalObjectManager.h:521
const std::string * overlay
Definition: guiLocalObjectManager.h:562
const double * newPitch
Definition: guiLocalObjectManager.h:567
Contains makVrv::DtElementAttributes class.
LocalObjects myObjects
Definition: guiLocalObjectManager.h:717
The DtDe is the core component of any VR-Vantage application. It owns a DtRenderer, DtDeCommunicator, as well as a DtDisplay and other things.
Definition: DtDe.h:76
Definition: guiLocalObjectManager.h:400
Definition: guiLocalObjectManager.h:189
const std::string * userData
Definition: guiLocalObjectManager.h:563
std::map< makVrv::DtUniqueID, std::shared_ptr< DtGuiLocalObject > > LocalStateData
Definition: guiLocalObjectManager.h:720
bool myIsCreating
Definition: guiLocalObjectManager.h:713
ClampFlag myUseHighestPolygon
Definition: guiLocalObjectManager.h:780
DtModelSetId
Definition: DtModelSetEnums.h:19
const std::map< std::string, std::string > * extendedData
Definition: guiLocalObjectManager.h:564
std::vector< DtEntityType > myIgnoreFromArchive
Definition: guiLocalObjectManager.h:725
std::set< DtUniqueID > IdSet
Definition: DtSelectionManager.h:32
LastCheckedGroundInformation myLastCheckedGroundInformation
Definition: guiLocalObjectManager.h:786
LocalStateData myData
Definition: guiLocalObjectManager.h:721
void serialize(Archive &ar, const unsigned int version)
When the class Archive corresponds to an output archive, the &amp; operator is defined similar to &lt;&lt;...
Definition: guiLocalObjectManager.h:208
DtSerializableTaitBryan()
Definition: guiLocalObjectManager.h:104
std::vector< makVrv::DtUniqueID > myIgnored
Definition: guiLocalObjectManager.h:783
const std::string * label
Definition: guiLocalObjectManager.h:570

Document ID: Generated on Thu Oct 23 22:29:17 EDT 2025 from SVN revision 280951
Copyright © 2005-2024 MAK Technologies. All Rights Reserved (www.mak.com)