VR-Forces 4.6.1 Class Documentation
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
DtObserverEventProcessor.h
Go to the documentation of this file.
1 /******************************************************************************
2 ** Copyright (c) 2017 MAK Technologies, Inc.
3 ** All rights reserved.
4 ******************************************************************************/
5 
9 
10 #pragma once
11 
12 #include <vrvCore/vrvCore.h>
14 #include <vrvCore/DtElementEntry.h>
15 
17 
18 namespace makVrv
19 {
20  class DtDe;
21  class DtInputDriver;
22  class DtObserver;
23  class DtIntersectorResult;
24 
29  {
30  public:
31 
33  DtObserverEventProcessor(DtInputDriver& inputDriver, DtDe& de);
34 
36  virtual ~DtObserverEventProcessor();
37 
38  virtual bool isMouseLooking() const;
39  virtual bool isTerrainDragging() const;
40  virtual bool isTerrainOrbitDragging() const;
41  virtual bool isViewDragging() const;
42 
48  virtual void getHiddenMousePosition( int& mouseX, int& mouseY );
49 
53  virtual bool processMouseEvent( const DtMouseEvent& ev, DtChannel& channel);
54 
58  virtual bool processKeyboardEvent( const DtKeyEvent& ev, DtChannel& channel);
59 
63  virtual bool processPinchGesture( const DtPinchGesture& ev, DtChannel& channel);
64 
67  virtual const std::string& className();
68 
71  static bool isJumpToEvent( DtMouseEvent::EventType mouseEventType,
73 
76  static bool isAttachToEvent( DtMouseEvent::EventType mouseEventType,
78 
79  protected:
80 
81  virtual void setFlashlightControlEnabled(bool enabled);
82 
83  virtual void processObjectMousedOn( DtObserver& observer, DtChannel& channel,
84  const DtMouseEvent& mouseEvent, const DtIntersectorResult& isectResult);
85 
86  virtual void processTerrainMousedOn( DtObserver& observer, DtChannel& channel,
87  const DtMouseEvent& mouseEvent, const DtIntersectorResult& isectResult);
88 
89  virtual void showMouse( DtChannel& channel );
90  virtual void hideMouse( DtChannel& channel, const DtMouseEvent& mouseEvent );
91 
92  //View drag behavior
93  virtual void viewDrag(DtObserver&, DtChannel&, const DtMouseEvent& );
94  virtual void startViewDrag(DtObserver&, DtChannel&, const DtMouseEvent& );
95  virtual void continueViewDrag(DtObserver&, DtChannel&, const DtMouseEvent& );
96  virtual void stopViewDrag(DtObserver&, DtChannel&, const DtMouseEvent& );
97 
98  //Mouse look behavior
99  virtual void mouseLook(DtObserver&, DtChannel&, const DtMouseEvent& );
100  virtual void startMouseLook(DtObserver&, DtChannel&, const DtMouseEvent& );
101  virtual void continueMouseLook( DtObserver&, DtChannel&, const DtMouseEvent& );
102  virtual void stopMouseLook(DtObserver&, DtChannel&, const DtMouseEvent& );
103 
104  //Terrain drag behavior
105  virtual void dragTerrain( DtObserver&, DtChannel&, const DtMouseEvent& );
106  virtual void startDragTerrain( DtObserver&, DtChannel&, const DtMouseEvent& );
107  virtual void continueDragTerrain( DtObserver&, DtChannel&, const DtMouseEvent&);
108  virtual void stopDragTerrain( DtObserver&, DtChannel&, const DtMouseEvent& );
109 
110  virtual void scrollLevelObserverByWheel( DtObserver& observer, DtChannel& channel,
111  const DtMouseEvent& mouseEvent);
112  virtual void moveObserverByWheel( DtObserver&, DtChannel&, const DtMouseEvent&);
113  virtual void changeViewMagnificationByWheel( DtObserver&, DtChannel&,
114  const DtMouseEvent&);
115  virtual void changeViewResolutionByWheel( DtObserver& observer,
116  DtChannel& channel, const DtMouseEvent& mouseEvent );
117  virtual void resetMagnification( DtObserver&, DtChannel&, const DtMouseEvent&);
118 
119  virtual void changeObserverSpeedByWheel(DtObserver& observer, DtChannel& channel,
120  const DtMouseEvent& me);
121 
122  virtual void moveObserverOverTerrain( DtObserver&, DtChannel&, const DtMouseEvent& );
123  virtual void orbitObserverOverTerrain( DtObserver&, DtChannel&, const DtMouseEvent&);
124 
125  virtual void pickIntoScene(DtObserver&, DtChannel&, const DtMouseEvent&);
126  virtual void rotate2DObserver(DtObserver&, double xDelta, double yDelta);
127 
128  // Find the observer associated with this channel (may return 0)
129  virtual DtObserver* findObserverForChannel( const DtChannel& channel );
130 
132  virtual DtElementEntry::ObjectType typeFromId( const DtUniqueID& id );
133 
134  protected:
135 
138  std::string myName;
139 
142 
147 
151 
154 
155  double myDragStartX;
156  double myDragStartY;
157  double myDragStartZ;
158 
162 
169 
173 
176  double myLastMouseX;
177  double myLastMouseY;
178  };
179 }

Document ID: Generated on Wed Jul 25 16:57:45 EDT 2018 from SVN revision 190790
Copyright © 2005-2018 VT MÄK. All Rights Reserved (www.mak.com)