![]() |
VR-Forces 4.0.4 Class Documentation
|
00001 /****************************************************************************** 00002 ** Copyright (c) 2010 MAK Technologies, Inc. 00003 ** All rights reserved. 00004 ******************************************************************************/ 00005 /****************************************************************************** 00006 ** $RCSfile: $ $Revision: $ $State: $ 00007 ******************************************************************************/ 00008 00012 00013 #pragma once 00014 00015 #include <vrvCore/vrvCore.h> 00016 #include <vrvCore/DtEventProcessorInterface.h> 00017 #include <vrvCore/DtElementEntry.h> 00018 00019 namespace makVrv 00020 { 00021 class DtInputDriver; 00022 class DtDe; 00023 class DtMouseEvent; 00024 00027 class DT_DLL_VRVCORE DtSceneEventProcessor : public DtEventProcessorInterface 00028 { 00029 public: 00030 00033 DtSceneEventProcessor(DtInputDriver& inputDriver, DtDe& de); 00034 00036 virtual ~DtSceneEventProcessor(); 00037 00041 virtual bool processMouseEvent( const DtMouseEvent& ev, DtChannel& channel); 00042 00046 virtual bool processKeyboardEvent( const DtKeyEvent& ev, DtChannel& channel); 00047 00050 virtual const std::string& className(); 00051 00052 protected: 00053 00055 bool pickIntoScene(const DtMouseEvent& mouseEvent, DtChannel& channel); 00056 00058 void pickInitiate( const DtMouseEvent& event,double x, double y, double z ); 00059 void pickContinue( const DtMouseEvent& event ); 00060 void pickComplete(); 00061 bool pickInProgress() const; 00062 00065 bool requestContextMenu(DtElementEntry::ObjectType type, 00066 unsigned int x, unsigned int y, DtChannel& channel); 00067 00068 protected: 00069 00070 DtDe& myDe; 00071 DtInputDriver& myInputDriver; 00072 bool myPickInProgress; 00073 std::string myClassName; 00074 }; 00075 00076 }