VR-Forces 5.0.2 Developer's Guide
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
DtSceneEventProcessor.h
Go to the documentation of this file.
1 /******************************************************************************
2 ** Copyright (c) 2022 MAK Technologies, Inc.
3 ** All rights reserved.
4 ******************************************************************************/
5 
9 
10 #pragma once
11 
12 #include <vrvCore/vrvCore.h>
14 #include <vrvCore/DtElementEntry.h>
16 
17 namespace makVrv
18 {
19  class DtInputDriver;
20  class DtDe;
21  class DtMouseEvent;
22  class DtIntersectorsContainer;
23 
27  {
28  public:
29 
32  DtSceneEventProcessor(DtInputDriver& inputDriver, DtDe& de);
33 
35  virtual ~DtSceneEventProcessor();
36 
40  virtual bool processMouseEvent( const DtMouseEvent& ev, DtChannel& channel);
41 
45  virtual bool processKeyboardEvent( const DtKeyEvent& ev, DtChannel& channel);
46 
49  virtual const std::string& className();
50 
51  protected:
52 
54  bool pickIntoScene(const DtMouseEvent& mouseEvent, DtChannel& channel);
55 
57  void pickInitiate( const DtMouseEvent& event,double x, double y, double z );
58  void pickContinue( const DtMouseEvent& event );
59  void pickComplete();
60  bool pickInProgress() const;
61 
64  bool requestContextMenu(DtElementEntry::ObjectType type,
65  unsigned int x, unsigned int y, DtChannel& channel);
66 
67  protected:
68 
72  std::string myClassName;
73 
75 
76  DtIntersectorsContainer* myIntersectors = nullptr;
77  };
78 
79 }
std::string myClassName
Definition: DtSceneEventProcessor.h:72
This class encapsulates a Key event.
Definition: DtKeyEvent.h:16
Utility class that contains intersectors for all model sets in the system (3d, xr, 2d) Use an object of this class when all models sets can be possibly needed. When you know which model set you need, you can just use the DtIntersectorCreator to create an intersector for a model set Models sets corresponding to 3d, xr and 2d are created by default (these correspond to values of 0, 1 and 5) Additional model sets can be registered with DtIntersectorsContainer::registerModelSet.
Definition: DtIntersectorsContainer.h:36
Definition: DtDummyCharacterIntersector.h:21
DtInputDriver & myInputDriver
Definition: DtSceneEventProcessor.h:70
This class encapsulates a mouse button event.
Definition: DtMouseEvent.h:19
DtDummyCharacterIntersector myDummyCharacterIntersector
Definition: DtSceneEventProcessor.h:74
unsigned int ObjectType
Definition: DtElementEntry.h:51
The abstract Channel Class.
Definition: DtChannel.h:35
Contains makVrv:DtDummyCharacterIntersector class.
Interface for an event processor for a channel.
#define DT_DLL_VRVCORE
Definition: vrvCore.h:20
This class&#39;s main responsibility is to handle keyboard and mouse events from OSG (Qt events are route...
Definition: DtInputDriver.h:43
bool myPickInProgress
Definition: DtSceneEventProcessor.h:71
The Scene event processor handles user interaction with the scene.
Definition: DtSceneEventProcessor.h:26
The DtDe is the core component of any VR-Vantage application. It owns a DtRenderer, DtDeCommunicator, as well as a DtDisplay and other things.
Definition: DtDe.h:70
The DtEventProcessorInterface defines the generic interface for classes which handle input events...
Definition: DtEventProcessorInterface.h:34
DtDe & myDe
Definition: DtSceneEventProcessor.h:69
Contains makVrv::DtElementEntry class.
Contains DLL export macros.

Document ID: Generated on Sun Dec 4 20:22:03 EST 2022 from SVN revision 249613
Copyright © 2005-2021 MAK Technologies. All Rights Reserved (www.mak.com)