VR-Forces 4.1 Class Documentation
DtVrfObjectManipulationEventProcessor.h
Go to the documentation of this file.
1 /******************************************************************************
2 ** Copyright (c) 2011 MAK Technologies, Inc.
3 ** All rights reserved.
4 ******************************************************************************/
5 /******************************************************************************
6 ** $RCSfile: DtVrfObjectManipulationEventProcessor.h,v $ $Revision: 1.4 $ $State: Exp $
7 ******************************************************************************/
8 
11 
13 
14 #pragma once
15 
16 #include <vrfGuiCore/vrfGuiCore.h>
17 
18 #include <boost/signal.hpp>
19 
23 
24 #include <vrvCore/DtUniqueID.h>
25 #include <vrvCore/DtMouseEvent.h>
26 
27 #include <matrix/vlVector.h>
28 #include <matrix/vlQuaternion.h>
29 
30 #include <vlutil/vlPerformanceStats.h>
31 
32 namespace makVrf
33 {
37  {
38  public:
41 
44 
47  virtual void setCurrentHeading( double heading );
48 
50  virtual void setHeadingAllowed(bool);
51  virtual bool headingAllowed() const;
52 
54  virtual double currentHeading() const;
55 
56  virtual const std::string& className();
57 
59  virtual void setEditing(bool);
60 
62  virtual void setCreating(bool);
63 
66  virtual void setDragTolerance(int);
67  virtual int dragTolerance() const;
68 
71  virtual void setFreehand(bool);
72  virtual bool freehand() const;
73 
76  void setDragToleranceTime(double);
77  double dragToleranceTime() const;
78 
80  boost::signal<void ( double )> signal_headingChanged;
81 
82  protected:
84  virtual bool processMouseEvent(const makVrv::DtMouseEvent& ev, makVrv::DtChannel& channel);
85 
86  virtual bool processKeyboardEvent(const makVrv::DtKeyEvent& ev,
87  makVrv::DtChannel& channel);
88 
90  virtual void changeHeading( double mouseX, double mouseY );
91 
92  virtual bool pick(makVrv::DtChannel& channel, double x, double y, makVrv::DtIntersectorResult& result,
94 
95  virtual void cleanupTerrainDraggingVaraibles();
96 
98  virtual bool placePoint(makVrv::DtChannel& channel, const makVrv::DtMouseEvent&);
99 
100  protected:
109  double myDragTime;
110  DtTimedSection myDragTimer;
113  };
114 
117  {
118 
119  public:
123 
125  static void registerInstance( makVrv::DtDe& de,
127 
130  };
131 }

Document ID: Generated on Tue Jan 29 18:21:16 EST 2013 from SVN revision 123193
Copyright © 2005-2013 VT MÄK Inc. All Rights Reserved (www.mak.com)