![]() |
VR-Forces 4.0.4 Class Documentation
|
00001 /****************************************************************************** 00002 ** Copyright (c) 2010 MAK Technologies, Inc. 00003 ** All rights reserved. 00004 ******************************************************************************/ 00005 /****************************************************************************** 00006 ** $RCSfile: DtProctor.h,v $ $Revision: 1.21 $ $State: Exp $ 00007 ******************************************************************************/ 00008 00012 00013 #pragma once 00014 #include <vrvCore/vrvCore.h> 00015 #include <map> 00016 00017 namespace makVrv 00018 { 00019 class DtDe; 00020 class DtMessage; 00021 00024 class DT_DLL_VRVCORE DtProctor 00025 { 00026 public: 00027 00029 enum ProctorId 00030 { 00032 ProctorId_DtDeProctor = 32, 00033 ProctorId_DtSceneProctor = 33, 00034 ProctorId_DtWindowProctor = 34, 00035 ProctorID_DtChanneProctor = 35, 00036 ProctorID_DtDisplayEngineProctor = 36, 00037 ProctorID_DtDeSharedStateProctor = 37, 00038 00040 ProctorId_UserStart = 0x8000, 00041 00043 end_ProctorId = 0x10000 00044 }; 00045 00047 DtProctor(DtDe&,unsigned short classId); 00048 00050 virtual ~DtProctor(); 00051 00053 void executeFunction(DtMessage& msg); 00054 00056 DtDe& de(); 00057 00058 protected: 00059 00060 typedef void (*MessageFunction)(DtProctor*,DtMessage&); 00061 00063 void registerFunction(unsigned int functionId,MessageFunction func); 00064 00065 typedef std::map<int,MessageFunction> FunctionMap; 00066 FunctionMap myFunctions; 00067 DtDe& myDe; 00068 unsigned short myClassId; 00069 00070 }; 00071 } 00072