![]() |
VR-Forces 4.0.4 Class Documentation
|
00001 /****************************************************************************** 00002 ** Copyright (c) 2009 MAK Technologies, Inc. 00003 ** All rights reserved. 00004 ******************************************************************************/ 00005 /****************************************************************************** 00006 ** $RCSfile: DtRenderer.h,v $ $Revision: 1.31 $ $State: Exp $ 00007 ******************************************************************************/ 00008 00012 00013 #pragma once 00014 #include <vrvCore/vrvCore.h> 00015 #include <vrvUtil/DtVirtualBaseClass.h> 00016 00017 namespace makVrv 00018 { 00019 class DtChannel; 00020 class DtDe; 00021 class DtMouseEvent; 00022 class DtRenderer; 00023 00026 class DT_DLL_VRVCORE DtOverlayManager 00027 { 00028 public: 00029 00030 DtOverlayManager(); 00031 ~DtOverlayManager(); 00032 00033 enum DefaultOverlays 00034 { 00035 InvalidOverlay = 0, 00036 ModelSet_3D_Overlay, 00037 ModelSet_3D_XR_Overlay, 00038 ModelSet_3D_Sensor_Overlay, 00039 ModelSet_3D_Icons_Overlay, 00040 ModelSet_3D_Images_Overlay, 00041 ModelSet_2D_Icons_Overlay, 00042 ModelSet_2D_Images_Overlay, 00043 ModelSet_UserStart, 00044 //Allow 16 user set model sets. 00045 ModelSet_UserEnd = ModelSet_UserStart + 16, 00046 Channel_SpecificStart, 00047 //Allow for 128 channel specific overlays 00048 Channel_SpecificEnd = Channel_SpecificStart + 128, 00049 RemoteDisplayOverlay, 00050 RemoteDisplayWorldOverlay 00051 }; 00052 00054 virtual void render(DtChannel* channel, bool projectedGeocentricEffect, 00055 float geocentricAlpha, 00056 double* position, double* matrix, 00057 double viewportSize[2]) = 0; 00058 00060 virtual void releaseResources() = 0; 00061 00063 static DefaultOverlays modelSetToOverlay(unsigned int modelSet); 00064 00065 virtual void enableOverlayOnChannel(unsigned int layerId, bool enabled, 00066 DtChannel& channel) = 0; 00067 00071 virtual bool handleMouseEvent(const DtMouseEvent& ev, 00072 DtChannel& channel) = 0; 00073 00075 virtual void destroyOverlayLayer(unsigned int layerId) = 0; 00076 00078 virtual bool overlayLayerIsVisible(unsigned int layerId) const = 0; 00079 00083 virtual void setOverlayLayerVisibility(unsigned int layerId, 00084 bool visible) = 0; 00085 00087 virtual void setPerformanceStatsOverlayEnabled(bool show) = 0; 00088 00090 virtual bool performanceStatsOverlayEnabled() const = 0; 00091 00092 }; 00093 00096 class DT_DLL_VRVCORE DtOverlayManagerCreator : public DtVirtualBaseClass 00097 { 00098 public: 00099 00101 static DtOverlayManagerCreator& instance(DtDe&); 00102 00104 static void registerInstance(DtDe& de,DtOverlayManagerCreator*); 00105 00107 virtual DtOverlayManager* create(DtDe& de) = 0; 00108 }; 00109 }