VR-Forces 4.10 Class Documentation
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
vrfObjectManipulationHandlerBaseClass.h
Go to the documentation of this file.
1 /*******************************************************************************
2 ** Copyright (c) 2015 MAK Technologies, Inc.
3 ** All rights reserved.
4 *******************************************************************************/
5 
8 
10 
11 #pragma once
12 
13 #include <vrvUtil/signalslib.h>
14 #include <vrfGuiCore/vrfGuiCore.h>
16 #include <vrvCore/DtEntityState.h>
17 #include <vrvCore/DtUniqueID.h>
20 #include <vlutil/vlPerformanceStats.h>
22 
23 #include <matrix/vlVector.h>
24 #include <matrix/geodeticCoord.h>
25 #include <vlpi/entityType.h>
26 
27 namespace makVrv
28 {
29  class DtDe;
30  class DtChannel;
31  class DtSimObjectEntry;
32 }
33 
34 class DtEntityType;
35 class DtString;
38 class DtModelSetEntry;
39 
40 namespace makVrf
41 {
43  {
44  Mouse = 0,
49  };
50 
52  {
53  Box,
68  User_Base = 100
69  };
70 
72  {
79  };
80 
82 
84 
89  {
90  public:
91  typedef std::vector<DtVrfObjectFacadeInterface*> VrfObjectEditFacadeList;
92  typedef std::map<std::string, DtSimInterfaceContent*> ContentMessages;
93 
94  public:
97 
98  public:
99 
104  virtual bool createObject(const DtEntityType& entType, int force,
105  DtCreationSignalType creationSignal=DtNoCreationSignal, const std::string& keywords = "");
106 
108  virtual bool createObject(const DtString& key, const DtString& associatedData,
109  DtCreationSignalType creationSignal=DtNoCreationSignal, const std::string& keywords = "");
110 
114  virtual void editSelectedObjects( const makVrv::DtUniqueID& editId,
115  makVrv::DtChannel& initiatingChannel, double waitTimeAfterComplete = 0.,
117 
120  virtual bool canSetActivationTime() const;
121 
123  virtual bool canShowForces() const;
124 
126  virtual void setForce(int);
127  int force() const;
128 
130  virtual void monitorObjectRemoval(bool);
131 
133  virtual void setEventProcessingEnabled( bool value );
134 
136  virtual void clearEventProcessor();
137 
139  virtual bool embarkationAllowed() const;
140  virtual void setEmbarkationAllowed(bool);
141 
145  virtual bool canEmbark() const;
146 
148  virtual void setCanEmbark(bool);
149 
151  virtual void setDoNotClamp(bool);
152  bool doNotClamp() const;
153 
155  virtual bool needsEmbarkOnCheck() const;
156 
158  virtual void setIgnoreNextLeftButtonRelease(bool b);
159  virtual void setEditStartedByDoubleClick(bool);
160 
162  virtual void setCreationEndedWithDoubleClick(bool creationEndedWithDoubleClick);
163 
165  virtual bool isCreationEndedWithDoubleClick() const;
166 
169  virtual bool isObjectValidForCreation();
170 
171  virtual makVrv::DtIntersector::IntersectProperties intersectorPickMask() const;
172 
174  virtual DtUUID uuid() const;
175 
178  virtual void setInterfaceContentMessage(const std::string& name, const DtSimInterfaceContent&);
179  virtual void removeInterfaceContentMessage(const std::string&);
181  {
182  return myContentMessages;
183  }
184 
186  virtual HandlerType type() const = 0;
187 
188  virtual std::list<DtSimInterfaceContent*> contentMessagesToList() const;
189 
190  virtual void sendContentMessages();
191 
193  virtual VrfObjectEditFacadeList objectFacades() const;
194 
196  virtual void setAllowCreationOnMouseClick(bool flag);
197 
199  virtual void setLabel(const std::string&);
200  virtual std::string label() const;
201 
203  virtual bool allowCreationOnMouseClick() const;
204 
207  virtual void setEventProcessor(DtVrfObjectManipulationEventProcessor*);
208 
210  virtual DtVector clampToGround(const DtVector&, int clampFlag = -1) const;
211  virtual DtGeodeticCoord clampToGround(const DtGeodeticCoord&, int clampFlag = -1) const;
212 
214  virtual void setAttachObjectToMouse(bool);
215 
217  virtual bool attachObjectToMouse() const;
218 
220  virtual void setHeading(double value);
221  virtual double heading() const;
222 
224  virtual void setPitch(double value);
225  virtual double pitch() const;
226 
228  virtual void setLocation(const DtVector& loc);
229  virtual void setLocation(const DtVector& loc, double altAboveGround);
230 
232  virtual void stop();
233 
235  virtual void deferredStop();
236 
238  virtual int objectCount() const;
239 
241  virtual bool createVrfObject();
242  virtual bool createVrfObject(DtVrfObjectFacadeInterface* objectImage);
243 
245  virtual bool modifyVrfObjects();
246  virtual bool modifyVrfObject(DtVrfObjectFacadeInterface* objectImage);
247 
250  virtual DtVrfObjectFacadeInterface* createAndAddLocalRepresentation(DtVrlinkSimulatedBaseStateView* editStateView = 0);
251  virtual DtVrfObjectFacadeInterface* createLocalRepresentation(DtVrlinkSimulatedBaseStateView* editStateView = 0) = 0;
252 
254  virtual DtVrfObjectFacadeInterface* createAndAddLocalRepresentation(DtVrlinkSimulatedBaseStateView* editStateView,
255  makVrv::DtUniqueID sceneObjectId, DtVrlinkSimulatedBaseStateView* principalStateView);
256  virtual DtVrfObjectFacadeInterface* createLocalRepresentation(DtVrlinkSimulatedBaseStateView* editStateView,
257  makVrv::DtUniqueID sceneObjectId, DtVrlinkSimulatedBaseStateView* principalStateView) = 0;
258 
260  virtual void initializeEventProcessor();
261 
263  virtual void setOverlay(const std::string& name);
264  virtual std::string overlay() const;
265  virtual std::string defaultOverlayForCreatingObject() const;
266 
268  virtual std::string getNextCreatingName(bool includeCurrent = false);
269 
271  virtual void setAltitudeAboveGL( double alt, bool setInProcessor = true );
272 
274  virtual void setAltitudeAboveGLForAll( double alt, bool setInProcessor = true );
275 
277  virtual void setAltitudeAboveSL( double alt, bool setInProcessor = true );
278 
280  virtual void setAltitudeAboveSLForAll( double alt, bool setInProcessor = true );
281 
283  virtual bool hasObjectFacade(makVrv::DtUniqueID) const;
284 
285  virtual void setAltitudeClampType( DtAltitudeClampType type );
287  {
288  return myAltitudeClampType;
289  }
290 
291  virtual void setCreating(bool b);
292 
293  bool creating() const
294  {
295  return myCreating;
296  }
297 
298  virtual DtVrfObjectFacadeInterface* principalObjectImage() const;
299  virtual makVrv::DtUniqueID principalObjectID() const;
300  virtual std::set<makVrv::DtUniqueID> elementIDs() const;
301 
302  virtual void setUserData(const std::string& userData);
303  virtual const std::string& userData() const;
304 
305  virtual void setExtendedLabels(const std::map<int, DtString>&);
306  virtual const std::map<int, DtString>& extendedLabels() const;
307 
308  virtual void setExtendedDataMap(const std::map<std::string, std::string>& extendedData);
309  virtual void setExtendedDataMap(const std::map<DtString, DtString>& extendedData);
310  virtual const std::map<std::string, std::string>& extendedDataMap() const;
311  virtual void setExtendedData(const std::string& key, const std::string& value);
312  virtual void removeExtendedData(const std::string& key);
313  virtual std::string extendedData(const std::string& key) const;
314 
315  virtual void slot_onComplete();
316  virtual void slot_onPlace(makVrv::DtUniqueID, const DtVector&, double altAboveGround);
317  virtual void slot_onEditComplete(makVrv::DtUniqueID, const DtVector&, double altAboveGround);
318  virtual void slot_onLocationChanged( const DtVector& location, double altAboveGround );
319  virtual void slot_onAltitudeIsDragging(bool);
320 
321  virtual void hideObject( const makVrv::DtUniqueID& id, bool hide );
322 
324  virtual void setPublishObject(bool);
325  virtual bool publishObject() const;
326 
328  virtual void setObjectName(const std::string& name);
329 
331  virtual void setUUIDForCreation(const DtUUID&);
332  virtual const DtUUID& uuidForCreation() const;
333 
335  virtual bool isUniqueName() const;
336 
340  virtual double groundHeight( const DtVector& localPosition, DtVector* localGround = 0,
341  const std::vector<makVrv::DtUniqueID>& ignore = std::vector<makVrv::DtUniqueID>()) const;
342 
343  virtual void setAltitudeAllowed(bool);
344  bool altitudeAllowed() const;
345 
347  bool pitchAllowed() const;
348 
349  virtual const std::string& objectName() const;
350 
353  virtual bool anchorMouseToOrigin() const;
354 
356  virtual bool anchorPositionIsMouse() const;
357 
359  virtual void setAnchorPosition(const DtGeodeticCoord&);
360 
362  virtual DtVector localLocation();
363 
364  virtual DtVector convertGeocentricToGround(const DtVector& geoc, double& altitude) const;
365 
366  virtual void setShowPropertiesDialogBeforeCreate(bool);
367  virtual bool showPropertiesDialogBeforeCreate() const;
368 
370  virtual bool keywordsContain(const std::string&) const;
371  virtual std::string keyword(const std::string&) const;
372  virtual std::string value(const std::string&) const;
373  virtual void addKeyword(const std::string&);
374  virtual void removeKeyword(const std::string&);
375 
376  virtual bool waitingToStop() const;
377 
378  virtual void setEditingType(DtEditingType);
380  {
381  return myEditingType;
382  }
383 
386  virtual void setEmbarkationInformation(makVrv::DtUniqueID, bool);
387  virtual makVrv::DtUniqueID embarkedOn() const;
388 
390  virtual std::vector<makVrv::DtElementID> ignoreList() const;
391 
394  virtual void setOverrideIdsToIgnore(const std::vector<makVrv::DtUniqueID>& overrideIgnore);
395 
397  virtual const std::vector<makVrv::DtElementID>& unifiedIgnoreList() const;
398 
399  virtual void slot_onAltitudeChanged(const DtVector&, double);
400 
402  virtual void cancel();
403 
405  virtual void setFacadesVisible(bool);
406 
408  virtual bool noStyle() const;
409 
410  virtual void slot_onHeadingChanged( double heading );
411  virtual void slot_onPitchChanged( double heading );
412 
414  virtual void setHeadingOffset(double d);
415 
417  virtual void setPitchOffset(double d);
418 
420  virtual void disconnectPlacement();
421 
424  virtual void setGroundClampOnPlacement(bool);
425  virtual bool groundClampOnPlacement() const;
426 
428  virtual void notifyOnFinalFacade(DtVrfObjectManipulationHandlerBaseClass*);
429  virtual void removeNotifyOnFinalFacade(DtVrfObjectManipulationHandlerBaseClass*);
430 
432  virtual void connectPlacement();
433 
435  virtual DtVector centerOfMass() const;
436 
439  virtual DtVector sumOfAllLocations() const;
440 
442  virtual void updateOffsetsBasedOnMousePosition(const DtVector& centerOfMass, const DtGeodeticCoord&,
443  bool usImagePoints = false);
444 
446  virtual void setSignalOnMultiSelectionComplete(bool);
447 
449  virtual void setKeywords(const std::string&);
450 
453  virtual void setSelectionCount(int);
455  virtual void parseKeywords(const std::string&);
456 
457  virtual bool warpMouseToOrigin() const;
458  virtual void setWarpMouseToOrigin(bool);
459 
461  boost::signals2::signal<void (bool)> signal_embarkationAllowedChanged;
462 
467  boost::signals2::signal<void (bool)> signal_showPropertiesDialog;
468 
470  boost::signals2::signal<void (bool)> signal_attachObjectToMouse;
471 
473  boost::signals2::signal<void (DtVrfObjectFacadeInterface*, DtVrlinkSimulatedBaseStateView* editStateView)> signal_preVisualization;
474 
477  boost::signals2::signal<void (DtVrfObjectFacadeInterface*, bool)> signal_objectFacadeCreated;
478 
480  boost::signals2::signal<void (const DtEntityType&, int)> signal_started;
481 
483  boost::signals2::signal<void (DtVrfObjectManipulationHandlerBaseClass*)> signal_multiSelectonCreationComplete;
484 
486  {
487  ObjectManipulationData() : myOwnsContentMessages(false), color(0), appearance(0), projected(false),
488  physicalLineHeight(0.), physicalLineWidth(0.), isClosedFigure(false) , isProjected(false), embarkId(0), useSlotIfAvailable(false), initialUUID(DtUUID::nullUUID()) {};
489 
491  entityType(omd.entityType)
492  , createdEntityType(omd.createdEntityType)
493  , objectName(omd.objectName)
494  , force(omd.force)
495  , positions(omd.positions)
496  , heading(omd.heading)
497  , pitch(omd.pitch)
498  , isProjected(omd.isProjected)
499  , isClosedFigure(omd.isClosedFigure)
500  , clamped(omd.clamped)
501  , isAggregated(omd.isAggregated)
502  , userData(omd.userData)
503  , isPublished(omd.isPublished)
504  , extendedData(omd.extendedData)
505  , extendedLabels(omd.extendedLabels)
506  , myOwnsContentMessages(true)
507  , color(omd.color)
508  , appearance(omd.appearance)
509  , overlay(omd.overlay)
510  , projected(omd.projected)
511  , physicalLineHeight(omd.physicalLineHeight)
512  , physicalLineWidth(omd.physicalLineWidth)
513  , embarkId(omd.embarkId)
514  , useSlotIfAvailable(omd.useSlotIfAvailable)
515  , initialUUID(omd.initialUUID)
516  {
517  setContentMessages(omd.myContentMessages);
518  }
519 
521  {
522  if (myOwnsContentMessages)
523  {
524  deleteContentMessages();
525  }
526  }
527 
529  {
530  std::list<DtSimInterfaceContent*>::iterator iter = myContentMessages.begin();
531  while (iter != myContentMessages.end())
532  {
533  delete *iter;
534  ++iter;
535  }
536 
537  myContentMessages.clear();
538  myOwnsContentMessages = false;
539  }
540 
541  void setContentMessages(const ContentMessages& messages)
542  {
543  if (myOwnsContentMessages)
544  {
545  deleteContentMessages();
546  }
547 
548  ContentMessages::const_iterator iter = messages.begin();
549  while (iter != messages.end())
550  {
551  myContentMessages.push_back(iter->second->clone());
552  ++iter;
553  }
554  }
555 
556  void setContentMessages(const std::list<DtSimInterfaceContent*>& messages)
557  {
558  if (myOwnsContentMessages)
559  {
560  deleteContentMessages();
561  }
562 
563  std::list<DtSimInterfaceContent*>::const_iterator iter = messages.begin();
564  while (iter != messages.end())
565  {
566  myContentMessages.push_back((*iter)->clone());
567  ++iter;
568  }
569  }
570 
572  {
573  myContentMessages.push_back(message.clone());
574  }
575 
577  DtEntityType entityType;
578  DtEntityType createdEntityType;
579  std::string objectName;
580  int force;
581  std::vector<DtVector> positions;
582  double heading;
583  double pitch;
584  bool clamped;
587  std::string userData;
589  unsigned int color;
590  unsigned int appearance;
591  bool projected;
595  std::map<std::string, std::string> extendedData;
596  std::map<int, DtString> extendedLabels;
597  std::list<DtSimInterfaceContent*> myContentMessages;
599  std::string overlay;
603  };
604 
606  boost::signals2::signal<void (bool)> signal_altitudeAllowedChanged;
607 
609  boost::signals2::signal<void ( const ObjectManipulationData& )> signal_createObject;
610 
612  boost::signals2::signal<void (const DtString&, const DtString&)> signal_createTerrainProp;
613 
615  boost::signals2::signal<void (DtVrfObjectManipulationHandlerBaseClass*)> signal_stopped;
616 
618  boost::signals2::signal<void (DtVrfObjectManipulationHandlerBaseClass*)> signal_eventProcessorRemoved;
619 
621  boost::signals2::signal<void (DtVrfObjectManipulationHandlerBaseClass*)> signal_complete;
622 
624  boost::signals2::signal<void (const DtVector& )> signal_locationChanged;
625 
627  boost::signals2::signal<void (double)> signal_headingChanged;
628 
630  boost::signals2::signal<void (double)> signal_pitchChanged;
631 
633  boost::signals2::signal<void (double)> signal_altitudeChanged;
634 
636  boost::signals2::signal<void (const DtVector&)> signal_placement;
637 
640  boost::signals2::signal<void (DtVrfObjectManipulationHandlerBaseClass*)> signal_restoreSelectionState;
641 
643  boost::signals2::signal<void (const makVrv::DtUniqueID&)> signal_principalStateViewUpdated;
644 
646  boost::signals2::signal<void (DtVrfObjectFacadeInterface*)> signal_objectFacadeAboutToBeRemoved;
647 
649  boost::signals2::signal<void (int)> signal_forceChanged;
650 
651  protected:
652  virtual void clearConnections();
653 
655  virtual void slot_simObjectEntryToBeRemoved(const makVrv::DtSimObjectEntry&);
656 
658  virtual bool typeIsValidForEditingByHandler(const makVrv::DtElementEntry::ElementType&, const DtEntityType&) const;
659 
660  virtual void slot_onCancel(bool escPressed);
661 
662  virtual std::string stripNumbers(const std::string& base) const;
663 
664  virtual double defaultAltitudeOffsetFor(DtVrfObjectFacadeInterface* i) const;
665 
666  virtual void warpMouseToLocation( makVrv::DtChannel* channel, const DtVector& location ) const ;
667 
670  virtual void initializeEdit();
671 
672  virtual void slot_onPrincipalStateViewUpdated(DtVrlinkSimulatedBaseStateView* principalStateView,
673  const makVrv::DtUniqueID& principalSceneObjectId );
674 
675  virtual void slot_onStateViewUpdated( DtVrlinkSimulatedBaseStateView* editStateView, makVrv::DtUniqueID sceneObjectId,
676  DtVrlinkSimulatedBaseStateView* principalStateView);
677 
679  virtual void initializeLocationChangeConnections();
680 
683  virtual bool centerOn(const makVrv::DtUniqueID& id, DtVector* centerPos = 0, const DtVector* centerHere = 0,
684  bool centerOnOnlyIfMousePositionIsOffWindow = true) const;
685 
686  virtual void setObjectImageAsAnchor(DtVrfObjectFacadeInterface* objectImage, const DtVector& geocLocation,
687  bool resetOrigin = false);
688 
689  virtual void setHeading(DtVrfObjectFacadeInterface* objectImage, double heading);
690  virtual void setPitch(DtVrfObjectFacadeInterface* objectImage, double heading);
691  virtual std::string defaultOverlayFor(const DtRwNLengthStringVector&) const;
692  virtual std::string defaultOverlayFor(const DtModelSetEntry* e) const;
693 
694  virtual bool continueWithHandlerCancelOnLastObjectRemoval();
695  virtual bool isOkToStopEditing();
696  virtual void handlerDisabled();
697 
698  virtual void setObjectImageRelativeToPrincipal(DtVrfObjectFacadeInterface* objectImage,
699  const DtVector& thisGeocLocation, const DtTaitBryan& thisGeocOrientation,
700  const DtVector& prGeocLocation, const DtTaitBryan& prGeocOrientation);
701 
703  virtual void setObjectImageRelativeTo(DtVrfObjectFacadeInterface* objectImage,
704  const DtVector& thisGeocLocation, const DtVector& prGeocLocation, bool relativeOnly = false);
705 
707  virtual void setObjectImageRelativeToAltitudeOnly(DtVrfObjectFacadeInterface* objectImage,
708  const DtVector& thisGeocLocation, const DtVector& prGeocLocation);
709 
710  virtual void initializeInterfaceForEdit(DtVrfObjectFacadeInterface*, makVrv::DtUniqueID,
711  const makVrv::DtVrlinkSimulatedBaseState&, const DtVector& principalLocation, const DtTaitBryan& principalOrientation);
712  virtual void calculateAnchor(const DtVector& localAnchor);
713  virtual void calculateAnchorBasedOnMousePosition(makVrv::DtChannel& channel);
714 
715  virtual void initializeAltitudeAboveTerrainForEdit(double curAlt, const DtVector& curPos,
717 
718  virtual void postCreateInitialize(DtVrfObjectFacadeInterface*);
719 
721  virtual bool clampOnPlacement() const;
722 
724  virtual bool clampAtClosestPolygonOnPlacement() const;
725 
727  virtual void updateOffsetsBasedOnMousePosition();
728 
729  virtual bool setupIgnoreLists();
730 
731  virtual void removeObjectBecauseOfDeletion(DtVrfObjectFacadeInterface*);
732 
734  virtual void slot_elementsCreated(const std::vector<makVrv::DtElementID>&);
735 
736  protected:
739  int myForce;
743  std::string myObjectName;
744  std::string myOverlay;
745 
752 
753  std::string myUserData;
754  std::map<std::string, std::string> myExtendedData;
755  std::map<int, DtString> myExtendedLabels;
756 
757  std::string myKey;
758  std::string myKeyData;
760 
762 
764 
765  boost::signals2::connection myObjectRemovalConnection;
766 
768  DtReferenceEllipsoid* myReferenceForConversion;
770 
774  DtGeodeticCoord myAnchorPosition;
775  DtTimedSection* myDeferredStopTimer;
779 
781  std::vector<std::string> myKeywords;
782 
786 
789 
792 
794 
795  typedef std::map<DtVrlinkSimulatedBaseStateView*, makVrv::DtSignalConnectionManager*> StateViewConnections;
802 
805 
806  mutable bool myCheckedEmbark;
807  mutable bool myCanEmbark;
809 
810  mutable std::vector<makVrv::DtElementID> myUnifiedIgnoreList;
811  mutable std::set<makVrv::DtUniqueID> myDIGuyIdsIgnored;
812  mutable std::vector<makVrv::DtUniqueID> myModelIds;
813 
814  std::vector<makVrv::DtElementID> myOverrideIdsToIgnore;
815  std::vector<DtVrfObjectManipulationHandlerBaseClass*> myNotifyOnFinalFacade;
816 
818  };
819 
821  {
822  public:
823  virtual DtVrfObjectManipulationHandlerBaseClass* create() const = 0;
824  };
825 
826  template <typename T>
828  {
829  public:
831  : myDe(de)
832  {
833  }
834 
836  {
837  }
838 
840  {
841  return new T(myDe);
842  }
843 
844  protected:
846  };
847 
848 }
Definition: vrfObjectManipulationHandlerBaseClass.h:60
UUID is a unique ID wrapper class.
Definition: rwUUID.h:222
bool myPublishObject
Definition: vrfObjectManipulationHandlerBaseClass.h:780
IntersectProperties
The IntersectProperties enum is a flag set that indicates the.
Definition: DtIntersector.h:135
Equivalent to context except when determining anchor position. Anchor position will be the principal ...
Definition: vrfObjectManipulationHandlerBaseClass.h:48
boost::signals2::signal< void(DtVrfObjectFacadeInterface *)> signal_objectFacadeAboutToBeRemoved
Sent when object facade interface is about to be removed.
Definition: vrfObjectManipulationHandlerBaseClass.h:646
boost::signals2::signal< void(DtVrfObjectManipulationHandlerBaseClass *)> signal_restoreSelectionState
Sent when the handler has been notified that its attribute changes (show) requests have been made...
Definition: vrfObjectManipulationHandlerBaseClass.h:640
Manage the tick and mouse events when editing or placing a Vrf object.
Definition: vrfObjectManipulationEventProcessor.h:35
Definition: vrfObjectManipulationHandlerBaseClass.h:54
double myDeferStopFor
Definition: vrfObjectManipulationHandlerBaseClass.h:777
std::map< std::string, std::string > extendedData
Definition: vrfObjectManipulationHandlerBaseClass.h:595
Definition: vrfObjectManipulationHandlerBaseClass.h:45
int mySelectionCount
Definition: vrfObjectManipulationHandlerBaseClass.h:790
virtual ~ObjectManipulationData()
Definition: vrfObjectManipulationHandlerBaseClass.h:520
boost::signals2::signal< void(DtVrfObjectManipulationHandlerBaseClass *)> signal_multiSelectonCreationComplete
If flag is set to signal this, signals when the creation of all objects for a multi-select is complet...
Definition: vrfObjectManipulationHandlerBaseClass.h:483
boost::signals2::signal< void(DtVrfObjectManipulationHandlerBaseClass *)> signal_stopped
Sent when entity creation has stopped.
Definition: vrfObjectManipulationHandlerBaseClass.h:615
bool myOwnsEventProcessor
Definition: vrfObjectManipulationHandlerBaseClass.h:747
bool myOverlayHasBeenSet
Definition: vrfObjectManipulationHandlerBaseClass.h:803
virtual DtVrfObjectManipulationHandlerBaseClass * create() const =0
Definition: vrfObjectManipulationHandlerBaseClass.h:61
DtReferenceEllipsoid * myReferenceForConversion
Definition: vrfObjectManipulationHandlerBaseClass.h:768
bool myGroundClampOnPlacement
Definition: vrfObjectManipulationHandlerBaseClass.h:778
DtVrfObjectManipulationEventProcessor * myEventProcessor
Definition: vrfObjectManipulationHandlerBaseClass.h:746
boost::signals2::signal< void(DtVrfObjectFacadeInterface *, bool)> signal_objectFacadeCreated
signal sent after the facade is created.
Definition: vrfObjectManipulationHandlerBaseClass.h:477
std::vector< makVrv::DtElementID > myOverrideIdsToIgnore
Definition: vrfObjectManipulationHandlerBaseClass.h:814
DtRwNLengthStringVector is a named, readable/writable vector of strings of arbitrary length...
Definition: rwNLengthStringVector.h:28
std::vector< DtVector > positions
Definition: vrfObjectManipulationHandlerBaseClass.h:581
DtEntityType entityType
If you want content messages cloned and deleted use the set command.
Definition: vrfObjectManipulationHandlerBaseClass.h:577
Definition: vrfObjectManipulationHandlerBaseClass.h:56
std::string overlay
Definition: vrfObjectManipulationHandlerBaseClass.h:599
bool myMultiSelection
Definition: vrfObjectManipulationHandlerBaseClass.h:791
bool myShowPropertiesDialogBeforeCreate
Definition: vrfObjectManipulationHandlerBaseClass.h:773
DtVrfObjectManipulationHandlerCreator(makVrv::DtDe &de)
Definition: vrfObjectManipulationHandlerBaseClass.h:830
boost::signals2::signal< void(DtVrfObjectManipulationHandlerBaseClass *)> signal_eventProcessorRemoved
Sent when the event processor has been destroyed.
Definition: vrfObjectManipulationHandlerBaseClass.h:618
bool isAggregated
Definition: vrfObjectManipulationHandlerBaseClass.h:586
boost::signals2::signal< void(double)> signal_headingChanged
signal sent when the mouse changes the orientation of an object during creation/editing ...
Definition: vrfObjectManipulationHandlerBaseClass.h:627
std::map< DtVrlinkSimulatedBaseStateView *, makVrv::DtSignalConnectionManager * > StateViewConnections
Definition: vrfObjectManipulationHandlerBaseClass.h:795
bool myDoNotClamp
Definition: vrfObjectManipulationHandlerBaseClass.h:808
Contains makVrv:DtSelectionManager class.
Definition: vrfObjectManipulationHandlerBaseClass.h:75
Definition: vrfObjectManipulationHandlerBaseClass.h:76
boost::signals2::signal< void(DtVrfObjectFacadeInterface *, DtVrlinkSimulatedBaseStateView *editStateView)> signal_preVisualization
Signal sent before any visualizers are created on the interface.
Definition: vrfObjectManipulationHandlerBaseClass.h:473
boost::signals2::signal< void(double)> signal_pitchChanged
signal sent when the mouse changes the pitch of an object during creation/editing ...
Definition: vrfObjectManipulationHandlerBaseClass.h:630
bool myEmbarkInSlotIfAvailable
Definition: vrfObjectManipulationHandlerBaseClass.h:801
Definition: vrfObjectManipulationHandlerBaseClass.h:63
bool isProjected
Definition: vrfObjectManipulationHandlerBaseClass.h:585
DtEditingType
Definition: vrfObjectManipulationHandlerBaseClass.h:42
Definition: vrfObjectManipulationHandlerBaseClass.h:74
std::map< int, DtString > extendedLabels
Definition: vrfObjectManipulationHandlerBaseClass.h:596
Definition: vrfObjectManipulationHandlerBaseClass.h:57
void deleteContentMessages()
Definition: vrfObjectManipulationHandlerBaseClass.h:528
std::vector< makVrv::DtUniqueID > myModelIds
Definition: vrfObjectManipulationHandlerBaseClass.h:812
int myForce
Definition: vrfObjectManipulationHandlerBaseClass.h:739
std::string userData
Definition: vrfObjectManipulationHandlerBaseClass.h:587
std::vector< makVrv::DtElementID > myUnifiedIgnoreList
Definition: vrfObjectManipulationHandlerBaseClass.h:810
bool isPublished
Definition: vrfObjectManipulationHandlerBaseClass.h:588
double heading
Definition: vrfObjectManipulationHandlerBaseClass.h:582
#define DT_DLL_VRFGUICORE
Contains DLL export macros.
Definition: vrfGuiCore.h:25
VrfObjectEditFacadeList myObjectImages
Definition: vrfObjectManipulationHandlerBaseClass.h:767
bool myWarpMouseToOrigin
Definition: vrfObjectManipulationHandlerBaseClass.h:804
double physicalLineWidth
Definition: vrfObjectManipulationHandlerBaseClass.h:593
std::string myOverlay
Definition: vrfObjectManipulationHandlerBaseClass.h:744
makVrv::DtDe & myDe
Definition: vrfObjectManipulationHandlerBaseClass.h:845
std::map< int, DtString > myExtendedLabels
Definition: vrfObjectManipulationHandlerBaseClass.h:755
boost::signals2::signal< void(const DtVector &)> signal_placement
signal sent when the left mouse is pressed during creation/editing
Definition: vrfObjectManipulationHandlerBaseClass.h:636
double physicalLineHeight
Definition: vrfObjectManipulationHandlerBaseClass.h:592
Definition: vrfObjectManipulationHandlerBaseClass.h:47
std::map< std::string, DtSimInterfaceContent * > ContentMessages
Definition: vrfObjectManipulationHandlerBaseClass.h:92
boost::signals2::signal< void(bool)> signal_showPropertiesDialog
There are some instances where a handler does not want to finish up when creating.
Definition: vrfObjectManipulationHandlerBaseClass.h:467
makVrv::DtSignalConnectionManager myCreateConnections
Definition: vrfObjectManipulationHandlerBaseClass.h:799
DtGeodeticCoord myAnchorPosition
Definition: vrfObjectManipulationHandlerBaseClass.h:774
Definition: vrfObjectManipulationHandlerBaseClass.h:46
The abstract Channel Class.
Definition: DtChannel.h:30
Description: A model is a set of items that defines a model to create in the back-end from the front-...
Definition: modelSetEntry.h:24
std::string myKeyData
Definition: vrfObjectManipulationHandlerBaseClass.h:758
double myTotalTimeElapsed
Definition: vrfObjectManipulationHandlerBaseClass.h:776
std::string myObjectName
Definition: vrfObjectManipulationHandlerBaseClass.h:743
boost::signals2::signal< void(double)> signal_altitudeChanged
signal sent when the mouse changes the altitude of an object during creation/editing ...
Definition: vrfObjectManipulationHandlerBaseClass.h:633
DtUUID myUUIDForCreation
Definition: vrfObjectManipulationHandlerBaseClass.h:793
bool projected
Definition: vrfObjectManipulationHandlerBaseClass.h:591
DtAltitudeClampType altitudeClampType() const
Definition: vrfObjectManipulationHandlerBaseClass.h:286
A DtSimObjectEntry is an entry for a persistent simulation object like an entity. ...
Definition: DtSimObjectEntry.h:22
Definition: vrfObjectFacadeInterface.h:47
Definition: vrfObjectManipulationHandlerBaseClass.h:73
Definition: vrfObjectManipulationHandlerBaseClass.h:44
boost::signals2::signal< void(bool)> signal_embarkationAllowedChanged
Signal emitted when the embarkation allowed state changes.
Definition: vrfObjectManipulationHandlerBaseClass.h:461
std::string objectName
In the case where the entity type is an object that has randomized elements, this is the entity type ...
Definition: vrfObjectManipulationHandlerBaseClass.h:579
unsigned int color
Definition: vrfObjectManipulationHandlerBaseClass.h:589
DtAltitudeClampType myAltitudeClampType
Definition: vrfObjectManipulationHandlerBaseClass.h:769
boost::signals2::signal< void(bool)> signal_attachObjectToMouse
Signal sent when attached object to mouse changes.
Definition: vrfObjectManipulationHandlerBaseClass.h:470
int force
Definition: vrfObjectManipulationHandlerBaseClass.h:580
Definition: vrfObjectManipulationHandlerBaseClass.h:88
makVrv::DtStateView< makVrv::DtVrlinkSimulatedBaseState > DtVrlinkSimulatedBaseStateView
Definition: vrfObjectManipulationHandlerBaseClass.h:81
bool myAltitudeIsDragging
Definition: vrfObjectManipulationHandlerBaseClass.h:748
Class to manage disconnection of boost connections on deletion.
Definition: DtSignalConnectionManager.h:20
Definition: vrfObjectManipulationHandlerBaseClass.h:77
Definition: vrfObjectManipulationHandlerBaseClass.h:59
bool clamped
Definition: vrfObjectManipulationHandlerBaseClass.h:584
HandlerType
Definition: vrfObjectManipulationHandlerBaseClass.h:51
Contains makVrv::DtEntityState class.
boost::signals2::signal< void(const DtString &, const DtString &)> signal_createTerrainProp
signal sent when prop wants to be created
Definition: vrfObjectManipulationHandlerBaseClass.h:612
bool myCreationEndedWithDoubleClick
Definition: vrfObjectManipulationHandlerBaseClass.h:817
makVrv::DtSelectionManager::IdSet myEditingObjects
Definition: vrfObjectManipulationHandlerBaseClass.h:763
bool myCheckedEmbark
Definition: vrfObjectManipulationHandlerBaseClass.h:806
bool creating() const
Definition: vrfObjectManipulationHandlerBaseClass.h:293
Definition: vrfObjectManipulationHandlerBaseClass.h:62
ElementType
Definition: DtElementEntry.h:26
makVrv::DtUniqueID myEmbarkOnId
Definition: vrfObjectManipulationHandlerBaseClass.h:800
void addContentMessage(const DtSimInterfaceContent &message)
Definition: vrfObjectManipulationHandlerBaseClass.h:571
Definition: vrfObjectManipulationHandlerBaseClass.h:820
DtTimedSection * myDeferredStopTimer
Definition: vrfObjectManipulationHandlerBaseClass.h:775
boost::signals2::signal< void(const makVrv::DtUniqueID &)> signal_principalStateViewUpdated
Sent when principal state view is updated for editing.
Definition: vrfObjectManipulationHandlerBaseClass.h:643
boost::signals2::signal< void(DtVrfObjectManipulationHandlerBaseClass *)> signal_complete
Sent when entity creation has completed (right-click)
Definition: vrfObjectManipulationHandlerBaseClass.h:621
unsigned long long DtUniqueID
Definition: DtUniqueID.h:19
ContentMessages myContentMessages
Definition: vrfObjectManipulationHandlerBaseClass.h:787
StateViewConnections myStateViewConnections
Definition: vrfObjectManipulationHandlerBaseClass.h:796
std::vector< std::string > myKeywords
Definition: vrfObjectManipulationHandlerBaseClass.h:781
boost::signals2::signal< void(int)> signal_forceChanged
Sent when force changed.
Definition: vrfObjectManipulationHandlerBaseClass.h:649
boost::signals2::connection myObjectRemovalConnection
Definition: vrfObjectManipulationHandlerBaseClass.h:765
std::set< makVrv::DtUniqueID > myDIGuyIdsIgnored
Definition: vrfObjectManipulationHandlerBaseClass.h:811
bool myAltitudeAllowed
Definition: vrfObjectManipulationHandlerBaseClass.h:749
Definition: vrfObjectManipulationHandlerBaseClass.h:485
makVrv::DtDe & myDe
Definition: vrfObjectManipulationHandlerBaseClass.h:740
makVrv::DtChannel * myHiddenChannel
Definition: vrfObjectManipulationHandlerBaseClass.h:751
virtual DtVrfObjectManipulationHandlerBaseClass * create() const
Definition: vrfObjectManipulationHandlerBaseClass.h:839
double pitch
Definition: vrfObjectManipulationHandlerBaseClass.h:583
Definition: vrfObjectManipulationHandlerBaseClass.h:58
Definition: vrfObjectManipulationHandlerBaseClass.h:66
bool myAllowCreationOnClick
Definition: vrfObjectManipulationHandlerBaseClass.h:742
Base class to provide boost signal/slot management.
bool myIgnoreFirstMouseClick
Definition: vrfObjectManipulationHandlerBaseClass.h:772
boost::signals2::signal< void(bool)> signal_altitudeAllowedChanged
signal sent when altitude allowed changes
Definition: vrfObjectManipulationHandlerBaseClass.h:606
boost::signals2::signal< void(const DtEntityType &, int)> signal_started
Signaled when entity creation has started.
Definition: vrfObjectManipulationHandlerBaseClass.h:480
bool myFacadesVisible
Definition: vrfObjectManipulationHandlerBaseClass.h:784
Definition: vrfObjectManipulationHandlerBaseClass.h:68
std::list< DtSimInterfaceContent * > myContentMessages
Definition: vrfObjectManipulationHandlerBaseClass.h:597
Definition: vrfObjectManipulationHandlerBaseClass.h:53
DtCreationSignalType mySignalCreation
Definition: vrfObjectManipulationHandlerBaseClass.h:759
bool isClosedFigure
Definition: vrfObjectManipulationHandlerBaseClass.h:594
std::vector< DtVrfObjectManipulationHandlerBaseClass * > myNotifyOnFinalFacade
Definition: vrfObjectManipulationHandlerBaseClass.h:815
const ContentMessages & contentMessages() const
Definition: vrfObjectManipulationHandlerBaseClass.h:180
bool myClearedProcessor
Definition: vrfObjectManipulationHandlerBaseClass.h:750
bool myOwnsContentMessages
Definition: vrfObjectManipulationHandlerBaseClass.h:598
Contains makVrv::DtUniqueID type.
bool mySignalOnMultiSelectionComplete
Definition: vrfObjectManipulationHandlerBaseClass.h:761
Definition: vrfObjectManipulationHandlerBaseClass.h:55
std::string myUserData
Definition: vrfObjectManipulationHandlerBaseClass.h:753
Definition: vrfObjectManipulationHandlerBaseClass.h:64
ObjectManipulationData(const ObjectManipulationData &omd)
Definition: vrfObjectManipulationHandlerBaseClass.h:490
The DtDe is the core component of any VR-Vantage application.
Definition: DtDe.h:69
Definition: simInterfaceContent.h:45
boost::signals2::signal< void(const ObjectManipulationData &)> signal_createObject
signal sent when object wants to be created
Definition: vrfObjectManipulationHandlerBaseClass.h:609
bool myOverlayChanged
Definition: vrfObjectManipulationHandlerBaseClass.h:771
bool myAttachObjectToMouse
Definition: vrfObjectManipulationHandlerBaseClass.h:738
Definition: vrfObjectManipulationHandlerBaseClass.h:827
bool myCreating
Definition: vrfObjectManipulationHandlerBaseClass.h:737
bool myShowingPropertiesDialog
Definition: vrfObjectManipulationHandlerBaseClass.h:797
std::vector< DtVrfObjectFacadeInterface * > VrfObjectEditFacadeList
Definition: vrfObjectManipulationHandlerBaseClass.h:91
virtual DtSimInterfaceContent * clone() const =0
bool myCanEmbark
Definition: vrfObjectManipulationHandlerBaseClass.h:807
makVrv::DtSignalConnectionManager myConnections
Definition: vrfObjectManipulationHandlerBaseClass.h:798
DtEditingType myEditingType
Definition: vrfObjectManipulationHandlerBaseClass.h:788
std::set< DtUniqueID > IdSet
Definition: DtSelectionManager.h:32
DtUUID initialUUID
Definition: vrfObjectManipulationHandlerBaseClass.h:602
DtEntityType createdEntityType
Definition: vrfObjectManipulationHandlerBaseClass.h:578
Definition: vrfObjectManipulationHandlerBaseClass.h:67
DtCreationSignalType
Definition: vrfObjectManipulationHandlerBaseClass.h:71
void setContentMessages(const std::list< DtSimInterfaceContent * > &messages)
Definition: vrfObjectManipulationHandlerBaseClass.h:556
std::string myKey
Definition: vrfObjectManipulationHandlerBaseClass.h:757
bool mySignalManipulation
Definition: vrfObjectManipulationHandlerBaseClass.h:741
void setContentMessages(const ContentMessages &messages)
Definition: vrfObjectManipulationHandlerBaseClass.h:541
boost::signals2::signal< void(const DtVector &)> signal_locationChanged
signal sent when the mouse changes location during creation/editing
Definition: vrfObjectManipulationHandlerBaseClass.h:624
Creates the object immediately without waiting for a mouse click.
Definition: vrfObjectManipulationHandlerBaseClass.h:78
std::map< std::string, std::string > myExtendedData
Definition: vrfObjectManipulationHandlerBaseClass.h:754
int myCursorCount
Definition: vrfObjectManipulationHandlerBaseClass.h:783
unsigned int appearance
Definition: vrfObjectManipulationHandlerBaseClass.h:590
DtAltitudeClampType
Definition: vrfObjectFacadeInterface.h:38
DtVrlinkSimulatedBaseStateView * myPrincipalStateView
Definition: vrfObjectManipulationHandlerBaseClass.h:785
ObjectManipulationData()
Definition: vrfObjectManipulationHandlerBaseClass.h:487
DtEditingType editingType() const
Definition: vrfObjectManipulationHandlerBaseClass.h:379
bool useSlotIfAvailable
Definition: vrfObjectManipulationHandlerBaseClass.h:601
virtual ~DtVrfObjectManipulationHandlerCreator()
Definition: vrfObjectManipulationHandlerBaseClass.h:835
Definition: vrfObjectManipulationHandlerBaseClass.h:65
makVrv::DtUniqueID embarkId
Definition: vrfObjectManipulationHandlerBaseClass.h:600

Document ID: Generated on Tue Sep 21 17:42:52 EDT 2021 from SVN revision 234861
Copyright © 2005-2021 MAK Technologies. All Rights Reserved (www.mak.com)