VR-Forces Developer's Guide
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
vrfBoxManipulationHandler.h
Go to the documentation of this file.
1 /******************************************************************************
2 ** Copyright (c) 2015 MAK Technologies, Inc.
3 ** All rights reserved.
4 ******************************************************************************/
5 
8 
9 #pragma once
10 
11 #include <vrfGuiCore/vrfGuiCore.h>
13 #include <vrvCore/DtUniqueID.h>
14 
15 #include <vlpi/entityType.h>
16 
17 #include <matrix/vlVector.h>
18 
19 namespace makVrv
20 {
21  class DtCoordinateSystem;
22 }
23 
24 namespace makVrf
25 {
26  class DtEnvironmentalFacadeCollection;
27 
31  {
32 
33  public:
34 
36  virtual ~DtVrfBoxManipulationHandler();
37 
38  virtual HandlerType type() const { return Box; };
39 
41  virtual double length() const;
42 
44  virtual void setLength(double);
45 
47  virtual double width() const;
48 
50  virtual void setWidth(double);
51 
53  virtual void setDimensions(double length, double width, DtVrfObjectFacadeInterface* = 0);
54 
55  virtual std::vector<DtVector> createBox(
56  const DtVector& origin, double length, double width, double orientation);
57 
58  virtual void setLocation(const DtVector& location, double altAboveGround);
59 
60  virtual double maximumWidth() const;
61  virtual double maximumLength() const;
62 
65  virtual void setMouseClickChangesOrigin(bool);
66 
68  virtual bool mouseClickChangesOrigin() const;
69 
70  void setupImagePointsUsingImageOffset(DtEnvironmentalFacadeCollection* objectImage,
71  const std::vector<DtVector>& points);
72 
73  protected:
74  virtual DtVector clampLength(const DtVector& source, int toIndex, DtEnvironmentalFacadeCollection*) const;
75  virtual DtVector clampWidth(const DtVector& source, int toIndex, DtEnvironmentalFacadeCollection*) const;
76 
77  virtual void initializeEventProcessor();
78 
80  virtual void setLocation(int index, const DtVector& location, bool resetOrigin = true);
81 
83  virtual void objectCreated(DtVrfObjectFacadeInterface*);
84 
86  virtual void preVisualization(DtVrfObjectFacadeInterface*, DtVrlinkSimulatedBaseStateView*);
87 
89  virtual void setXTheSame(const DtVector& source, int index, DtEnvironmentalFacadeCollection* efc = 0);
90 
92  virtual void setYTheSame(const DtVector& source, int index, DtEnvironmentalFacadeCollection* efc = 0);
93 
94  virtual void getMinMaxVertices(const DtEntityType& creatingType, int& minVert, int& maxVert) const;
95 
97  virtual void slot_onEditComplete(makVrv::DtUniqueID id, const DtVector& location, double altAboveGround);
98 
99  virtual void slot_onLocationChanged( const DtVector& location, double altAboveGround );
100 
101  virtual void slot_onHeadingChanged( double heading );
102  virtual void initializeInterfaceForEdit(DtVrfObjectFacadeInterface* iFace, makVrv::DtUniqueID sceneObjectId,
103  const makVrv::DtVrlinkSimulatedBaseState& editState, const DtVector& principalLocation, const DtTaitBryan& principalOrientation);
104  virtual DtVrfObjectFacadeInterface* createLocalRepresentation( DtVrlinkSimulatedBaseStateView* editStateView,
105  makVrv::DtUniqueID sceneObjectId, DtVrlinkSimulatedBaseStateView* principalStateView );
106 
107  protected:
109  };
110 
113 }
class DtEnvironmentalFacadeCollection
Definition: environmentalFacadeCollection.h:77
DtVrfObjectManipulationHandlerCreator< DtVrfBoxManipulationHandler > DtVrfBoxManipulationHandlerCreator
Definition: vrfBoxManipulationHandler.h:112
voidpf uLong int origin
Definition: ioapi.h:42
The Master Scenario Settings Dialog.
Definition: vrfShapeManipulationHandler.h:31
bool myMouseClickChangesOrigin
Definition: vrfBoxManipulationHandler.h:108
#define DT_DLL_VRFGUICORE
Contains DLL export macros.
Definition: vrfGuiCore.h:25
virtual HandlerType type() const
The type of handler. Used to see if two handler are equivalent.
Definition: vrfBoxManipulationHandler.h:38
Definition: vrfObjectFacadeInterface.h:54
HandlerType
The type of handler this is.
Definition: vrfObjectManipulationHandlerBaseClass.h:52
const char * source
Definition: lz4.h:442
unsigned long long DtUniqueID
Definition: DtUniqueID.h:19
DT_DLL_VRVCORE double length(const makVrv::DtCoordinateSystem &, const std::vector< DtVector > &vertices)
Returns the total distance of a segmented line defined by the provided vector of vertices. Coordinates are in local database coordinates. The coordinate system is used to convert between the local database coordinates and geocentric. All distance is in 2D – the Z value is ignored.
Definition: vrfObjectManipulationHandlerBaseClass.h:54
Contains makVrv::DtUniqueID type.
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:72
Definition: vrfObjectManipulationHandlerBaseClass.h:847
The handler for creating and manipulating circles/ellipses.
Definition: vrfBoxManipulationHandler.h:30

Document ID: Generated on Tue Sep 24 19:28:17 EDT 2024 from SVN revision 269799
Copyright © 2005-2024 MAK Technologies. All Rights Reserved (www.mak.com)