VR-Forces 4.8 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 #include <boost/signals2.hpp>
28 
29 namespace makVrv
30 {
31  class DtDe;
32  class DtChannel;
33  class DtSimObjectEntry;
34 }
35 
36 class DtEntityType;
37 class DtString;
40 class DtModelSetEntry;
41 
42 namespace makVrf
43 {
45  {
46  Mouse = 0,
51  };
52 
54  {
55  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 
161  virtual makVrv::DtIntersector::IntersectProperties intersectorPickMask() const;
162 
164  virtual DtUUID uuid() const;
165 
168  virtual void setInterfaceContentMessage(const std::string& name, const DtSimInterfaceContent&);
169  virtual void removeInterfaceContentMessage(const std::string&);
171  {
172  return myContentMessages;
173  }
174 
176  virtual HandlerType type() const = 0;
177 
178  virtual std::list<DtSimInterfaceContent*> contentMessagesToList() const;
179 
180  virtual void sendContentMessages();
181 
183  virtual VrfObjectEditFacadeList objectFacades() const;
184 
186  virtual void setAllowCreationOnMouseClick(bool flag);
187 
189  virtual void setLabel(const std::string&);
190  virtual std::string label() const;
191 
193  virtual bool allowCreationOnMouseClick() const;
194 
197  virtual void setEventProcessor(DtVrfObjectManipulationEventProcessor*);
198 
200  virtual DtVector clampToGround(const DtVector&, int clampFlag = -1) const;
201  virtual DtGeodeticCoord clampToGround(const DtGeodeticCoord&, int clampFlag = -1) const;
202 
204  virtual void setAttachObjectToMouse(bool);
205 
207  virtual bool attachObjectToMouse() const;
208 
210  virtual void setHeading(double value);
211  virtual double heading() const;
212 
214  virtual void setPitch(double value);
215  virtual double pitch() const;
216 
218  virtual void setLocation(const DtVector& loc);
219  virtual void setLocation(const DtVector& loc, double altAboveGround);
220 
222  virtual void stop();
223 
225  virtual void deferredStop();
226 
228  virtual int objectCount() const;
229 
231  virtual bool createVrfObject();
232  virtual bool createVrfObject(DtVrfObjectFacadeInterface* objectImage);
233 
235  virtual bool modifyVrfObjects();
236  virtual bool modifyVrfObject(DtVrfObjectFacadeInterface* objectImage);
237 
240  virtual DtVrfObjectFacadeInterface* createAndAddLocalRepresentation(DtVrlinkSimulatedBaseStateView* editStateView = 0);
241  virtual DtVrfObjectFacadeInterface* createLocalRepresentation(DtVrlinkSimulatedBaseStateView* editStateView = 0) = 0;
242 
244  virtual DtVrfObjectFacadeInterface* createAndAddLocalRepresentation(DtVrlinkSimulatedBaseStateView* editStateView,
245  makVrv::DtUniqueID sceneObjectId, DtVrlinkSimulatedBaseStateView* principalStateView);
246  virtual DtVrfObjectFacadeInterface* createLocalRepresentation(DtVrlinkSimulatedBaseStateView* editStateView,
247  makVrv::DtUniqueID sceneObjectId, DtVrlinkSimulatedBaseStateView* principalStateView) = 0;
248 
250  virtual void initializeEventProcessor();
251 
253  virtual void setOverlay(const std::string& name);
254  virtual std::string overlay() const;
255  virtual std::string defaultOverlayForCreatingObject() const;
256 
258  virtual std::string getNextCreatingName(bool includeCurrent = false);
259 
261  virtual void setAltitudeAboveGL( double alt, bool setInProcessor = true );
262 
264  virtual void setAltitudeAboveGLForAll( double alt, bool setInProcessor = true );
265 
267  virtual void setAltitudeAboveSL( double alt, bool setInProcessor = true );
268 
270  virtual void setAltitudeAboveSLForAll( double alt, bool setInProcessor = true );
271 
273  virtual bool hasObjectFacade(makVrv::DtUniqueID) const;
274 
275  virtual void setAltitudeClampType( DtAltitudeClampType type );
277  {
278  return myAltitudeClampType;
279  }
280 
281  void setCreating(bool b)
282  {
283  myCreating = b;
284  }
285 
286  bool creating() const
287  {
288  return myCreating;
289  }
290 
291  virtual DtVrfObjectFacadeInterface* principalObjectImage() const;
292  virtual makVrv::DtUniqueID principalObjectID() const;
293 
294  virtual void setUserData(const std::string& userData);
295  virtual const std::string& userData() const;
296 
297  virtual void setExtendedLabels(const std::map<int, DtString>&);
298  virtual const std::map<int, DtString>& extendedLabels() const;
299 
300  virtual void setExtendedDataMap(const std::map<std::string, std::string>& extendedData);
301  virtual void setExtendedDataMap(const std::map<DtString, DtString>& extendedData);
302  virtual const std::map<std::string, std::string>& extendedDataMap() const;
303  virtual void setExtendedData(const std::string& key, const std::string& value);
304  virtual void removeExtendedData(const std::string& key);
305  virtual std::string extendedData(const std::string& key) const;
306 
307  virtual void slot_onComplete();
308  virtual void slot_onPlace(makVrv::DtUniqueID, const DtVector&, double altAboveGround);
309  virtual void slot_onEditComplete(makVrv::DtUniqueID, const DtVector&, double altAboveGround);
310  virtual void slot_onLocationChanged( const DtVector& location, double altAboveGround );
311  virtual void slot_onAltitudeIsDragging(bool);
312 
313  virtual void hideObject( const makVrv::DtUniqueID& id, bool hide );
314 
316  virtual void setPublishObject(bool);
317  virtual bool publishObject() const;
318 
320  virtual void setObjectName(const std::string& name);
321 
323  virtual void setUUIDForCreation(const DtUUID&);
324  virtual const DtUUID& uuidForCreation() const;
325 
327  virtual bool isUniqueName() const;
328 
332  virtual double groundHeight( const DtVector& localPosition, DtVector* localGround = 0,
333  const std::vector<makVrv::DtUniqueID>& ignore = std::vector<makVrv::DtUniqueID>()) const;
334 
335  virtual void setAltitudeAllowed(bool);
336  bool altitudeAllowed() const;
337 
339  bool pitchAllowed() const;
340 
341  virtual const std::string& objectName() const;
342 
345  virtual bool anchorMouseToOrigin() const;
346 
348  virtual bool anchorPositionIsMouse() const;
349 
351  virtual void setAnchorPosition(const DtGeodeticCoord&);
352 
354  virtual DtVector localLocation();
355 
356  virtual DtVector convertGeocentricToGround(const DtVector& geoc, double& altitude) const;
357 
358  virtual void setShowPropertiesDialogBeforeCreate(bool);
359  virtual bool showPropertiesDialogBeforeCreate() const;
360 
362  virtual bool keywordsContain(const std::string&) const;
363  virtual std::string keyword(const std::string&) const;
364  virtual std::string value(const std::string&) const;
365  virtual void addKeyword(const std::string&);
366  virtual void removeKeyword(const std::string&);
367 
368  virtual bool waitingToStop() const;
369 
370  virtual void setEditingType(DtEditingType);
372  {
373  return myEditingType;
374  }
375 
378  virtual void setEmbarkationInformation(makVrv::DtUniqueID, bool);
379  virtual makVrv::DtUniqueID embarkedOn() const;
380 
382  virtual std::vector<makVrv::DtElementID> ignoreList() const;
383 
386  virtual void setOverrideIdsToIgnore(const std::vector<makVrv::DtUniqueID>& overrideIgnore);
387 
389  virtual const std::vector<makVrv::DtElementID>& unifiedIgnoreList() const;
390 
391  virtual void slot_onAltitudeChanged(const DtVector&, double);
392 
394  virtual void cancel();
395 
397  virtual void setFacadesVisible(bool);
398 
400  virtual bool noStyle() const;
401 
402  virtual void slot_onHeadingChanged( double heading );
403  virtual void slot_onPitchChanged( double heading );
404 
406  virtual void setHeadingOffset(double d);
407 
409  virtual void setPitchOffset(double d);
410 
412  virtual void disconnectPlacement();
413 
416  virtual void setGroundClampOnPlacement(bool);
417  virtual bool groundClampOnPlacement() const;
418 
420  virtual void notifyOnFinalFacade(DtVrfObjectManipulationHandlerBaseClass*);
421  virtual void removeNotifyOnFinalFacade(DtVrfObjectManipulationHandlerBaseClass*);
422 
424  virtual void connectPlacement();
425 
427  virtual DtVector centerOfMass() const;
428 
431  virtual DtVector sumOfAllLocations() const;
432 
434  virtual void updateOffsetsBasedOnMousePosition(const DtVector& centerOfMass, const DtGeodeticCoord&,
435  bool usImagePoints = false);
436 
438  virtual void setSignalOnMultiSelectionComplete(bool);
439 
441  virtual void setKeywords(const std::string&);
442 
445  virtual void setSelectionCount(int);
447  virtual void parseKeywords(const std::string&);
448 
449  virtual bool warpMouseToOrigin() const;
450  virtual void setWarpMouseToOrigin(bool);
451 
453  boost::signals2::signal<void (bool)> signal_embarkationAllowedChanged;
454 
459  boost::signals2::signal<void (bool)> signal_showPropertiesDialog;
460 
462  boost::signals2::signal<void (bool)> signal_attachObjectToMouse;
463 
465  boost::signals2::signal<void (DtVrfObjectFacadeInterface*, DtVrlinkSimulatedBaseStateView* editStateView)> signal_preVisualization;
466 
469  boost::signals2::signal<void (DtVrfObjectFacadeInterface*, bool)> signal_objectFacadeCreated;
470 
472  boost::signals2::signal<void (const DtEntityType&, int)> signal_started;
473 
475  boost::signals2::signal<void (DtVrfObjectManipulationHandlerBaseClass*)> signal_multiSelectonCreationComplete;
476 
478  {
479  ObjectManipulationData() : myOwnsContentMessages(false), color(0), appearance(0), projected(false),
480  physicalLineHeight(0.), physicalLineWidth(0.), isClosedFigure(false) , isProjected(false), embarkId(0), useSlotIfAvailable(false), initialUUID(DtUUID::nullUUID()) {};
481 
483  entityType(omd.entityType)
484  , createdEntityType(omd.createdEntityType)
485  , objectName(omd.objectName)
486  , force(omd.force)
487  , positions(omd.positions)
488  , heading(omd.heading)
489  , pitch(omd.pitch)
490  , isProjected(omd.isProjected)
491  , isClosedFigure(omd.isClosedFigure)
492  , clamped(omd.clamped)
493  , isAggregated(omd.isAggregated)
494  , userData(omd.userData)
495  , isPublished(omd.isPublished)
496  , extendedData(omd.extendedData)
497  , extendedLabels(omd.extendedLabels)
498  , myOwnsContentMessages(true)
499  , color(omd.color)
500  , appearance(omd.appearance)
501  , overlay(omd.overlay)
502  , projected(omd.projected)
503  , physicalLineHeight(omd.physicalLineHeight)
504  , physicalLineWidth(omd.physicalLineWidth)
505  , embarkId(omd.embarkId)
506  , useSlotIfAvailable(omd.useSlotIfAvailable)
507  , initialUUID(omd.initialUUID)
508  {
509  setContentMessages(omd.myContentMessages);
510  }
511 
513  {
514  if (myOwnsContentMessages)
515  {
516  deleteContentMessages();
517  }
518  }
519 
521  {
522  std::list<DtSimInterfaceContent*>::iterator iter = myContentMessages.begin();
523  while (iter != myContentMessages.end())
524  {
525  delete *iter;
526  ++iter;
527  }
528 
529  myContentMessages.clear();
530  myOwnsContentMessages = false;
531  }
532 
533  void setContentMessages(const ContentMessages& messages)
534  {
535  if (myOwnsContentMessages)
536  {
537  deleteContentMessages();
538  }
539 
540  ContentMessages::const_iterator iter = messages.begin();
541  while (iter != messages.end())
542  {
543  myContentMessages.push_back(iter->second->clone());
544  ++iter;
545  }
546  }
547 
548  void setContentMessages(const std::list<DtSimInterfaceContent*>& messages)
549  {
550  if (myOwnsContentMessages)
551  {
552  deleteContentMessages();
553  }
554 
555  std::list<DtSimInterfaceContent*>::const_iterator iter = messages.begin();
556  while (iter != messages.end())
557  {
558  myContentMessages.push_back((*iter)->clone());
559  ++iter;
560  }
561  }
562 
564  {
565  myContentMessages.push_back(message.clone());
566  }
567 
569  DtEntityType entityType;
570  DtEntityType createdEntityType;
571  std::string objectName;
572  int force;
573  std::vector<DtVector> positions;
574  double heading;
575  double pitch;
576  bool clamped;
579  std::string userData;
581  unsigned int color;
582  unsigned int appearance;
583  bool projected;
587  std::map<std::string, std::string> extendedData;
588  std::map<int, DtString> extendedLabels;
589  std::list<DtSimInterfaceContent*> myContentMessages;
591  std::string overlay;
595  };
596 
598  boost::signals2::signal<void (bool)> signal_altitudeAllowedChanged;
599 
601  boost::signals2::signal<void ( const ObjectManipulationData& )> signal_createObject;
602 
604  boost::signals2::signal<void (const DtString&, const DtString&)> signal_createTerrainProp;
605 
607  boost::signals2::signal<void (DtVrfObjectManipulationHandlerBaseClass*)> signal_stopped;
608 
610  boost::signals2::signal<void (DtVrfObjectManipulationHandlerBaseClass*)> signal_eventProcessorRemoved;
611 
613  boost::signals2::signal<void (DtVrfObjectManipulationHandlerBaseClass*)> signal_complete;
614 
616  boost::signals2::signal<void (const DtVector& )> signal_locationChanged;
617 
619  boost::signals2::signal<void (double)> signal_headingChanged;
620 
622  boost::signals2::signal<void (double)> signal_pitchChanged;
623 
625  boost::signals2::signal<void (double)> signal_altitudeChanged;
626 
628  boost::signals2::signal<void (const DtVector&)> signal_placement;
629 
632  boost::signals2::signal<void (DtVrfObjectManipulationHandlerBaseClass*)> signal_restoreSelectionState;
633 
635  boost::signals2::signal<void (const makVrv::DtUniqueID&)> signal_principalStateViewUpdated;
636 
638  boost::signals2::signal<void (DtVrfObjectFacadeInterface*)> signal_objectFacadeAboutToBeRemoved;
639 
641  boost::signals2::signal<void (int)> signal_forceChanged;
642 
643  protected:
644  virtual void clearConnections();
645 
647  virtual void slot_simObjectEntryToBeRemoved(const makVrv::DtSimObjectEntry&);
648 
650  virtual bool typeIsValidForEditingByHandler(const makVrv::DtElementEntry::ElementType&, const DtEntityType&) const;
651 
652  virtual void slot_onCancel(bool escPressed);
653 
654  virtual std::string stripNumbers(const std::string& base) const;
655 
656  virtual double defaultAltitudeOffsetFor(DtVrfObjectFacadeInterface* i) const;
657 
658  virtual void warpMouseToLocation( makVrv::DtChannel* channel, const DtVector& location ) const ;
659 
662  virtual void initializeEdit();
663 
664  virtual void slot_onPrincipalStateViewUpdated(DtVrlinkSimulatedBaseStateView* principalStateView,
665  const makVrv::DtUniqueID& principalSceneObjectId );
666 
667  virtual void slot_onStateViewUpdated( DtVrlinkSimulatedBaseStateView* editStateView, makVrv::DtUniqueID sceneObjectId,
668  DtVrlinkSimulatedBaseStateView* principalStateView);
669 
671  virtual void initializeLocationChangeConnections();
672 
675  virtual bool centerOn(const makVrv::DtUniqueID& id, DtVector* centerPos = 0, const DtVector* centerHere = 0,
676  bool centerOnOnlyIfMousePositionIsOffWindow = true) const;
677 
678  virtual void setObjectImageAsAnchor(DtVrfObjectFacadeInterface* objectImage, const DtVector& geocLocation,
679  bool resetOrigin = false);
680 
681  virtual void setHeading(DtVrfObjectFacadeInterface* objectImage, double heading);
682  virtual void setPitch(DtVrfObjectFacadeInterface* objectImage, double heading);
683  virtual std::string defaultOverlayFor(const DtRwNLengthStringVector&) const;
684  virtual std::string defaultOverlayFor(const DtModelSetEntry* e) const;
685 
686  virtual bool continueWithHandlerCancelOnLastObjectRemoval();
687  virtual bool isOkToStopEditing();
688  virtual void handlerDisabled();
689 
690  virtual void setObjectImageRelativeToPrincipal(DtVrfObjectFacadeInterface* objectImage,
691  const DtVector& thisGeocLocation, const DtTaitBryan& thisGeocOrientation,
692  const DtVector& prGeocLocation, const DtTaitBryan& prGeocOrientation);
693 
695  virtual void setObjectImageRelativeTo(DtVrfObjectFacadeInterface* objectImage,
696  const DtVector& thisGeocLocation, const DtVector& prGeocLocation, bool relativeOnly = false);
697 
699  virtual void setObjectImageRelativeToAltitudeOnly(DtVrfObjectFacadeInterface* objectImage,
700  const DtVector& thisGeocLocation, const DtVector& prGeocLocation);
701 
702  virtual void initializeInterfaceForEdit(DtVrfObjectFacadeInterface*, makVrv::DtUniqueID,
703  const makVrv::DtVrlinkSimulatedBaseState&, const DtVector& principalLocation, const DtTaitBryan& principalOrientation);
704  virtual void calculateAnchor(const DtVector& localAnchor);
705  virtual void calculateAnchorBasedOnMousePosition(makVrv::DtChannel& channel);
706 
707  virtual void initializeAltitudeAboveTerrainForEdit(double curAlt, const DtVector& curPos,
709 
710  virtual void postCreateInitialize(DtVrfObjectFacadeInterface*);
711 
713  virtual bool clampOnPlacement() const;
714 
716  virtual bool clampAtClosestPolygonOnPlacement() const;
717 
719  virtual void updateOffsetsBasedOnMousePosition();
720 
721  virtual bool setupIgnoreLists();
722 
723  virtual void removeObjectBecauseOfDeletion(DtVrfObjectFacadeInterface*);
724 
725  protected:
728  int myForce;
732  std::string myObjectName;
733  std::string myOverlay;
734 
741 
742  std::string myUserData;
743  std::map<std::string, std::string> myExtendedData;
744  std::map<int, DtString> myExtendedLabels;
745 
746  std::string myKey;
747  std::string myKeyData;
749 
751 
753 
754  boost::signalslib::connection myObjectRemovalConnection;
755 
757  DtReferenceEllipsoid* myReferenceForConversion;
759 
763  DtGeodeticCoord myAnchorPosition;
764  DtTimedSection* myDeferredStopTimer;
768 
770  std::vector<std::string> myKeywords;
771 
775 
778 
781 
783 
784  typedef std::map<DtVrlinkSimulatedBaseStateView*, makVrv::DtSignalConnectionManager*> StateViewConnections;
790 
793 
794  mutable bool myCheckedEmbark;
795  mutable bool myCanEmbark;
797 
798  mutable std::vector<makVrv::DtElementID> myUnifiedIgnoreList;
799  mutable std::set<makVrv::DtUniqueID> myDIGuyIdsIgnored;
800  mutable std::vector<makVrv::DtUniqueID> myModelIds;
801 
802  std::vector<makVrv::DtElementID> myOverrideIdsToIgnore;
803  std::vector<DtVrfObjectManipulationHandlerBaseClass*> myNotifyOnFinalFacade;
804  };
805 
807  {
808  public:
809  virtual DtVrfObjectManipulationHandlerBaseClass* create() const = 0;
810  };
811 
812  template <typename T>
814  {
815  public:
817  : myDe(de)
818  {
819  }
820 
822  {
823  }
824 
826  {
827  return new T(myDe);
828  }
829 
830  protected:
832  };
833 
834 }
Definition: vrfObjectManipulationHandlerBaseClass.h:62
UUID is a unique ID wrapper class.
Definition: rwUUID.h:222
bool myPublishObject
Definition: vrfObjectManipulationHandlerBaseClass.h:769
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:50
boost::signals2::signal< void(DtVrfObjectFacadeInterface *)> signal_objectFacadeAboutToBeRemoved
Sent when object facade interface is about to be removed.
Definition: vrfObjectManipulationHandlerBaseClass.h:638
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:632
Manage the tick and mouse events when editing or placing a Vrf object.
Definition: vrfObjectManipulationEventProcessor.h:35
Definition: vrfObjectManipulationHandlerBaseClass.h:56
double myDeferStopFor
Definition: vrfObjectManipulationHandlerBaseClass.h:766
std::map< std::string, std::string > extendedData
Definition: vrfObjectManipulationHandlerBaseClass.h:587
Definition: vrfObjectManipulationHandlerBaseClass.h:47
int mySelectionCount
Definition: vrfObjectManipulationHandlerBaseClass.h:779
virtual ~ObjectManipulationData()
Definition: vrfObjectManipulationHandlerBaseClass.h:512
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:475
boost::signals2::signal< void(DtVrfObjectManipulationHandlerBaseClass *)> signal_stopped
Sent when entity creation has stopped.
Definition: vrfObjectManipulationHandlerBaseClass.h:607
bool myOwnsEventProcessor
Definition: vrfObjectManipulationHandlerBaseClass.h:736
boost::signalslib::connection myObjectRemovalConnection
Definition: vrfObjectManipulationHandlerBaseClass.h:754
bool myOverlayHasBeenSet
Definition: vrfObjectManipulationHandlerBaseClass.h:791
virtual DtVrfObjectManipulationHandlerBaseClass * create() const =0
Definition: vrfObjectManipulationHandlerBaseClass.h:63
DtReferenceEllipsoid * myReferenceForConversion
Definition: vrfObjectManipulationHandlerBaseClass.h:757
bool myGroundClampOnPlacement
Definition: vrfObjectManipulationHandlerBaseClass.h:767
DtVrfObjectManipulationEventProcessor * myEventProcessor
Definition: vrfObjectManipulationHandlerBaseClass.h:735
boost::signals2::signal< void(DtVrfObjectFacadeInterface *, bool)> signal_objectFacadeCreated
signal sent after the facade is created.
Definition: vrfObjectManipulationHandlerBaseClass.h:469
std::vector< makVrv::DtElementID > myOverrideIdsToIgnore
Definition: vrfObjectManipulationHandlerBaseClass.h:802
DtRwNLengthStringVector is a named, readable/writable vector of strings of arbitrary length...
Definition: rwNLengthStringVector.h:28
std::vector< DtVector > positions
Definition: vrfObjectManipulationHandlerBaseClass.h:573
DtEntityType entityType
If you want content messages cloned and deleted use the set command.
Definition: vrfObjectManipulationHandlerBaseClass.h:569
Definition: vrfObjectManipulationHandlerBaseClass.h:58
std::string overlay
Definition: vrfObjectManipulationHandlerBaseClass.h:591
bool myMultiSelection
Definition: vrfObjectManipulationHandlerBaseClass.h:780
bool myShowPropertiesDialogBeforeCreate
Definition: vrfObjectManipulationHandlerBaseClass.h:762
DtVrfObjectManipulationHandlerCreator(makVrv::DtDe &de)
Definition: vrfObjectManipulationHandlerBaseClass.h:816
boost::signals2::signal< void(DtVrfObjectManipulationHandlerBaseClass *)> signal_eventProcessorRemoved
Sent when the event processor has been destroyed.
Definition: vrfObjectManipulationHandlerBaseClass.h:610
bool isAggregated
Definition: vrfObjectManipulationHandlerBaseClass.h:578
boost::signals2::signal< void(double)> signal_headingChanged
signal sent when the mouse changes the orientation of an object during creation/editing ...
Definition: vrfObjectManipulationHandlerBaseClass.h:619
std::map< DtVrlinkSimulatedBaseStateView *, makVrv::DtSignalConnectionManager * > StateViewConnections
Definition: vrfObjectManipulationHandlerBaseClass.h:784
bool myDoNotClamp
Definition: vrfObjectManipulationHandlerBaseClass.h:796
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:465
boost::signals2::signal< void(double)> signal_pitchChanged
signal sent when the mouse changes the pitch of an object during creation/editing ...
Definition: vrfObjectManipulationHandlerBaseClass.h:622
bool myEmbarkInSlotIfAvailable
Definition: vrfObjectManipulationHandlerBaseClass.h:789
Definition: vrfObjectManipulationHandlerBaseClass.h:65
bool isProjected
Definition: vrfObjectManipulationHandlerBaseClass.h:577
DtEditingType
Definition: vrfObjectManipulationHandlerBaseClass.h:44
Definition: vrfObjectManipulationHandlerBaseClass.h:74
std::map< int, DtString > extendedLabels
Definition: vrfObjectManipulationHandlerBaseClass.h:588
Definition: vrfObjectManipulationHandlerBaseClass.h:59
void deleteContentMessages()
Definition: vrfObjectManipulationHandlerBaseClass.h:520
std::vector< makVrv::DtUniqueID > myModelIds
Definition: vrfObjectManipulationHandlerBaseClass.h:800
int myForce
Definition: vrfObjectManipulationHandlerBaseClass.h:728
std::string userData
Definition: vrfObjectManipulationHandlerBaseClass.h:579
std::vector< makVrv::DtElementID > myUnifiedIgnoreList
Definition: vrfObjectManipulationHandlerBaseClass.h:798
bool isPublished
Definition: vrfObjectManipulationHandlerBaseClass.h:580
double heading
Definition: vrfObjectManipulationHandlerBaseClass.h:574
#define DT_DLL_VRFGUICORE
Contains DLL export macros.
Definition: vrfGuiCore.h:25
VrfObjectEditFacadeList myObjectImages
Definition: vrfObjectManipulationHandlerBaseClass.h:756
bool myWarpMouseToOrigin
Definition: vrfObjectManipulationHandlerBaseClass.h:792
double physicalLineWidth
Definition: vrfObjectManipulationHandlerBaseClass.h:585
std::string myOverlay
Definition: vrfObjectManipulationHandlerBaseClass.h:733
makVrv::DtDe & myDe
Definition: vrfObjectManipulationHandlerBaseClass.h:831
std::map< int, DtString > myExtendedLabels
Definition: vrfObjectManipulationHandlerBaseClass.h:744
boost::signals2::signal< void(const DtVector &)> signal_placement
signal sent when the left mouse is pressed during creation/editing
Definition: vrfObjectManipulationHandlerBaseClass.h:628
double physicalLineHeight
Definition: vrfObjectManipulationHandlerBaseClass.h:584
Definition: vrfObjectManipulationHandlerBaseClass.h:49
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:459
DtGeodeticCoord myAnchorPosition
Definition: vrfObjectManipulationHandlerBaseClass.h:763
Definition: vrfObjectManipulationHandlerBaseClass.h:48
The abstract Channel Class.
Definition: DtChannel.h:29
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:747
double myTotalTimeElapsed
Definition: vrfObjectManipulationHandlerBaseClass.h:765
std::string myObjectName
Definition: vrfObjectManipulationHandlerBaseClass.h:732
boost::signals2::signal< void(double)> signal_altitudeChanged
signal sent when the mouse changes the altitude of an object during creation/editing ...
Definition: vrfObjectManipulationHandlerBaseClass.h:625
DtUUID myUUIDForCreation
Definition: vrfObjectManipulationHandlerBaseClass.h:782
bool projected
Definition: vrfObjectManipulationHandlerBaseClass.h:583
DtAltitudeClampType altitudeClampType() const
Definition: vrfObjectManipulationHandlerBaseClass.h:276
A DtSimObjectEntry is an entry for a persistent simulation object like an entity. ...
Definition: DtSimObjectEntry.h:25
Definition: vrfObjectFacadeInterface.h:47
Definition: vrfObjectManipulationHandlerBaseClass.h:73
Definition: vrfObjectManipulationHandlerBaseClass.h:46
boost::signals2::signal< void(bool)> signal_embarkationAllowedChanged
Signal emitted when the embarkation allowed state changes.
Definition: vrfObjectManipulationHandlerBaseClass.h:453
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:571
unsigned int color
Definition: vrfObjectManipulationHandlerBaseClass.h:581
DtAltitudeClampType myAltitudeClampType
Definition: vrfObjectManipulationHandlerBaseClass.h:758
boost::signals2::signal< void(bool)> signal_attachObjectToMouse
Signal sent when attached object to mouse changes.
Definition: vrfObjectManipulationHandlerBaseClass.h:462
int force
Definition: vrfObjectManipulationHandlerBaseClass.h:572
Definition: vrfObjectManipulationHandlerBaseClass.h:88
makVrv::DtStateView< makVrv::DtVrlinkSimulatedBaseState > DtVrlinkSimulatedBaseStateView
Definition: vrfObjectManipulationHandlerBaseClass.h:81
bool myAltitudeIsDragging
Definition: vrfObjectManipulationHandlerBaseClass.h:737
Class to manage disconnection of boost connections on deletion.
Definition: DtSignalConnectionManager.h:24
Definition: vrfObjectManipulationHandlerBaseClass.h:77
Definition: vrfObjectManipulationHandlerBaseClass.h:61
bool clamped
Definition: vrfObjectManipulationHandlerBaseClass.h:576
HandlerType
Definition: vrfObjectManipulationHandlerBaseClass.h:53
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:604
makVrv::DtSelectionManager::IdSet myEditingObjects
Definition: vrfObjectManipulationHandlerBaseClass.h:752
bool myCheckedEmbark
Definition: vrfObjectManipulationHandlerBaseClass.h:794
bool creating() const
Definition: vrfObjectManipulationHandlerBaseClass.h:286
Definition: vrfObjectManipulationHandlerBaseClass.h:64
ElementType
Definition: DtElementEntry.h:26
makVrv::DtUniqueID myEmbarkOnId
Definition: vrfObjectManipulationHandlerBaseClass.h:788
void addContentMessage(const DtSimInterfaceContent &message)
Definition: vrfObjectManipulationHandlerBaseClass.h:563
Definition: vrfObjectManipulationHandlerBaseClass.h:806
DtTimedSection * myDeferredStopTimer
Definition: vrfObjectManipulationHandlerBaseClass.h:764
boost::signals2::signal< void(const makVrv::DtUniqueID &)> signal_principalStateViewUpdated
Sent when principal state view is updated for editing.
Definition: vrfObjectManipulationHandlerBaseClass.h:635
boost::signals2::signal< void(DtVrfObjectManipulationHandlerBaseClass *)> signal_complete
Sent when entity creation has completed (right-click)
Definition: vrfObjectManipulationHandlerBaseClass.h:613
unsigned long long DtUniqueID
Definition: DtUniqueID.h:22
ContentMessages myContentMessages
Definition: vrfObjectManipulationHandlerBaseClass.h:776
StateViewConnections myStateViewConnections
Definition: vrfObjectManipulationHandlerBaseClass.h:785
std::vector< std::string > myKeywords
Definition: vrfObjectManipulationHandlerBaseClass.h:770
boost::signals2::signal< void(int)> signal_forceChanged
Sent when force changed.
Definition: vrfObjectManipulationHandlerBaseClass.h:641
std::set< makVrv::DtUniqueID > myDIGuyIdsIgnored
Definition: vrfObjectManipulationHandlerBaseClass.h:799
bool myAltitudeAllowed
Definition: vrfObjectManipulationHandlerBaseClass.h:738
Definition: vrfObjectManipulationHandlerBaseClass.h:477
makVrv::DtDe & myDe
Definition: vrfObjectManipulationHandlerBaseClass.h:729
makVrv::DtChannel * myHiddenChannel
Definition: vrfObjectManipulationHandlerBaseClass.h:740
virtual DtVrfObjectManipulationHandlerBaseClass * create() const
Definition: vrfObjectManipulationHandlerBaseClass.h:825
double pitch
Definition: vrfObjectManipulationHandlerBaseClass.h:575
Definition: vrfObjectManipulationHandlerBaseClass.h:60
bool myAllowCreationOnClick
Definition: vrfObjectManipulationHandlerBaseClass.h:731
Base class to provide boost signal/slot management.
bool myIgnoreFirstMouseClick
Definition: vrfObjectManipulationHandlerBaseClass.h:761
boost::signals2::signal< void(bool)> signal_altitudeAllowedChanged
signal sent when altitude allowed changes
Definition: vrfObjectManipulationHandlerBaseClass.h:598
boost::signals2::signal< void(const DtEntityType &, int)> signal_started
Signaled when entity creation has started.
Definition: vrfObjectManipulationHandlerBaseClass.h:472
bool myFacadesVisible
Definition: vrfObjectManipulationHandlerBaseClass.h:773
Definition: vrfObjectManipulationHandlerBaseClass.h:68
std::list< DtSimInterfaceContent * > myContentMessages
Definition: vrfObjectManipulationHandlerBaseClass.h:589
Definition: vrfObjectManipulationHandlerBaseClass.h:55
DtCreationSignalType mySignalCreation
Definition: vrfObjectManipulationHandlerBaseClass.h:748
bool isClosedFigure
Definition: vrfObjectManipulationHandlerBaseClass.h:586
std::vector< DtVrfObjectManipulationHandlerBaseClass * > myNotifyOnFinalFacade
Definition: vrfObjectManipulationHandlerBaseClass.h:803
const ContentMessages & contentMessages() const
Definition: vrfObjectManipulationHandlerBaseClass.h:170
bool myClearedProcessor
Definition: vrfObjectManipulationHandlerBaseClass.h:739
bool myOwnsContentMessages
Definition: vrfObjectManipulationHandlerBaseClass.h:590
Contains makVrv::DtUniqueID type.
bool mySignalOnMultiSelectionComplete
Definition: vrfObjectManipulationHandlerBaseClass.h:750
Definition: vrfObjectManipulationHandlerBaseClass.h:57
std::string myUserData
Definition: vrfObjectManipulationHandlerBaseClass.h:742
Definition: vrfObjectManipulationHandlerBaseClass.h:66
ObjectManipulationData(const ObjectManipulationData &omd)
Definition: vrfObjectManipulationHandlerBaseClass.h:482
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:601
bool myOverlayChanged
Definition: vrfObjectManipulationHandlerBaseClass.h:760
bool myAttachObjectToMouse
Definition: vrfObjectManipulationHandlerBaseClass.h:727
void setCreating(bool b)
Definition: vrfObjectManipulationHandlerBaseClass.h:281
Definition: vrfObjectManipulationHandlerBaseClass.h:813
bool myCreating
Definition: vrfObjectManipulationHandlerBaseClass.h:726
bool myShowingPropertiesDialog
Definition: vrfObjectManipulationHandlerBaseClass.h:786
std::vector< DtVrfObjectFacadeInterface * > VrfObjectEditFacadeList
Definition: vrfObjectManipulationHandlerBaseClass.h:91
virtual DtSimInterfaceContent * clone() const =0
bool myCanEmbark
Definition: vrfObjectManipulationHandlerBaseClass.h:795
makVrv::DtSignalConnectionManager myConnections
Definition: vrfObjectManipulationHandlerBaseClass.h:787
DtEditingType myEditingType
Definition: vrfObjectManipulationHandlerBaseClass.h:777
std::set< DtUniqueID > IdSet
Definition: DtSelectionManager.h:32
DtUUID initialUUID
Definition: vrfObjectManipulationHandlerBaseClass.h:594
DtEntityType createdEntityType
Definition: vrfObjectManipulationHandlerBaseClass.h:570
DtCreationSignalType
Definition: vrfObjectManipulationHandlerBaseClass.h:71
void setContentMessages(const std::list< DtSimInterfaceContent * > &messages)
Definition: vrfObjectManipulationHandlerBaseClass.h:548
std::string myKey
Definition: vrfObjectManipulationHandlerBaseClass.h:746
bool mySignalManipulation
Definition: vrfObjectManipulationHandlerBaseClass.h:730
void setContentMessages(const ContentMessages &messages)
Definition: vrfObjectManipulationHandlerBaseClass.h:533
boost::signals2::signal< void(const DtVector &)> signal_locationChanged
signal sent when the mouse changes location during creation/editing
Definition: vrfObjectManipulationHandlerBaseClass.h:616
Creates the object immediately without waiting for a mouse click.
Definition: vrfObjectManipulationHandlerBaseClass.h:78
std::map< std::string, std::string > myExtendedData
Definition: vrfObjectManipulationHandlerBaseClass.h:743
int myCursorCount
Definition: vrfObjectManipulationHandlerBaseClass.h:772
unsigned int appearance
Definition: vrfObjectManipulationHandlerBaseClass.h:582
DtAltitudeClampType
Definition: vrfObjectFacadeInterface.h:38
DtVrlinkSimulatedBaseStateView * myPrincipalStateView
Definition: vrfObjectManipulationHandlerBaseClass.h:774
ObjectManipulationData()
Definition: vrfObjectManipulationHandlerBaseClass.h:479
DtEditingType editingType() const
Definition: vrfObjectManipulationHandlerBaseClass.h:371
bool useSlotIfAvailable
Definition: vrfObjectManipulationHandlerBaseClass.h:593
virtual ~DtVrfObjectManipulationHandlerCreator()
Definition: vrfObjectManipulationHandlerBaseClass.h:821
Definition: vrfObjectManipulationHandlerBaseClass.h:67
makVrv::DtUniqueID embarkId
Definition: vrfObjectManipulationHandlerBaseClass.h:592

Document ID: Generated on Thu Aug 27 10:56:05 EDT 2020 from SVN revision 217100
Copyright © 2005-2020 MAK Technologies. All Rights Reserved (www.mak.com)