VR-Forces 5.0.1 Developer's Guide
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
vrfSimulationObjectGroupManipulationHandler.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 <vrfGuiCore/vrfGuiCore.h>
15 
17 class DtCoordTransform;
20 
21 namespace makVrf
22 {
25  {
26  public:
27 
30 
31  virtual HandlerType type() const { return SimulationObjectGroup; };
32 
35  virtual bool createObject(const DtString& key, const DtString& associatedData,
36  DtCreationSignalType creationSignal=DtNoCreationSignal, const std::string& keywords = "");
37 
39  virtual bool createVrfObject();
40 
41  virtual void stop();
42 
44  virtual VrfObjectEditFacadeList objectFacades() const;
45 
47  virtual bool canEmbark() const;
48 
49  protected:
51  virtual bool setupIgnoreLists();
52 
54  virtual bool canChangePositionOnly() const;
55 
57  virtual DtVrfObjectFacadeInterface* createLocalRepresentation(DtVrlinkSimulatedBaseStateView* editStateView);
58 
60  virtual DtVrfObjectFacadeInterface* createLocalRepresentation(DtVrlinkSimulatedBaseStateView* editStateView,
61  makVrv::DtUniqueID sceneObjectId, DtVrlinkSimulatedBaseStateView* principalStateView);
62 
63  virtual void slot_onPlace(makVrv::DtUniqueID, const DtVector& location, double altAboveGround);
64 
65  makVrv::DtVrlinkSimulatedBaseState* createStateFor(DtSimulationObjectBaseState* state, int flags,
66  const DtCoordTransform* = 0) const;
67 
68  virtual DtTaitBryan transformOrientation(const DtVector& geocentricLocation,
69  const DtVector& localLocation, const DtTaitBryan& geocentricOrientation) const;
70 
71  virtual DtVector localLocation();
72  virtual void setLocation( const DtVector& loc );
73  virtual void setLocation(const DtVector& loc, double altAboveGround);
74 
75  virtual void initializeEventProcessor();
76  virtual void slot_onHeadingChanged(double);
77 
79  virtual DtVector transformLocation(const DtVector& location, int flags, const DtCoordTransform& transform) const;
80 
82  virtual std::vector<DtVector> transformLocations(
83  const DtSimulationObjectEnvironmentalState* state, int flags, const DtCoordTransform& transform) const;
84 
85  virtual void slot_onAltitudeChanged(const DtVector& loc, double d);
86 
87  virtual bool clampAtClosestPolygonOnPlacement() const;
88 
89  virtual DtGeodeticCoord clampToGround(const DtGeodeticCoord& v) const;
90  virtual DtVector clampToGround(const DtVector& v) const;
91 
92  virtual DtEntityType adjustEntityTypeForSimulationObjectGroupDisplay(const DtEntityType& baseType) const;
93 
94  protected:
96  DtGeodeticCoord myCurrentAnchorPosition;
97 
98  typedef std::map<int, DtVrfObjectManipulationHandlerBaseClass*> Handlers;
103 
104  typedef std::map<DtSimulationObjectBaseState*, DtVrfObjectFacadeInterface*> FacadeByStateMap;
107  std::map<DtUUID, DtSimulationObjectBaseState*> myMappedObjects;
108  };
109 
112 }
bool myShowEmbarkedObjects
Definition: vrfSimulationObjectGroupManipulationHandler.h:106
virtual HandlerType type() const
The type of handler. Used to see if two handler are equivalent.
Definition: vrfSimulationObjectGroupManipulationHandler.h:31
These classes are used to store the objects that are part of this simulation group. This information will be used by the front-end to figure out what to show on the display to give the user a view of what is going to be created by his simulation object group.
Definition: simulationObjectGroupModelSetEntry.h:24
int myGroupCreationFlags
Definition: vrfSimulationObjectGroupManipulationHandler.h:101
Definition: vrfObjectManipulationHandlerBaseClass.h:64
Definition: simulationObjectGroupModelSetEntry.h:123
FacadeByStateMap myFacadeByStateMap
Definition: vrfSimulationObjectGroupManipulationHandler.h:105
#define DT_DLL_VRFGUICORE
Contains DLL export macros.
Definition: vrfGuiCore.h:25
DtVector myLocalLocation
Definition: vrfSimulationObjectGroupManipulationHandler.h:100
DtVector myPlacementLocation
Definition: vrfSimulationObjectGroupManipulationHandler.h:95
The Master Scenario Settings Dialog.
Definition: vrfPointManipulationHandler.h:26
Definition: vrfObjectFacadeInterface.h:53
Definition: vrfObjectManipulationHandlerBaseClass.h:75
Handlers myHandlers
Definition: vrfSimulationObjectGroupManipulationHandler.h:99
HandlerType
The type of handler this is.
Definition: vrfObjectManipulationHandlerBaseClass.h:52
DtVrfObjectManipulationHandlerCreator< DtVrfSimulationObjectGroupManipulationHandler > DtVrfSimulationObjectGroupManipulationHandlerCreator
Definition: vrfSimulationObjectGroupManipulationHandler.h:111
std::map< int, DtVrfObjectManipulationHandlerBaseClass * > Handlers
Definition: vrfSimulationObjectGroupManipulationHandler.h:98
Definition: simulationObjectGroupModelSetEntry.h:57
DtGeodeticCoord myCurrentAnchorPosition
Definition: vrfSimulationObjectGroupManipulationHandler.h:96
double myOffsetRotation
Definition: vrfSimulationObjectGroupManipulationHandler.h:102
std::map< DtUUID, DtSimulationObjectBaseState * > myMappedObjects
Definition: vrfSimulationObjectGroupManipulationHandler.h:107
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: vrfObjectManipulationHandlerBaseClass.h:834
DtCreationSignalType
Option to supply to the createObject method.
Definition: vrfObjectManipulationHandlerBaseClass.h:73
This class will manage the creation of a simulation object group. There is only creation of these gro...
Definition: vrfSimulationObjectGroupManipulationHandler.h:24
std::map< DtSimulationObjectBaseState *, DtVrfObjectFacadeInterface * > FacadeByStateMap
Definition: vrfSimulationObjectGroupManipulationHandler.h:104

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)