VR-Forces 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>
16 
18 class DtCoordTransform;
21 
22 namespace makVrf
23 {
26  {
27  public:
28 
31 
32  virtual HandlerType type() const override { return SimulationObjectGroup; };
33 
36  virtual bool createObject(const DtString& key, const DtString& associatedData,
37  DtCreationSignalType creationSignal = DtNoCreationSignal, const std::string& keywords = "") override;
38 
40  virtual bool createVrfObject() override;
41 
42  virtual void stop() override;
43 
45  virtual VrfObjectEditFacadeList objectFacades() const override;
46 
48  virtual bool canEmbark() const override;
49 
50  protected:
52  virtual bool setupIgnoreLists() override;
53 
55  virtual bool canChangePositionOnly() const override;
56 
58  virtual DtVrfObjectFacadeInterface* createLocalRepresentation(DtSimObjectReference) override;
59 
61  virtual DtVrfObjectFacadeInterface* createLocalRepresentation(DtSimObjectReference editStateView,
62  makVrv::DtUniqueID sceneObjectId, DtSimObjectReference principalStateView) override;
63 
64  virtual void slot_onPlace(makVrv::DtUniqueID, const DtVector& location, double altAboveGround) override;
65 
66  std::shared_ptr<DtGuiLocalObject> createStateFor(DtSimulationObjectBaseState* state, int flags,
67  const DtCoordTransform* = 0) const;
68 
69  virtual DtTaitBryan transformOrientation(const DtVector& geocentricLocation,
70  const DtVector& localLocation, const DtTaitBryan& geocentricOrientation) const;
71 
72  virtual DtVector localLocation() override;
73  virtual void setLocation(const DtVector& loc) override;
74  virtual void setLocation(const DtVector& loc, double altAboveGround) override;
75 
76  virtual void initializeEventProcessor() override;
77  virtual void slot_onHeadingChanged(double) override;
78 
80  virtual DtVector transformLocation(const DtVector& location, int flags, const DtCoordTransform& transform) const;
81 
83  virtual std::vector<DtVector> transformLocations(
84  const DtSimulationObjectEnvironmentalState* state, int flags, const DtCoordTransform& transform) const;
85 
86  virtual void slot_onAltitudeChanged(const DtVector& loc, double d) override;
87 
88  virtual bool clampAtClosestPolygonOnPlacement() const override;
89 
90  virtual DtGeodeticCoord clampToGround(const DtGeodeticCoord& v) const;
91  virtual DtVector clampToGround(const DtVector& v) const;
92 
93  virtual DtEntityType adjustEntityTypeForSimulationObjectGroupDisplay(const DtEntityType& baseType) const;
94 
95  protected:
97  DtGeodeticCoord myCurrentAnchorPosition;
98 
99  typedef std::map<int, DtVrfObjectManipulationHandlerBaseClass*> Handlers;
101  DtVector myLocalLocation;
104 
105  typedef std::map<DtSimulationObjectBaseState*, DtVrfObjectFacadeInterface*> FacadeByStateMap;
108  std::map<DtUUID, DtSimulationObjectBaseState*> myMappedObjects;
109  };
110 
113 }
bool myShowEmbarkedObjects
Definition: vrfSimulationObjectGroupManipulationHandler.h:107
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:102
Definition: vrfObjectManipulationHandlerBaseClass.h:64
Definition: simulationObjectGroupModelSetEntry.h:120
FacadeByStateMap myFacadeByStateMap
Definition: vrfSimulationObjectGroupManipulationHandler.h:106
#define DT_DLL_VRFGUICORE
Contains DLL export macros.
Definition: vrfGuiCore.h:25
DtVector myLocalLocation
Definition: vrfSimulationObjectGroupManipulationHandler.h:101
DtVector myPlacementLocation
Definition: vrfSimulationObjectGroupManipulationHandler.h:96
Definition: vrfPointManipulationHandler.h:25
Definition: vrfObjectFacadeInterface.h:53
Definition: vrfObjectManipulationHandlerBaseClass.h:75
virtual HandlerType type() const override
The type of handler. Used to see if two handler are equivalent.
Definition: vrfSimulationObjectGroupManipulationHandler.h:32
Handlers myHandlers
Definition: vrfSimulationObjectGroupManipulationHandler.h:100
HandlerType
The type of handler this is.
Definition: vrfObjectManipulationHandlerBaseClass.h:52
DtVrfObjectManipulationHandlerCreator< DtVrfSimulationObjectGroupManipulationHandler > DtVrfSimulationObjectGroupManipulationHandlerCreator
Definition: vrfSimulationObjectGroupManipulationHandler.h:112
unsigned long long DtUniqueID
Definition: DtUniqueID.h:19
std::map< int, DtVrfObjectManipulationHandlerBaseClass * > Handlers
Definition: vrfSimulationObjectGroupManipulationHandler.h:99
Definition: simulationObjectGroupModelSetEntry.h:56
DtGeodeticCoord myCurrentAnchorPosition
Definition: vrfSimulationObjectGroupManipulationHandler.h:97
double myOffsetRotation
Definition: vrfSimulationObjectGroupManipulationHandler.h:103
std::map< DtUUID, DtSimulationObjectBaseState * > myMappedObjects
Definition: vrfSimulationObjectGroupManipulationHandler.h:108
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:76
Definition: vrfObjectManipulationHandlerBaseClass.h:840
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:25
std::map< DtSimulationObjectBaseState *, DtVrfObjectFacadeInterface * > FacadeByStateMap
Definition: vrfSimulationObjectGroupManipulationHandler.h:105

Document ID: Generated on Thu Oct 23 22:29:17 EDT 2025 from SVN revision 280951
Copyright © 2005-2024 MAK Technologies. All Rights Reserved (www.mak.com)