VR-Forces 4.7 Class Documentation
 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 slot_onPlace(makVrv::DtUniqueID id, const DtVector& location, double altAboveGround);
90 
92  virtual void setXTheSame(const DtVector& source, int index, DtEnvironmentalFacadeCollection* efc = 0);
93 
95  virtual void setYTheSame(const DtVector& source, int index, DtEnvironmentalFacadeCollection* efc = 0);
96 
97  virtual void getMinMaxVertices(const DtEntityType& creatingType, int& minVert, int& maxVert) const;
98 
100  virtual void slot_onEditComplete(makVrv::DtUniqueID id, const DtVector& location, double altAboveGround);
101 
102  virtual void slot_onLocationChanged( const DtVector& location, double altAboveGround );
103 
104  virtual void slot_onHeadingChanged( double heading );
105  virtual void initializeInterfaceForEdit(DtVrfObjectFacadeInterface* iFace, makVrv::DtUniqueID sceneObjectId,
106  const makVrv::DtVrlinkSimulatedBaseState& editState, const DtVector& principalLocation, const DtTaitBryan& principalOrientation);
107  virtual DtVrfObjectFacadeInterface* createLocalRepresentation( DtVrlinkSimulatedBaseStateView* editStateView,
108  makVrv::DtUniqueID sceneObjectId, DtVrlinkSimulatedBaseStateView* principalStateView );
109 
110  protected:
112  };
113 
116 }

Document ID: Generated on Fri Apr 26 21:53:14 EDT 2019 from SVN revision 197883
Copyright © 2005-2019 VT MAK. All Rights Reserved (www.mak.com)