VR-Forces 4.2 Class Documentation
DtVrfObjectManipulationEventProcessor.h
Go to the documentation of this file.
1 /******************************************************************************
2 ** Copyright (c) 2013 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 
17 #include <vrvCore/DtIntervisibilityEditingEventProcessor.h>
18 #include <vrvUtil/DtVirtualBaseClass.h>
19 #include <vrvUtil/DtSignalConnectionManager.h>
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 {
33  public makVrv::DtBasicEditingEventProcessor
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 setEditing(bool);
57 
59  virtual void setCreating(bool);
60 
63  virtual void setDragTolerance(int);
64  virtual int dragTolerance() const;
65 
68  virtual void setFreehand(bool);
69  virtual bool freehand() const;
70 
73  void setDragToleranceTime(double);
74  double dragToleranceTime() const;
75 
77  boost::signal<void ( double )> signal_headingChanged;
78 
79  protected:
81  virtual bool processMouseEvent(const makVrv::DtMouseEvent& ev, makVrv::DtChannel& channel);
82 
83  virtual bool processKeyboardEvent(const makVrv::DtKeyEvent& ev,
84  makVrv::DtChannel& channel);
85 
87  virtual void changeHeading( double mouseX, double mouseY );
88 
89  virtual bool pick(makVrv::DtChannel& channel, double x, double y, makVrv::DtIntersectorResult& result,
90  makVrv::DtIntersector::IntersectProperties props) const;
91 
92  virtual void cleanupTerrainDraggingVaraibles();
93 
95  virtual bool placePoint(makVrv::DtChannel& channel, const makVrv::DtMouseEvent&);
96 
97  virtual void changeAltitude( double mouseX, double mouseY );
98 
99  protected:
104  makVrv::DtSignalConnectionManager myConnections;
108  double myDragTime;
109  DtTimedSection myDragTimer;
112  };
113 
115  public makVrv::DtVirtualBaseClass
116  {
117 
118  public:
121  static DtVrfObjectManipulationEventProcessorCreator& instance( makVrv::DtDe& de );
122 
124  static void registerInstance( makVrv::DtDe& de,
126 
128  virtual DtVrfObjectManipulationEventProcessor* create( makVrv::DtDe& de );
129  };
130 
132  class DT_DLL_VRFGUICORE DtVrfIntervisibilityEditingEventProcessor : public makVrv::DtIntervisibilityEditingEventProcessor
133  {
134  public:
136  DtVrfIntervisibilityEditingEventProcessor(makVrv::DtInputDriver& inputDriver, makVrv::DtDe& de, const std::string& className);
137 
140 
141  protected:
142  virtual bool processMouseEvent( const makVrv::DtMouseEvent& ev, makVrv::DtChannel& channel);
143  };
144 
145  class DT_DLL_VRFGUICORE DtVrfIntervisibilityEditingEventProcessorCreator : public makVrv::DtIntervisibilityEditingEventProcessorCreator
146  {
147  public:
148  virtual makVrv::DtBasicEditingEventProcessor* create(makVrv::DtDe&);
149  };
150 }

Document ID: Generated on Sun Nov 24 19:49:21 EST 2013 from SVN revision 133924
Copyright © 2005-2013 VT MÄK. All Rights Reserved (www.mak.com)