VR-Forces 5.0.1 Developer's Guide
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
vrfEntityManipulationHandler.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 #include <vrvCore/DtUniqueID.h>
17 #include <matrix/vlVector.h>
18 
20 class DtIfEmbarkObject;
22 class DtScriptedTaskSet;
23 
24 namespace makVrf
25 {
26  class DtEntityFacadeCollection;
27 
30  {
31 
32  public:
33 
36 
37  virtual void setForce(int f);
38 
39  virtual void setLabel(const std::string&);
40  virtual std::string label() const;
41 
42  virtual void setExtendedLabels(const std::map<int, DtString>&);
43 
44  virtual HandlerType type() const { return Entity; };
45 
46  virtual bool clampAtClosestPolygonOnPlacement() const;
47  virtual bool canSetActivationTime() const;
48  virtual bool needsEmbarkOnCheck() const;
49  virtual void setVisualMarking(const std::string& linkageName, const std::string& value);
50 
51  virtual std::map<std::string, std::string> markingDecalMap() const;
52 
53  boost::signals2::signal<void (std::string, std::string)> signal_markingDecalSet;
54 
58  boost::signals2::signal<void ()> signal_startOfMarkingDecalSet;
59  boost::signals2::signal<void ()> signal_endOfMarkingDecalSet;
60 
61  protected:
62  virtual void slot_markingDecalSet(DtEntityFacadeCollection*, std::string linkage, std::string marking);
63 
64  virtual DtEntityFacadeCollection* createFacadeInterface();
65 
66  virtual bool canChangeAltitudeOf(const DtEntityType&) const;
67 
68  virtual void initializeAltitudeAboveTerrainForEdit(double curAlt, const DtVector& curPos,
70 
73  virtual void updateOffsetsBasedOnMousePosition();
74 
75  virtual void collectionVisualized(DtVrfObjectFacadeInterface*);
76 
79  virtual bool createVrfObject(DtVrfObjectFacadeInterface*);
80  virtual void initializeInterfaceForEdit(DtVrfObjectFacadeInterface* iFace, makVrv::DtUniqueID sceneObjectId,
81  const makVrv::DtVrlinkSimulatedBaseState& editState, const DtVector& principalLocation, const DtTaitBryan& principalOrientation);
82 
83  virtual bool modifyVrfObject(DtVrfObjectFacadeInterface*);
84 
86  virtual DtVrfObjectFacadeInterface* createLocalRepresentation(DtVrlinkSimulatedBaseStateView* editStateView = 0);
87 
88  virtual DtVrfObjectFacadeInterface* createLocalRepresentation(
89  DtVrlinkSimulatedBaseStateView* editStateView, makVrv::DtUniqueID sceneObjectId, DtVrlinkSimulatedBaseStateView* principalStateView);
90 
91  virtual void initializeEventProcessor();
92  virtual void postCreateInitialize(DtVrfObjectFacadeInterface*);
93 
94  virtual void randomlyChooseDIGuyAppearance(const DtRwNLengthStringVector&, DtEntityFacadeCollection*);
95 
96  virtual void randomlyChooseDIGuyHandItem(const DtRwNLengthStringVector&, DtEntityFacadeCollection*);
97 
98  virtual void randomlyChooseDIGuyHead(const DtRwNLengthStringVector&, DtEntityFacadeCollection*);
99  virtual void handlerDisabled();
100 
101  virtual DtIfEmbarkObject* createEmbarkObjectMessage(const DtVector& geocentricEmbarkeePosition) const;
102 
104  virtual double defaultAltitudeOffsetFor(DtVrfObjectFacadeInterface*) const;
105 
107  virtual DtEntityType entityTypeBasedOnKey() const;
108 
109  virtual DtIfExecuteSimCommand* createMarkingTextSet(DtEntityFacadeCollection*) const;
110  virtual DtScriptedTaskSet* createMarkingTextScriptedSet(DtEntityFacadeCollection* ent) const;
111 
112  protected:
114  };
115 
118 }
boost::signals2::signal< void()> signal_endOfMarkingDecalSet
Definition: vrfEntityManipulationHandler.h:59
DtRwDIGuyCharacterInfo myDIGuyCharacterInformation
Definition: vrfEntityManipulationHandler.h:113
DtRwNLengthStringVector is a named, readable/writable vector of strings of arbitrary length...
Definition: rwNLengthStringVector.h:28
Set version of scripted task that is used in scripted set scripts.
Definition: scriptedTaskSet.h:19
Creation/edit of entity objects.
Definition: vrfEntityManipulationHandler.h:29
#define DT_DLL_VRFGUICORE
Contains DLL export macros.
Definition: vrfGuiCore.h:25
Contains the DtRwDIGuyCharacterInfo class declaration.
This interface content holds a DtSimCommand subclass for delivery to a simulation engine...
Definition: ifExecuteSimCommand.h:27
Instances of this class are the interface message content used to embark an object on the specified p...
Definition: ifEmbarkObject.h:22
Definition: vrfObjectFacadeInterface.h:53
Definition: vrfObjectManipulationHandlerBaseClass.h:90
HandlerType
The type of handler this is.
Definition: vrfObjectManipulationHandlerBaseClass.h:52
Will create entity facades for each realized model set and manage them all.
Definition: entityFacadeCollection.h:67
virtual HandlerType type() const
The type of handler. Used to see if two handler are equivalent.
Definition: vrfEntityManipulationHandler.h:44
DtVrfObjectManipulationHandlerCreator< DtVrfEntityManipulationHandler > DtVrfEntityManipulationHandlerCreator
Definition: vrfEntityManipulationHandler.h:117
The DtRwDIGuyCharactertInfo class is a readable/writable class that can store itself and read itself ...
Definition: rwDIGuyCharacterInfo.h:32
Contains makVrv::DtUniqueID type.
boost::signals2::signal< void(std::string, std::string)> signal_markingDecalSet
Definition: vrfEntityManipulationHandler.h:53
Definition: vrfObjectManipulationHandlerBaseClass.h:56
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
boost::signals2::signal< void()> signal_startOfMarkingDecalSet
These signals are needed because of variants/subvariants and not knowing in which order they are bein...
Definition: vrfEntityManipulationHandler.h:58

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)