VR-Forces 5.0.1 Developer's Guide
 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 
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 
53  {
54  Box,
69  User_Base = 100
70  };
71 
74  {
81  };
82 
84 
86 
91  {
92  public:
93  typedef std::vector<DtVrfObjectFacadeInterface*> VrfObjectEditFacadeList;
94  typedef std::map<std::string, DtSimInterfaceContent*> ContentMessages;
95 
96  public:
99 
100  public:
101 
106  virtual bool createObject(const DtEntityType& entType, int force,
107  DtCreationSignalType creationSignal=DtNoCreationSignal, const std::string& keywords = "");
108 
110  virtual bool createObject(const DtString& key, const DtString& associatedData,
111  DtCreationSignalType creationSignal=DtNoCreationSignal, const std::string& keywords = "");
112 
116  virtual void editSelectedObjects( const makVrv::DtUniqueID& editId,
117  makVrv::DtChannel& initiatingChannel, double waitTimeAfterComplete = 0.,
119 
122  virtual bool canSetActivationTime() const;
123 
125  virtual bool canShowForces() const;
126 
128  virtual void setForce(int);
129  int force() const;
130 
132  virtual void monitorObjectRemoval(bool);
133 
136  virtual bool isDoubleClickSupportedForCurrentObject() const;
137 
139  virtual void setEventProcessingEnabled( bool value );
140 
142  virtual void clearEventProcessor();
143 
145  virtual bool embarkationAllowed() const;
146  virtual void setEmbarkationAllowed(bool);
147 
151  virtual bool canEmbark() const;
152 
154  virtual void setCanEmbark(bool);
155 
157  virtual void setDoNotClamp(bool);
158  bool doNotClamp() const;
159 
161  virtual bool needsEmbarkOnCheck() const;
162 
164  virtual void setIgnoreNextLeftButtonRelease(bool b);
165  virtual void setEditStartedByDoubleClick(bool);
166 
168  virtual void setCreationEndedWithDoubleClick(bool creationEndedWithDoubleClick);
169 
171  virtual bool isCreationEndedWithDoubleClick() const;
172 
175  virtual bool isObjectValidForCreation();
176 
177  virtual makVrv::DtIntersector::IntersectProperties intersectorPickMask() const;
178 
180  virtual DtUUID uuid() const;
181 
184  virtual void setInterfaceContentMessage(const std::string& name, const DtSimInterfaceContent&);
185  virtual void removeInterfaceContentMessage(const std::string&);
187  {
188  return myContentMessages;
189  }
190 
192  virtual HandlerType type() const = 0;
193 
194  virtual std::list<DtSimInterfaceContent*> contentMessagesToList() const;
195 
196  virtual void sendContentMessages();
197 
199  virtual VrfObjectEditFacadeList objectFacades() const;
200 
202  virtual void setAllowCreationOnMouseClick(bool flag);
203 
205  virtual void setLabel(const std::string&);
206  virtual std::string label() const;
207 
209  virtual bool allowCreationOnMouseClick() const;
210 
213  virtual void setEventProcessor(DtVrfObjectManipulationEventProcessor*);
214 
216  virtual DtVector clampToGround(const DtVector&, int clampFlag = -1) const;
217  virtual DtGeodeticCoord clampToGround(const DtGeodeticCoord&, int clampFlag = -1) const;
218 
220  virtual void setAttachObjectToMouse(bool);
221 
223  virtual bool attachObjectToMouse() const;
224 
226  virtual void setHeading(double value);
227  virtual double heading() const;
228 
230  virtual void setPitch(double value);
231  virtual double pitch() const;
232 
234  virtual void setLocation(const DtVector& loc);
235  virtual void setLocation(const DtVector& loc, double altAboveGround);
236 
238  virtual void stop();
239 
241  virtual void deferredStop();
242 
244  virtual int objectCount() const;
245 
247  virtual bool createVrfObject();
248  virtual bool createVrfObject(DtVrfObjectFacadeInterface* objectImage);
249 
251  virtual bool modifyVrfObjects();
252  virtual bool modifyVrfObject(DtVrfObjectFacadeInterface* objectImage);
253 
256  virtual DtVrfObjectFacadeInterface* createAndAddLocalRepresentation(DtVrlinkSimulatedBaseStateView* editStateView = 0);
257  virtual DtVrfObjectFacadeInterface* createLocalRepresentation(DtVrlinkSimulatedBaseStateView* editStateView = 0) = 0;
258 
260  virtual DtVrfObjectFacadeInterface* createAndAddLocalRepresentation(DtVrlinkSimulatedBaseStateView* editStateView,
261  makVrv::DtUniqueID sceneObjectId, DtVrlinkSimulatedBaseStateView* principalStateView);
262  virtual DtVrfObjectFacadeInterface* createLocalRepresentation(DtVrlinkSimulatedBaseStateView* editStateView,
263  makVrv::DtUniqueID sceneObjectId, DtVrlinkSimulatedBaseStateView* principalStateView) = 0;
264 
266  virtual void initializeEventProcessor();
267 
269  virtual void setOverlay(const std::string& name);
270  virtual std::string overlay() const;
271  virtual std::string defaultOverlayForCreatingObject() const;
272 
274  virtual std::string getNextCreatingName(bool includeCurrent = false);
275 
277  virtual void setAltitudeAboveGL( double alt, bool setInProcessor = true );
278 
280  virtual void setAltitudeAboveGLForAll( double alt, bool setInProcessor = true );
281 
283  virtual void setAltitudeAboveSL( double alt, bool setInProcessor = true );
284 
286  virtual void setAltitudeAboveSLForAll( double alt, bool setInProcessor = true );
287 
289  virtual bool hasObjectFacade(makVrv::DtUniqueID) const;
290 
291  virtual void setAltitudeClampType( DtAltitudeClampType type );
293  {
294  return myAltitudeClampType;
295  }
296 
297  virtual void setCreating(bool b);
298 
299  bool creating() const
300  {
301  return myCreating;
302  }
303 
304  virtual DtVrfObjectFacadeInterface* principalObjectImage() const;
305  virtual makVrv::DtUniqueID principalObjectID() const;
306  virtual std::set<makVrv::DtUniqueID> elementIDs() const;
307 
308  virtual void setUserData(const std::string& userData);
309  virtual const std::string& userData() const;
310 
311  virtual void setExtendedLabels(const std::map<int, DtString>&);
312  virtual const std::map<int, DtString>& extendedLabels() const;
313 
314  virtual void setExtendedDataMap(const std::map<std::string, std::string>& extendedData);
315  virtual void setExtendedDataMap(const std::map<DtString, DtString>& extendedData);
316  virtual const std::map<std::string, std::string>& extendedDataMap() const;
317  virtual void setExtendedData(const std::string& key, const std::string& value);
318  virtual void removeExtendedData(const std::string& key);
319  virtual std::string extendedData(const std::string& key) const;
320 
321  virtual void slot_onComplete();
322  virtual void slot_onPlace(makVrv::DtUniqueID, const DtVector&, double altAboveGround);
323  virtual void slot_onEditComplete(makVrv::DtUniqueID, const DtVector&, double altAboveGround);
324  virtual void slot_onLocationChanged( const DtVector& location, double altAboveGround );
325  virtual void slot_onAltitudeIsDragging(bool);
326 
327  virtual void hideObject( const makVrv::DtUniqueID& id, bool hide );
328 
330  virtual void setPublishObject(bool);
331  virtual bool publishObject() const;
332 
334  virtual void setObjectName(const std::string& name);
335 
337  virtual void setUUIDForCreation(const DtUUID&);
338  virtual const DtUUID& uuidForCreation() const;
339 
341  virtual bool isUniqueName() const;
342 
346  virtual double groundHeight( const DtVector& localPosition, DtVector* localGround = 0,
347  const std::vector<makVrv::DtUniqueID>& ignore = std::vector<makVrv::DtUniqueID>()) const;
348 
349  virtual void setAltitudeAllowed(bool);
350  bool altitudeAllowed() const;
351 
353  bool pitchAllowed() const;
354 
355  virtual const std::string& objectName() const;
356 
359  virtual bool anchorMouseToOrigin() const;
360 
362  virtual bool anchorPositionIsMouse() const;
363 
365  virtual void setAnchorPosition(const DtGeodeticCoord&);
366 
368  virtual DtVector localLocation();
369 
370  virtual DtVector convertGeocentricToGround(const DtVector& geoc, double& altitude) const;
371 
372  virtual void setShowPropertiesDialogBeforeCreate(bool);
373  virtual bool showPropertiesDialogBeforeCreate() const;
374 
376  virtual bool keywordsContain(const std::string&) const;
377  virtual std::string keyword(const std::string&) const;
378  virtual std::string value(const std::string&) const;
379  virtual void addKeyword(const std::string&);
380  virtual void removeKeyword(const std::string&);
381 
382  virtual bool waitingToStop() const;
383 
384  virtual void setEditingType(DtEditingType);
386  {
387  return myEditingType;
388  }
389 
392  virtual void setEmbarkationInformation(makVrv::DtUniqueID, bool);
393  virtual makVrv::DtUniqueID embarkedOn() const;
394 
396  virtual std::vector<makVrv::DtElementID> ignoreList() const;
397 
400  virtual void setOverrideIdsToIgnore(const std::vector<makVrv::DtUniqueID>& overrideIgnore);
401 
403  virtual const std::vector<makVrv::DtElementID>& unifiedIgnoreList() const;
404 
405  virtual void slot_onAltitudeChanged(const DtVector&, double);
406 
408  virtual void cancel();
409 
411  virtual void setFacadesVisible(bool);
412 
414  virtual bool noStyle() const;
415 
416  virtual void slot_onHeadingChanged( double heading );
417  virtual void slot_onPitchChanged( double heading );
418 
420  virtual void setHeadingOffset(double d);
421 
423  virtual void setPitchOffset(double d);
424 
426  virtual void disconnectPlacement();
427 
430  virtual void setGroundClampOnPlacement(bool);
431  virtual bool groundClampOnPlacement() const;
432 
434  virtual void notifyOnFinalFacade(DtVrfObjectManipulationHandlerBaseClass*);
435  virtual void removeNotifyOnFinalFacade(DtVrfObjectManipulationHandlerBaseClass*);
436 
438  virtual void connectPlacement();
439 
441  virtual DtVector centerOfMass() const;
442 
445  virtual DtVector sumOfAllLocations() const;
446 
448  virtual void updateOffsetsBasedOnMousePosition(const DtVector& centerOfMass, const DtGeodeticCoord&,
449  bool usImagePoints = false);
450 
452  virtual void setSignalOnMultiSelectionComplete(bool);
453 
455  virtual void setKeywords(const std::string&);
456 
459  virtual void setSelectionCount(int);
461  virtual void parseKeywords(const std::string&);
462 
463  virtual bool warpMouseToOrigin() const;
464  virtual void setWarpMouseToOrigin(bool);
465 
467  boost::signals2::signal<void (bool)> signal_embarkationAllowedChanged;
468 
474  boost::signals2::signal<void (bool, bool)> signal_showPropertiesDialog;
475 
477  boost::signals2::signal<void (bool)> signal_attachObjectToMouse;
478 
480  boost::signals2::signal<void (DtVrfObjectFacadeInterface*, DtVrlinkSimulatedBaseStateView* editStateView)> signal_preVisualization;
481 
484  boost::signals2::signal<void (DtVrfObjectFacadeInterface*, bool)> signal_objectFacadeCreated;
485 
487  boost::signals2::signal<void (const DtEntityType&, int)> signal_started;
488 
490  boost::signals2::signal<void (DtVrfObjectManipulationHandlerBaseClass*)> signal_multiSelectonCreationComplete;
491 
493  {
494  ObjectManipulationData() : myOwnsContentMessages(false), color(0), appearance(0), projected(false),
495  physicalLineHeight(0.), physicalLineWidth(0.), isClosedFigure(false) , isProjected(false), embarkId(0), useSlotIfAvailable(false), initialUUID(DtUUID::nullUUID()) {};
496 
498  entityType(omd.entityType)
499  , createdEntityType(omd.createdEntityType)
500  , objectName(omd.objectName)
501  , force(omd.force)
502  , positions(omd.positions)
503  , heading(omd.heading)
504  , pitch(omd.pitch)
505  , isProjected(omd.isProjected)
506  , isClosedFigure(omd.isClosedFigure)
507  , clamped(omd.clamped)
508  , isAggregated(omd.isAggregated)
509  , userData(omd.userData)
510  , isPublished(omd.isPublished)
511  , extendedData(omd.extendedData)
512  , extendedLabels(omd.extendedLabels)
513  , myOwnsContentMessages(true)
514  , color(omd.color)
515  , appearance(omd.appearance)
516  , overlay(omd.overlay)
517  , projected(omd.projected)
518  , physicalLineHeight(omd.physicalLineHeight)
519  , physicalLineWidth(omd.physicalLineWidth)
520  , embarkId(omd.embarkId)
521  , useSlotIfAvailable(omd.useSlotIfAvailable)
522  , initialUUID(omd.initialUUID)
523  {
524  setContentMessages(omd.myContentMessages);
525  }
526 
528  {
529  if (myOwnsContentMessages)
530  {
531  deleteContentMessages();
532  }
533  }
534 
536  {
537  std::list<DtSimInterfaceContent*>::iterator iter = myContentMessages.begin();
538  while (iter != myContentMessages.end())
539  {
540  delete *iter;
541  ++iter;
542  }
543 
544  myContentMessages.clear();
545  myOwnsContentMessages = false;
546  }
547 
548  void setContentMessages(const ContentMessages& messages)
549  {
550  if (myOwnsContentMessages)
551  {
552  deleteContentMessages();
553  }
554 
555  ContentMessages::const_iterator iter = messages.begin();
556  while (iter != messages.end())
557  {
558  myContentMessages.push_back(iter->second->clone());
559  ++iter;
560  }
561  }
562 
563  void setContentMessages(const std::list<DtSimInterfaceContent*>& messages)
564  {
565  if (myOwnsContentMessages)
566  {
567  deleteContentMessages();
568  }
569 
570  std::list<DtSimInterfaceContent*>::const_iterator iter = messages.begin();
571  while (iter != messages.end())
572  {
573  myContentMessages.push_back((*iter)->clone());
574  ++iter;
575  }
576  }
577 
579  {
580  myContentMessages.push_back(message.clone());
581  }
582 
584  DtEntityType entityType;
585  DtEntityType createdEntityType;
586  std::string objectName;
587  int force;
588  std::vector<DtVector> positions;
589  double heading;
590  double pitch;
591  bool clamped;
594  std::string userData;
596  unsigned int color;
597  unsigned int appearance;
598  bool projected;
602  std::map<std::string, std::string> extendedData;
603  std::map<int, DtString> extendedLabels;
604  std::list<DtSimInterfaceContent*> myContentMessages;
606  std::string overlay;
610  };
611 
613  boost::signals2::signal<void (bool)> signal_altitudeAllowedChanged;
614 
616  boost::signals2::signal<void ( const ObjectManipulationData& )> signal_createObject;
617 
619  boost::signals2::signal<void (const DtString&, const DtString&)> signal_createTerrainProp;
620 
622  boost::signals2::signal<void (DtVrfObjectManipulationHandlerBaseClass*)> signal_stopped;
623 
625  boost::signals2::signal<void (DtVrfObjectManipulationHandlerBaseClass*)> signal_eventProcessorRemoved;
626 
628  boost::signals2::signal<void (DtVrfObjectManipulationHandlerBaseClass*)> signal_complete;
629 
631  boost::signals2::signal<void (const DtVector& )> signal_locationChanged;
632 
634  boost::signals2::signal<void (double)> signal_headingChanged;
635 
637  boost::signals2::signal<void (double)> signal_pitchChanged;
638 
640  boost::signals2::signal<void (double)> signal_altitudeChanged;
641 
643  boost::signals2::signal<void (const DtVector&)> signal_placement;
644 
647  boost::signals2::signal<void (DtVrfObjectManipulationHandlerBaseClass*)> signal_restoreSelectionState;
648 
650  boost::signals2::signal<void (const makVrv::DtUniqueID&)> signal_principalStateViewUpdated;
651 
653  boost::signals2::signal<void (DtVrfObjectFacadeInterface*)> signal_objectFacadeAboutToBeRemoved;
654 
656  boost::signals2::signal<void (int)> signal_forceChanged;
657 
658  protected:
659  virtual void clearConnections();
660 
662  virtual void slot_simObjectEntryToBeRemoved(const makVrv::DtSimObjectEntry&);
663 
665  virtual bool typeIsValidForEditingByHandler(const makVrv::DtElementEntry::ElementType&, const DtEntityType&) const;
666 
667  virtual void slot_onCancel(bool escPressed);
668 
669  virtual std::string stripNumbers(const std::string& base) const;
670 
671  virtual double defaultAltitudeOffsetFor(DtVrfObjectFacadeInterface* i) const;
672 
673  virtual void warpMouseToLocation( makVrv::DtChannel* channel, const DtVector& location ) const ;
674 
677  virtual void initializeEdit();
678 
679  virtual void slot_onPrincipalStateViewUpdated(DtVrlinkSimulatedBaseStateView* principalStateView,
680  const makVrv::DtUniqueID& principalSceneObjectId );
681 
682  virtual void slot_onStateViewUpdated( DtVrlinkSimulatedBaseStateView* editStateView, makVrv::DtUniqueID sceneObjectId,
683  DtVrlinkSimulatedBaseStateView* principalStateView);
684 
686  virtual void initializeLocationChangeConnections();
687 
690  virtual bool centerOn(const makVrv::DtUniqueID& id, DtVector* centerPos = 0, const DtVector* centerHere = 0,
691  bool centerOnOnlyIfMousePositionIsOffWindow = true) const;
692 
693  virtual void setObjectImageAsAnchor(DtVrfObjectFacadeInterface* objectImage, const DtVector& geocLocation,
694  bool resetOrigin = false);
695 
696  virtual void setHeading(DtVrfObjectFacadeInterface* objectImage, double heading);
697  virtual void setPitch(DtVrfObjectFacadeInterface* objectImage, double heading);
698  virtual std::string defaultOverlayFor(const DtRwNLengthStringVector&) const;
699  virtual std::string defaultOverlayFor(const DtModelSetEntry* e) const;
700 
701  virtual bool continueWithHandlerCancelOnLastObjectRemoval();
702  virtual bool isOkToStopEditing();
703  virtual void handlerDisabled();
704 
705  virtual void setObjectImageRelativeToPrincipal(DtVrfObjectFacadeInterface* objectImage,
706  const DtVector& thisGeocLocation, const DtTaitBryan& thisGeocOrientation,
707  const DtVector& prGeocLocation, const DtTaitBryan& prGeocOrientation);
708 
710  virtual void setObjectImageRelativeTo(DtVrfObjectFacadeInterface* objectImage,
711  const DtVector& thisGeocLocation, const DtVector& prGeocLocation, bool relativeOnly = false);
712 
714  virtual void setObjectImageRelativeToAltitudeOnly(DtVrfObjectFacadeInterface* objectImage,
715  const DtVector& thisGeocLocation, const DtVector& prGeocLocation);
716 
717  virtual void initializeInterfaceForEdit(DtVrfObjectFacadeInterface*, makVrv::DtUniqueID,
718  const makVrv::DtVrlinkSimulatedBaseState&, const DtVector& principalLocation, const DtTaitBryan& principalOrientation);
719  virtual void calculateAnchor(const DtVector& localAnchor);
720  virtual void calculateAnchorBasedOnMousePosition(makVrv::DtChannel& channel);
721 
722  virtual void initializeAltitudeAboveTerrainForEdit(double curAlt, const DtVector& curPos,
724 
725  virtual void postCreateInitialize(DtVrfObjectFacadeInterface*);
726 
728  virtual bool clampOnPlacement() const;
729 
731  virtual bool clampAtClosestPolygonOnPlacement() const;
732 
734  virtual void updateOffsetsBasedOnMousePosition();
735 
736  virtual bool setupIgnoreLists();
737 
738  virtual void removeObjectBecauseOfDeletion(DtVrfObjectFacadeInterface*);
739 
741  virtual void slot_elementsCreated(const std::vector<makVrv::DtElementID>&);
742 
743  protected:
746  int myForce;
750  std::string myObjectName;
751  std::string myOverlay;
752 
759 
760  std::string myUserData;
761  std::map<std::string, std::string> myExtendedData;
762  std::map<int, DtString> myExtendedLabels;
763 
764  std::string myKey;
765  std::string myKeyData;
767 
769 
771 
772  boost::signals2::connection myObjectRemovalConnection;
773 
775  DtReferenceEllipsoid* myReferenceForConversion;
777 
781  DtGeodeticCoord myAnchorPosition;
786 
788  std::vector<std::string> myKeywords;
789 
793 
796 
799 
801 
802  typedef std::map<DtVrlinkSimulatedBaseStateView*, makVrv::DtSignalConnectionManager*> StateViewConnections;
809 
812 
813  mutable bool myCheckedEmbark;
814  mutable bool myCanEmbark;
816 
817  mutable std::vector<makVrv::DtElementID> myUnifiedIgnoreList;
818  mutable std::set<makVrv::DtUniqueID> myDIGuyIdsIgnored;
819  mutable std::vector<makVrv::DtUniqueID> myModelIds;
820 
821  std::vector<makVrv::DtElementID> myOverrideIdsToIgnore;
822  std::vector<DtVrfObjectManipulationHandlerBaseClass*> myNotifyOnFinalFacade;
823 
825  };
826 
828  {
829  public:
830  virtual DtVrfObjectManipulationHandlerBaseClass* create() const = 0;
831  };
832 
833  template <typename T>
835  {
836  public:
838  : myDe(de)
839  {
840  }
841 
843  {
844  }
845 
847  {
848  return new T(myDe);
849  }
850 
851  protected:
853  };
854 
855 }
Definition: vrfObjectManipulationHandlerBaseClass.h:61
UUID is a unique ID wrapper class.
Definition: rwUUID.h:226
bool myPublishObject
Definition: vrfObjectManipulationHandlerBaseClass.h:787
IntersectProperties
The IntersectProperties enum is a flag set that indicates the types of nodes to be considered for int...
Definition: DtIntersector.h:31
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:653
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:647
Manage the tick and mouse events when editing or placing a Vrf object.
Definition: vrfObjectManipulationEventProcessor.h:35
Definition: vrfObjectManipulationHandlerBaseClass.h:55
double myDeferStopFor
Definition: vrfObjectManipulationHandlerBaseClass.h:784
std::map< std::string, std::string > extendedData
Definition: vrfObjectManipulationHandlerBaseClass.h:602
Definition: vrfObjectManipulationHandlerBaseClass.h:45
int mySelectionCount
Definition: vrfObjectManipulationHandlerBaseClass.h:797
virtual ~ObjectManipulationData()
Definition: vrfObjectManipulationHandlerBaseClass.h:527
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:490
boost::signals2::signal< void(DtVrfObjectManipulationHandlerBaseClass *)> signal_stopped
Sent when entity creation has stopped.
Definition: vrfObjectManipulationHandlerBaseClass.h:622
bool myOwnsEventProcessor
Definition: vrfObjectManipulationHandlerBaseClass.h:754
bool myOverlayHasBeenSet
Definition: vrfObjectManipulationHandlerBaseClass.h:810
Definition: vrfObjectManipulationHandlerBaseClass.h:62
DtReferenceEllipsoid * myReferenceForConversion
Definition: vrfObjectManipulationHandlerBaseClass.h:775
bool myGroundClampOnPlacement
Definition: vrfObjectManipulationHandlerBaseClass.h:785
DtVrfObjectManipulationEventProcessor * myEventProcessor
Definition: vrfObjectManipulationHandlerBaseClass.h:753
boost::signals2::signal< void(DtVrfObjectFacadeInterface *, bool)> signal_objectFacadeCreated
signal sent after the facade is created. If the boolean is true, this was created for an edit mode ...
Definition: vrfObjectManipulationHandlerBaseClass.h:484
std::vector< makVrv::DtElementID > myOverrideIdsToIgnore
Definition: vrfObjectManipulationHandlerBaseClass.h:821
DtRwNLengthStringVector is a named, readable/writable vector of strings of arbitrary length...
Definition: rwNLengthStringVector.h:28
std::vector< DtVector > positions
Definition: vrfObjectManipulationHandlerBaseClass.h:588
DtEntityType entityType
If you want content messages cloned and deleted use the set command.
Definition: vrfObjectManipulationHandlerBaseClass.h:584
Definition: vrfObjectManipulationHandlerBaseClass.h:57
std::string overlay
Definition: vrfObjectManipulationHandlerBaseClass.h:606
bool myMultiSelection
Definition: vrfObjectManipulationHandlerBaseClass.h:798
bool myShowPropertiesDialogBeforeCreate
Definition: vrfObjectManipulationHandlerBaseClass.h:780
DtVrfObjectManipulationHandlerCreator(makVrv::DtDe &de)
Definition: vrfObjectManipulationHandlerBaseClass.h:837
boost::signals2::signal< void(DtVrfObjectManipulationHandlerBaseClass *)> signal_eventProcessorRemoved
Sent when the event processor has been destroyed.
Definition: vrfObjectManipulationHandlerBaseClass.h:625
bool isAggregated
Definition: vrfObjectManipulationHandlerBaseClass.h:593
boost::signals2::signal< void(double)> signal_headingChanged
signal sent when the mouse changes the orientation of an object during creation/editing ...
Definition: vrfObjectManipulationHandlerBaseClass.h:634
std::map< DtVrlinkSimulatedBaseStateView *, makVrv::DtSignalConnectionManager * > StateViewConnections
Definition: vrfObjectManipulationHandlerBaseClass.h:802
bool myDoNotClamp
Definition: vrfObjectManipulationHandlerBaseClass.h:815
Contains makVrv:DtSelectionManager class.
Emits the signal_createObject from the makVrf::DtVrfObjectManipulationManager when an object is to be...
Definition: vrfObjectManipulationHandlerBaseClass.h:77
Emits the signal_createObject from the makVrf::DtVrfObjectManipulationManager when an object is to be...
Definition: vrfObjectManipulationHandlerBaseClass.h:78
boost::signals2::signal< void(DtVrfObjectFacadeInterface *, DtVrlinkSimulatedBaseStateView *editStateView)> signal_preVisualization
Signal sent before any visualizers are created on the interface.
Definition: vrfObjectManipulationHandlerBaseClass.h:480
boost::signals2::signal< void(double)> signal_pitchChanged
signal sent when the mouse changes the pitch of an object during creation/editing ...
Definition: vrfObjectManipulationHandlerBaseClass.h:637
bool myEmbarkInSlotIfAvailable
Definition: vrfObjectManipulationHandlerBaseClass.h:808
Definition: vrfObjectManipulationHandlerBaseClass.h:64
bool isProjected
Definition: vrfObjectManipulationHandlerBaseClass.h:592
DtEditingType
Definition: vrfObjectManipulationHandlerBaseClass.h:42
Default usage. This will create an object for either multiple occurances (single point) or once (mult...
Definition: vrfObjectManipulationHandlerBaseClass.h:76
std::map< int, DtString > extendedLabels
Definition: vrfObjectManipulationHandlerBaseClass.h:603
Definition: vrfObjectManipulationHandlerBaseClass.h:58
void deleteContentMessages()
Definition: vrfObjectManipulationHandlerBaseClass.h:535
std::vector< makVrv::DtUniqueID > myModelIds
Definition: vrfObjectManipulationHandlerBaseClass.h:819
int myForce
Definition: vrfObjectManipulationHandlerBaseClass.h:746
std::string userData
Definition: vrfObjectManipulationHandlerBaseClass.h:594
std::vector< makVrv::DtElementID > myUnifiedIgnoreList
Definition: vrfObjectManipulationHandlerBaseClass.h:817
bool isPublished
Definition: vrfObjectManipulationHandlerBaseClass.h:595
double heading
Definition: vrfObjectManipulationHandlerBaseClass.h:589
#define DT_DLL_VRFGUICORE
Contains DLL export macros.
Definition: vrfGuiCore.h:25
VrfObjectEditFacadeList myObjectImages
Definition: vrfObjectManipulationHandlerBaseClass.h:774
bool myWarpMouseToOrigin
Definition: vrfObjectManipulationHandlerBaseClass.h:811
double physicalLineWidth
Definition: vrfObjectManipulationHandlerBaseClass.h:600
std::string myOverlay
Definition: vrfObjectManipulationHandlerBaseClass.h:751
makVrv::DtDe & myDe
Definition: vrfObjectManipulationHandlerBaseClass.h:852
std::map< int, DtString > myExtendedLabels
Definition: vrfObjectManipulationHandlerBaseClass.h:762
boost::signals2::signal< void(const DtVector &)> signal_placement
signal sent when the left mouse is pressed during creation/editing
Definition: vrfObjectManipulationHandlerBaseClass.h:643
double physicalLineHeight
Definition: vrfObjectManipulationHandlerBaseClass.h:599
Definition: vrfObjectManipulationHandlerBaseClass.h:47
std::map< std::string, DtSimInterfaceContent * > ContentMessages
Definition: vrfObjectManipulationHandlerBaseClass.h:94
makVrv::DtSignalConnectionManager myCreateConnections
Definition: vrfObjectManipulationHandlerBaseClass.h:806
DtGeodeticCoord myAnchorPosition
Definition: vrfObjectManipulationHandlerBaseClass.h:781
Definition: vrfObjectManipulationHandlerBaseClass.h:46
The abstract Channel Class.
Definition: DtChannel.h:35
Definition: modelSetEntry.h:34
std::string myKeyData
Definition: vrfObjectManipulationHandlerBaseClass.h:765
double myTotalTimeElapsed
Definition: vrfObjectManipulationHandlerBaseClass.h:783
std::string myObjectName
Definition: vrfObjectManipulationHandlerBaseClass.h:750
boost::signals2::signal< void(double)> signal_altitudeChanged
signal sent when the mouse changes the altitude of an object during creation/editing ...
Definition: vrfObjectManipulationHandlerBaseClass.h:640
DtUUID myUUIDForCreation
Definition: vrfObjectManipulationHandlerBaseClass.h:800
bool projected
Definition: vrfObjectManipulationHandlerBaseClass.h:598
DtAltitudeClampType altitudeClampType() const
Definition: vrfObjectManipulationHandlerBaseClass.h:292
A DtSimObjectEntry is an entry for a persistent simulation object like an entity. ...
Definition: DtSimObjectEntry.h:22
Definition: vrfObjectFacadeInterface.h:53
Definition: vrfObjectManipulationHandlerBaseClass.h:75
Definition: vrfObjectManipulationHandlerBaseClass.h:44
boost::signals2::signal< void(bool)> signal_embarkationAllowedChanged
Signal emitted when the embarkation allowed state changes.
Definition: vrfObjectManipulationHandlerBaseClass.h:467
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:586
unsigned int color
Definition: vrfObjectManipulationHandlerBaseClass.h:596
DtAltitudeClampType myAltitudeClampType
Definition: vrfObjectManipulationHandlerBaseClass.h:776
boost::signals2::signal< void(bool)> signal_attachObjectToMouse
Signal sent when attached object to mouse changes.
Definition: vrfObjectManipulationHandlerBaseClass.h:477
int force
Definition: vrfObjectManipulationHandlerBaseClass.h:587
Definition: vrfObjectManipulationHandlerBaseClass.h:90
makVrv::DtStateView< makVrv::DtVrlinkSimulatedBaseState > DtVrlinkSimulatedBaseStateView
Definition: vrfObjectManipulationHandlerBaseClass.h:83
bool myAltitudeIsDragging
Definition: vrfObjectManipulationHandlerBaseClass.h:755
Class to manage disconnection of boost connections on deletion.
Definition: DtSignalConnectionManager.h:20
When creating, keep the name in the edit box instead of creating a new, unique name. This is for local object creation only.
Definition: vrfObjectManipulationHandlerBaseClass.h:79
Definition: vrfObjectManipulationHandlerBaseClass.h:60
bool clamped
Definition: vrfObjectManipulationHandlerBaseClass.h:591
HandlerType
The type of handler this is.
Definition: vrfObjectManipulationHandlerBaseClass.h:52
Contains makVrv::DtVrlinkSimulatedEntityState class.
boost::signals2::signal< void(const DtString &, const DtString &)> signal_createTerrainProp
signal sent when prop wants to be created
Definition: vrfObjectManipulationHandlerBaseClass.h:619
bool myCreationEndedWithDoubleClick
Definition: vrfObjectManipulationHandlerBaseClass.h:824
makVrv::DtSelectionManager::IdSet myEditingObjects
Definition: vrfObjectManipulationHandlerBaseClass.h:770
bool myCheckedEmbark
Definition: vrfObjectManipulationHandlerBaseClass.h:813
bool creating() const
Definition: vrfObjectManipulationHandlerBaseClass.h:299
Definition: vrfObjectManipulationHandlerBaseClass.h:63
ElementType
Definition: DtElementEntry.h:26
makVrv::DtUniqueID myEmbarkOnId
Definition: vrfObjectManipulationHandlerBaseClass.h:807
void addContentMessage(const DtSimInterfaceContent &message)
Definition: vrfObjectManipulationHandlerBaseClass.h:578
Definition: vrfObjectManipulationHandlerBaseClass.h:827
DtTimedSection * myDeferredStopTimer
Definition: vrfObjectManipulationHandlerBaseClass.h:782
boost::signals2::signal< void(const makVrv::DtUniqueID &)> signal_principalStateViewUpdated
Sent when principal state view is updated for editing.
Definition: vrfObjectManipulationHandlerBaseClass.h:650
boost::signals2::signal< void(DtVrfObjectManipulationHandlerBaseClass *)> signal_complete
Sent when entity creation has completed (right-click)
Definition: vrfObjectManipulationHandlerBaseClass.h:628
ContentMessages myContentMessages
Definition: vrfObjectManipulationHandlerBaseClass.h:794
StateViewConnections myStateViewConnections
Definition: vrfObjectManipulationHandlerBaseClass.h:803
std::vector< std::string > myKeywords
Definition: vrfObjectManipulationHandlerBaseClass.h:788
boost::signals2::signal< void(int)> signal_forceChanged
Sent when force changed.
Definition: vrfObjectManipulationHandlerBaseClass.h:656
boost::signals2::connection myObjectRemovalConnection
Definition: vrfObjectManipulationHandlerBaseClass.h:772
std::set< makVrv::DtUniqueID > myDIGuyIdsIgnored
Definition: vrfObjectManipulationHandlerBaseClass.h:818
bool myAltitudeAllowed
Definition: vrfObjectManipulationHandlerBaseClass.h:756
Definition: vrfObjectManipulationHandlerBaseClass.h:492
makVrv::DtDe & myDe
Definition: vrfObjectManipulationHandlerBaseClass.h:747
makVrv::DtChannel * myHiddenChannel
Definition: vrfObjectManipulationHandlerBaseClass.h:758
virtual DtVrfObjectManipulationHandlerBaseClass * create() const
Definition: vrfObjectManipulationHandlerBaseClass.h:846
double pitch
Definition: vrfObjectManipulationHandlerBaseClass.h:590
Definition: vrfObjectManipulationHandlerBaseClass.h:59
Definition: vrfObjectManipulationHandlerBaseClass.h:67
bool myAllowCreationOnClick
Definition: vrfObjectManipulationHandlerBaseClass.h:749
Base class to provide boost signal/slot management.
bool myIgnoreFirstMouseClick
Definition: vrfObjectManipulationHandlerBaseClass.h:779
boost::signals2::signal< void(bool)> signal_altitudeAllowedChanged
signal sent when altitude allowed changes
Definition: vrfObjectManipulationHandlerBaseClass.h:613
boost::signals2::signal< void(const DtEntityType &, int)> signal_started
Signaled when entity creation has started.
Definition: vrfObjectManipulationHandlerBaseClass.h:487
bool myFacadesVisible
Definition: vrfObjectManipulationHandlerBaseClass.h:791
Definition: vrfObjectManipulationHandlerBaseClass.h:69
std::list< DtSimInterfaceContent * > myContentMessages
Definition: vrfObjectManipulationHandlerBaseClass.h:604
Definition: vrfObjectManipulationHandlerBaseClass.h:54
DtCreationSignalType mySignalCreation
Definition: vrfObjectManipulationHandlerBaseClass.h:766
bool isClosedFigure
Definition: vrfObjectManipulationHandlerBaseClass.h:601
std::vector< DtVrfObjectManipulationHandlerBaseClass * > myNotifyOnFinalFacade
Definition: vrfObjectManipulationHandlerBaseClass.h:822
boost::signals2::signal< void(bool, bool)> signal_showPropertiesDialog
There are some instances where a handler does not want to finish up when creating. In that case, this signal will be set and the create properties dialog for the object will be shown so the user can take action before creating the item. By default this is not the case, and, will only be valid during object creation. The second bool (if false) will hide the attach object to mouse check box.
Definition: vrfObjectManipulationHandlerBaseClass.h:474
const ContentMessages & contentMessages() const
Definition: vrfObjectManipulationHandlerBaseClass.h:186
bool myClearedProcessor
Definition: vrfObjectManipulationHandlerBaseClass.h:757
bool myOwnsContentMessages
Definition: vrfObjectManipulationHandlerBaseClass.h:605
Contains makVrv::DtUniqueID type.
bool mySignalOnMultiSelectionComplete
Definition: vrfObjectManipulationHandlerBaseClass.h:768
Definition: vrfObjectManipulationHandlerBaseClass.h:56
std::string myUserData
Definition: vrfObjectManipulationHandlerBaseClass.h:760
Definition: vrfObjectManipulationHandlerBaseClass.h:65
ObjectManipulationData(const ObjectManipulationData &omd)
Definition: vrfObjectManipulationHandlerBaseClass.h:497
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:70
Definition: simInterfaceContent.h:45
boost::signals2::signal< void(const ObjectManipulationData &)> signal_createObject
signal sent when object wants to be created
Definition: vrfObjectManipulationHandlerBaseClass.h:616
bool myOverlayChanged
Definition: vrfObjectManipulationHandlerBaseClass.h:778
bool myAttachObjectToMouse
Definition: vrfObjectManipulationHandlerBaseClass.h:745
Definition: vrfObjectManipulationHandlerBaseClass.h:834
bool myCreating
Definition: vrfObjectManipulationHandlerBaseClass.h:744
bool myShowingPropertiesDialog
Definition: vrfObjectManipulationHandlerBaseClass.h:804
std::vector< DtVrfObjectFacadeInterface * > VrfObjectEditFacadeList
Definition: vrfObjectManipulationHandlerBaseClass.h:93
virtual DtSimInterfaceContent * clone() const =0
bool myCanEmbark
Definition: vrfObjectManipulationHandlerBaseClass.h:814
makVrv::DtSignalConnectionManager myConnections
Definition: vrfObjectManipulationHandlerBaseClass.h:805
DtEditingType myEditingType
Definition: vrfObjectManipulationHandlerBaseClass.h:795
std::set< DtUniqueID > IdSet
Definition: DtSelectionManager.h:32
DtUUID initialUUID
Definition: vrfObjectManipulationHandlerBaseClass.h:609
DtEntityType createdEntityType
Definition: vrfObjectManipulationHandlerBaseClass.h:585
Definition: vrfObjectManipulationHandlerBaseClass.h:68
DtCreationSignalType
Option to supply to the createObject method.
Definition: vrfObjectManipulationHandlerBaseClass.h:73
void setContentMessages(const std::list< DtSimInterfaceContent * > &messages)
Definition: vrfObjectManipulationHandlerBaseClass.h:563
std::string myKey
Definition: vrfObjectManipulationHandlerBaseClass.h:764
bool mySignalManipulation
Definition: vrfObjectManipulationHandlerBaseClass.h:748
void setContentMessages(const ContentMessages &messages)
Definition: vrfObjectManipulationHandlerBaseClass.h:548
boost::signals2::signal< void(const DtVector &)> signal_locationChanged
signal sent when the mouse changes location during creation/editing
Definition: vrfObjectManipulationHandlerBaseClass.h:631
Creates the object immediately without waiting for a mouse click.
Definition: vrfObjectManipulationHandlerBaseClass.h:80
std::map< std::string, std::string > myExtendedData
Definition: vrfObjectManipulationHandlerBaseClass.h:761
int myCursorCount
Definition: vrfObjectManipulationHandlerBaseClass.h:790
unsigned int appearance
Definition: vrfObjectManipulationHandlerBaseClass.h:597
DtAltitudeClampType
Definition: vrfObjectFacadeInterface.h:43
DtVrlinkSimulatedBaseStateView * myPrincipalStateView
Definition: vrfObjectManipulationHandlerBaseClass.h:792
ObjectManipulationData()
Definition: vrfObjectManipulationHandlerBaseClass.h:494
DtEditingType editingType() const
Definition: vrfObjectManipulationHandlerBaseClass.h:385
bool useSlotIfAvailable
Definition: vrfObjectManipulationHandlerBaseClass.h:608
virtual ~DtVrfObjectManipulationHandlerCreator()
Definition: vrfObjectManipulationHandlerBaseClass.h:842
Definition: vrfObjectManipulationHandlerBaseClass.h:66
makVrv::DtUniqueID embarkId
Definition: vrfObjectManipulationHandlerBaseClass.h:607

Document ID: Generated on Mon Jun 20 00:38:30 EDT 2022 from SVN revision 244029
Copyright © 2005-2021 MAK Technologies. All Rights Reserved (www.mak.com)