VR-Forces 4.0.4 Class Documentation
include/vrvCore/DtOverlayManager.h
Go to the documentation of this file.
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 }

Document ID: Generated on Fri Jun 29 16:33:32 EDT 2012 from SVN revision 116588
Copyright © 2005-2012 VT MÄK Inc. All Rights Reserved (www.mak.com)