VR-Forces Development_Version Class Documentation
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
vrfObjectManipulationEventProcessor.h
Go to the documentation of this file.
1 /******************************************************************************
2 ** Copyright (c) 2014 MAK Technologies, Inc.
3 ** All rights reserved.
4 ******************************************************************************/
5 
8 
10 
11 #pragma once
12 
13 #include <vrfGuiCore/vrfGuiCore.h>
14 
15 #include <boost/signal.hpp>
16 
20 
21 #include <vrvCore/DtUniqueID.h>
22 #include <vrvCore/DtMouseEvent.h>
23 
24 #include <matrix/vlVector.h>
25 #include <matrix/vlQuaternion.h>
26 
27 #include <vlutil/vlPerformanceStats.h>
28 
29 namespace makVrf
30 {
34  {
35  public:
38 
41 
44  virtual void setCurrentHeading( double heading );
45 
47  virtual void setHeadingAllowed(bool);
48  virtual bool headingAllowed() const;
49 
51  virtual double currentHeading() const;
52 
53  virtual const std::string& className();
54 
56  virtual void setEnabled(bool);
57 
59  virtual void setEditing(bool);
60 
62  virtual void setCreating(bool);
63 
65  virtual void setIgnoreNextLeftButtonRelease(bool b);
66  virtual void setEditStartedByDoubleClick(bool b);
67 
70  virtual void setDragTolerance(int);
71  virtual int dragTolerance() const;
72 
75  virtual void setFreehand(bool);
76  virtual bool freehand() const;
77 
80  void setDragToleranceTime(double);
81  double dragToleranceTime() const;
82 
84  virtual void setIgnoreList(const std::vector<makVrv::DtElementID>&);
85  const std::vector<makVrv::DtElementID>& ignoreList() const;
86 
89  virtual void setEmbarkationAllowed(bool);
90  virtual bool embarkationAllowed() const;
91 
93  boost::signal<void ( double )> signal_headingChanged;
94 
95  boost::signal<void (bool)> signal_cancel;
96 
98  virtual bool isShiftKeyDown() const;
99  virtual bool isControlKeyDown() const;
100  virtual bool isAltKeyDown() const;
101 
102  protected:
103  virtual makVrv::DtIntersector::IntersectProperties intersectorPickMask() const;
104 
106  virtual bool processMouseEvent(const makVrv::DtMouseEvent& ev, makVrv::DtChannel& channel);
107 
108  virtual bool processKeyboardEvent(const makVrv::DtKeyEvent& ev,
109  makVrv::DtChannel& channel);
110 
112  virtual void changeHeading( double mouseX, double mouseY );
113 
114  virtual bool pick(makVrv::DtChannel& channel, double x, double y, makVrv::DtIntersectorResult& result,
116 
117  virtual void cleanupTerrainDraggingVaraibles();
118 
120  virtual bool placePoint(makVrv::DtChannel& channel, const makVrv::DtMouseEvent&);
121 
123  virtual void changeAltitudeWithWheel( int wheelSteps );
124 
125  virtual void cancel(bool escPressed);
126  virtual void cancel();
127 
128  protected:
137  double myDragTime;
138  DtTimedSection myDragTimer;
141  std::vector<makVrv::DtElementID> myIgnoreList;
148  };
149 
152  {
153 
154  public:
158 
160  static void registerInstance( makVrv::DtDe& de,
162 
165  };
166 
169  {
170  public:
172  DtVrfIntervisibilityEditingEventProcessor(makVrv::DtInputDriver& inputDriver, makVrv::DtDe& de, const std::string& className);
173 
176 
178  virtual void changeAltitudeWithWheel( int wheelSteps );
179 
180  protected:
181  virtual bool processMouseEvent( const makVrv::DtMouseEvent& ev, makVrv::DtChannel& channel);
182  virtual bool pick(makVrv::DtChannel& channel, double x, double y, makVrv::DtIntersectorResult& result,
184  };
185 
187  {
188  public:
190  };
191 }

Document ID: Generated on Tue Mar 8 22:13:38 EST 2016 from SVN revision 162938
Copyright © 2005-2015 VT MÄK. All Rights Reserved (www.mak.com)