24 #include <vlutil/vlSmartPointers.h>
25 #include <boost/shared_ptr.hpp>
27 #include <boost/archive/xml_iarchive.hpp>
28 #include <boost/archive/xml_oarchive.hpp>
29 #include <boost/serialization/access.hpp>
30 #include <boost/serialization/nvp.hpp>
31 #include <boost/serialization/list.hpp>
32 #include <boost/serialization/map.hpp>
33 #include <boost/serialization/vector.hpp>
34 #include <boost/serialization/string.hpp>
38 #include <matrix/vlVector.h>
45 class DtTacticalGraphicOverlay;
46 struct DtVrlinkSimulatedBaseState;
47 struct DtVrlinkSimulatedEntityState;
54 class DtVrfObjectFacadeInterface;
55 class DtEnvironmentalFacadeCollection;
56 class DtEntityFacadeCollection;
57 struct DtVrlinkSimulatedEnvironmentProcess;
86 virtual bool isCreating()
const;
89 virtual void tacticalGraphicsVertexSelected(
93 virtual void tacticalGraphicsVertexDeselected(
97 virtual void slot_onCurrentSelectionChanged(
105 virtual std::vector<makVrv::DtUniqueID> uniqueIdsForTypesThatMatch(
const DtEntityType&)
const;
123 const std::vector<DtVector>& localPoints,
126 int modelSet = -1,
bool keepName =
false,
int dictionaryToUse = -1);
133 int dictionaryToUse = -1);
145 int modelSet = -1,
bool keepName =
false,
int dictionaryToUse = -1);
167 virtual bool isEditable(
makVrv::DtUniqueID id,
const std::string& keywords =
"")
const;
170 virtual bool isMemberOfLayer(
makVrv::DtUniqueID id,
const std::string& layername)
const;
176 virtual void deleteAll(std::vector<DtEntityType> except = std::vector<DtEntityType>());
179 virtual void deleteAllFromLayer(
const std::string& layername);
188 name(0), force(0), overlay(0), userData(0), extendedData(0), extendedLabels(0), newHeading(0), newPitch(0),
189 color(0), appearance(0), label(0), physicalLineHeight(0), physicalLineWidth(0)
193 const std::string* name;
216 virtual void create(
const DtEntityType& t,
int force);
219 virtual bool allSelectionIsLocal()
const;
222 virtual void setCanCreateLocalObjects(
bool);
225 virtual bool canCreateLocalObjects()
const;
228 virtual void save(
const std::string&);
231 virtual std::string toStringBuffer();
234 virtual bool fromStringBuffer(
const std::string&,
bool removeAll =
true);
237 virtual bool load(
const std::string&,
bool removeAll =
true);
240 virtual int numberOfLocalObjects()
const;
246 const std::vector<makVrv::DtUniqueID>& ignore = std::vector<makVrv::DtUniqueID>(),
makVrv::DtUniqueID* hitId = 0)
const;
253 bool useHighestLOD =
false,
bool ignoreDynamicOcean =
false,
ClampFlag useHighestPolygon = Closest,
260 bool useHighestLOD =
false,
bool ignoreDynamicOcean =
false,
ClampFlag useHighestPolygon = Closest,
makVrv::DtUniqueID* hitId = 0)
const;
262 virtual std::string generateUniqueName(
const std::string& base,
bool addNumberToBegin =
false)
const;
265 virtual void ignoreFromArchive(
const DtEntityType&);
266 virtual void removeIgnoreFromArchive(
const DtEntityType&);
284 virtual void slot_stoppedObjectCreation();
297 boost::signals2::signal<void (DtVrfObjectFacadeInterface*, makVrv::DtVrlinkSimulatedBaseState*)>
signal_objectCreated;
310 friend class boost::serialization::access;
315 template<
class Archive>
316 void serialize(Archive & ar,
const unsigned int version)
318 if (Archive::is_loading::value)
320 read(*(boost::archive::xml_iarchive*)&ar);
324 write(*(boost::archive::xml_oarchive*)&ar);
328 virtual void write(boost::archive::xml_oarchive& out);
329 virtual void read(boost::archive::xml_iarchive& in);
337 typedef std::map<makVrv::DtUniqueID, DtVrfObjectFacadeInterface*>
LocalObjects;
341 typedef std::map<makVrv::DtUniqueID, makVrv::DtVrlinkSimulatedBaseState*>
LocalStateData;
351 : myProps(makVrv::DtIntersector::IntersectProperties(0))
352 , myUseHighestLOD(false)
353 , myIgnoreDynamicOcean(false)
354 , myUseHighestPolygon(Closest)
360 bool useHighestLOD,
bool ignoreDynamicOcean,
ClampFlag useHighestPolygon,
const std::vector<makVrv::DtUniqueID>& ignore)
363 , myUseHighestLOD(useHighestLOD)
364 , myIgnoreDynamicOcean(ignoreDynamicOcean)
365 , myUseHighestPolygon(useHighestPolygon)
426 friend class boost::serialization::access;
431 template<
class Archive>
432 void serialize(Archive & ar,
const unsigned int version)
434 double x = myRep[0], y = myRep[1], z = myRep[2];
436 ar & BOOST_SERIALIZATION_NVP(x);
437 ar & BOOST_SERIALIZATION_NVP(y);
438 ar & BOOST_SERIALIZATION_NVP(z);
440 if (Archive::is_loading::value)
468 friend class boost::serialization::access;
473 template<
class Archive>
474 void serialize(Archive & ar,
const unsigned int version)
476 ar & BOOST_SERIALIZATION_NVP(myPsi);
477 ar & BOOST_SERIALIZATION_NVP(myTheta);
478 ar & BOOST_SERIALIZATION_NVP(myPhi);
480 if (Archive::is_loading::value && mySource)
490 template <
typename _Type,
typename _SrcType>
500 typename std::vector<_SrcType>::const_iterator srcIter = src.begin();
501 typename std::vector<_Type>::iterator tgtIter =
myValues.begin();
503 while (srcIter != src.end())
517 template<
class Archive>
518 void serialize(Archive & ar,
const unsigned int version)
520 ar & BOOST_SERIALIZATION_NVP(
myValues);
522 if (Archive::is_loading::value &&
mySource)
527 typename std::vector<_Type>::const_iterator src =
myValues.begin();
528 typename std::vector<_SrcType>::iterator tgt =
mySource->begin();
549 makVrv::DtVrlinkSimulatedEntityState(orig)
554 friend class boost::serialization::access;
559 template<
class Archive>
560 void serialize(Archive & ar,
const unsigned int version)
562 ar & BOOST_SERIALIZATION_NVP(myGlobalId);
563 ar & BOOST_SERIALIZATION_NVP(myEntityId);
564 ar & BOOST_SERIALIZATION_NVP(myMarkingText);
565 ar & BOOST_SERIALIZATION_NVP(myEntityType);
566 ar & BOOST_SERIALIZATION_NVP(myAttachedToId);
567 ar & BOOST_SERIALIZATION_NVP(myForce);
576 ar & BOOST_SERIALIZATION_NVP(loc);
577 ar & BOOST_SERIALIZATION_NVP(vel);
578 ar & BOOST_SERIALIZATION_NVP(relVel);
579 ar & BOOST_SERIALIZATION_NVP(acc);
580 ar & BOOST_SERIALIZATION_NVP(ori);
581 ar & BOOST_SERIALIZATION_NVP(rotVel);
583 ar & BOOST_SERIALIZATION_NVP(myAppearance);
584 ar & BOOST_SERIALIZATION_NVP(myCapabilities);
585 ar & BOOST_SERIALIZATION_NVP(myDIGuyAppearance);
586 ar & BOOST_SERIALIZATION_NVP(myDIGuyCharacterType);
587 ar & BOOST_SERIALIZATION_NVP(myGuise);
588 ar & BOOST_SERIALIZATION_NVP(myDRAlgorithm);
602 friend class boost::serialization::access;
607 template<
class Archive>
608 void serialize(Archive & ar,
const unsigned int version)
610 ar & BOOST_SERIALIZATION_NVP(myGlobalId);
611 ar & BOOST_SERIALIZATION_NVP(myEntityId);
612 ar & BOOST_SERIALIZATION_NVP(myMarkingText);
613 ar & BOOST_SERIALIZATION_NVP(myEntityType);
614 ar & BOOST_SERIALIZATION_NVP(myAttachedToId);
615 ar & BOOST_SERIALIZATION_NVP(myForce);
619 ar & BOOST_SERIALIZATION_NVP(pts);
621 ar & BOOST_SERIALIZATION_NVP(myUserData);
622 ar & BOOST_SERIALIZATION_NVP(myPenStyle);
623 ar & BOOST_SERIALIZATION_NVP(myFillStyle);
624 ar & BOOST_SERIALIZATION_NVP(myLineWidth);
625 ar & BOOST_SERIALIZATION_NVP(myColor);
626 ar & BOOST_SERIALIZATION_NVP(myLabel);
627 ar & BOOST_SERIALIZATION_NVP(myClosedFigure);
628 ar & BOOST_SERIALIZATION_NVP(myProjected);
629 ar & BOOST_SERIALIZATION_NVP(myAttributes);
630 ar & BOOST_SERIALIZATION_NVP(myOverlayParent);
634 ar & BOOST_SERIALIZATION_NVP(myPhysicalLineHeight);
635 ar & BOOST_SERIALIZATION_NVP(myPhysicalLineWidth);
IntersectProperties
The IntersectProperties enum is a flag set that indicates the.
Definition: DtIntersector.h:135
DtTaitBryan * mySource
Definition: localObjectManager.h:487
LocalStateData myData
Definition: localObjectManager.h:342
Definition: environmentalFacadeCollection.h:66
This is the protocol independent state of an entity.
Definition: DtEntityState.h:30
std::vector< DtEntityType > myIgnoreFromArchive
Definition: localObjectManager.h:346
Virtual base class.
Definition: DtVirtualBaseClass.h:22
void serialize(Archive &ar, const unsigned int version)
When the class Archive corresponds to an output archive, the & operator is defined similar to <<...
Definition: localObjectManager.h:432
Definition: environmentalCreationData.h:27
std::map< makVrv::DtUniqueID, DtVrfObjectFacadeInterface * > LocalObjects
Collection of local Facades.
Definition: localObjectManager.h:337
makVrv::DtDe & myDe
Definition: localObjectManager.h:332
const float * physicalLineHeight
Definition: localObjectManager.h:205
void operator=(const DtVector &rhs)
Definition: localObjectManager.h:420
const std::map< std::string, std::string > * extendedData
Definition: localObjectManager.h:198
Definition: localObjectManager.h:457
boost::signals2::signal< void(bool)> signal_creating
Definition: localObjectManager.h:294
boost::signals2::signal< void(DtVrfObjectFacadeInterface *)> signal_objectAboutToBeDeleted
Sent when a local object is about to be deleted.
Definition: localObjectManager.h:300
boost::signals2::signal< void(makVrv::DtUniqueID)> signal_objectDeleted
Signal sent after the object has been fully removed.
Definition: localObjectManager.h:306
const std::string * label
Definition: localObjectManager.h:204
bool myCanCreateLocalObjects
Definition: localObjectManager.h:344
Contains makVrv:DtSelectionManager class.
Contains makVrv::DtStateView class.
boost::signals2::signal< void(DtVrfObjectFacadeInterface *, makVrv::DtVrlinkSimulatedBaseState *)> signal_objectCreated
Sent when a local object is created.
Definition: localObjectManager.h:297
makVrv::DtSignalConnectionManager myConnections
Definition: localObjectManager.h:339
void serialize(Archive &ar, const unsigned int version)
When the class Archive corresponds to an output archive, the & operator is defined similar to <<...
Definition: localObjectManager.h:608
#define DT_DLL_VRFGUICORE
Contains DLL export macros.
Definition: vrfGuiCore.h:25
DtSerializableTaitBryan(DtTaitBryan &src)
Definition: localObjectManager.h:461
BOOST_CLASS_VERSION(makArchives::DtDiGuySettingsRecord, 2)
DtUniqueID DtElementID
The ElementID is a specific type of unique ID used to represent VR-Vantage uniquely defined elements...
Definition: DtUniqueID.h:26
Definition: entityCreationData.h:27
Call to update state data of specified object and update it so local object will also be changed...
Definition: localObjectManager.h:185
void serialize(Archive &ar, const unsigned int version)
When the class Archive corresponds to an output archive, the & operator is defined similar to <<...
Definition: localObjectManager.h:474
const double * newHeading
Definition: localObjectManager.h:200
const int * force
Definition: localObjectManager.h:195
DtVrlinkSimulatedEntityStateContainer()
Definition: localObjectManager.h:546
const std::map< int, DtString > * extendedLabels
Definition: localObjectManager.h:199
Definition: localObjectManager.h:491
LocalObjects myObjects
Definition: localObjectManager.h:338
LocalObjectUpdateStructure()
Definition: localObjectManager.h:187
void serialize(Archive &ar, const unsigned int version)
When the class Archive corresponds to an output archive, the & operator is defined similar to <<...
Definition: localObjectManager.h:560
DtSerializableStdVector()
Definition: localObjectManager.h:494
DtVrlinkSimulatedEntityStateContainer(const makVrv::DtVrlinkSimulatedEntityState &orig)
Definition: localObjectManager.h:548
std::map< makVrv::DtUniqueID, makVrv::DtVrlinkSimulatedBaseState * > LocalStateData
Definition: localObjectManager.h:341
Contains makVrv::DtVirtualBaseClass class.
Definition: DtEntityState.h:60
Contains makVrv:DtIntersector, makVrv:DtIntersectorLineSegment, and makVrv:DtIntersectorResult classe...
DtSerializableVector(DtVector &src)
Definition: localObjectManager.h:414
Definition: vrfObjectFacadeInterface.h:47
const std::string * userData
Definition: localObjectManager.h:197
friend class boost::serialization::access
Definition: localObjectManager.h:512
Definition: localObjectManager.h:74
Holds information about the overlays managed by the Tactical Graphic Overlay Manager.
Definition: DtTacticalGraphicOverlay.h:28
Definition: DtIntersector.h:139
Definition: localObjectManager.h:544
Class to manage disconnection of boost connections on deletion.
Definition: DtSignalConnectionManager.h:24
Contains makVrv::DtEntityState class.
DtVrlinkSimulatedEnvironmentProcessContainer(const DtVrlinkSimulatedEnvironmentProcess &orig)
Definition: localObjectManager.h:596
void serialize(Archive &ar, const unsigned int version)
When the class Archive corresponds to an output archive, the & operator is defined similar to <<...
Definition: localObjectManager.h:518
std::vector< _SrcType > * mySource
Definition: localObjectManager.h:540
const double * newPitch
Definition: localObjectManager.h:201
DtVector * mySource
Definition: localObjectManager.h:454
DtSerializableVector()
Definition: localObjectManager.h:413
unsigned long long DtUniqueID
Definition: DtUniqueID.h:22
const std::string * overlay
Definition: localObjectManager.h:196
std::vector< _Type > myValues
Definition: localObjectManager.h:541
DtVrlinkSimulatedEnvironmentProcessContainer()
Definition: localObjectManager.h:594
DtSerializableStdVector(std::vector< _SrcType > &src)
Definition: localObjectManager.h:495
Definition: entityFacadeCollection.h:63
Definition: vrfObjectManipulationHandlerBaseClass.h:477
Base class to provide boost signal/slot management.
LastCheckedGroundInformation myLastCheckedGroundInformation
Definition: localObjectManager.h:407
void serialize(Archive &ar, const unsigned int version)
When the class Archive corresponds to an output archive, the & operator is defined similar to <<...
Definition: localObjectManager.h:316
Definition: localObjectManager.h:410
Definition: vrlinkSimulatedEnvironmentProcess.h:110
Definition: localObjectManager.h:592
const int * appearance
Definition: localObjectManager.h:203
Definition: localObjectManager.h:73
Contains makVrv::DtElementAttributes class.
bool myIsCreating
Definition: localObjectManager.h:334
The DtDe is the core component of any VR-Vantage application.
Definition: DtDe.h:69
The DtLocalObjectManager is the interface to be used when creating objects that are not to be publish...
Definition: localObjectManager.h:67
const float * physicalLineWidth
Definition: localObjectManager.h:206
boost::signals2::signal< void(bool)> signal_loading
Signal sent when loading the overlay file. True is before read, false after.
Definition: localObjectManager.h:303
std::set< DtUniqueID > IdSet
Definition: DtSelectionManager.h:32
std::vector< DtVector > points
Definition: localObjectManager.h:194
ClampFlag
Definition: localObjectManager.h:70
const int * color
Definition: localObjectManager.h:202
DtSerializableTaitBryan()
Definition: localObjectManager.h:460
Contains additional type to message encoding functions.