VR-Forces 4.0.4 Class Documentation
include/vrvCore/DtRenderer.h
Go to the documentation of this file.
00001 /****************************************************************************** 
00002 ** Copyright (c) 2010 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 #include <boost/signals.hpp>
00017  
00018 namespace makVrv 
00019 { 
00020    
00021   class DtDe;
00022   class DtObserverObjectManager;
00023   class DtOverlayManager;
00024   class DtUpdaterManager;
00025   
00031    
00033    class DT_DLL_VRVCORE DtRenderer 
00034    {
00035    public:
00036 
00038       DtRenderer(DtDe& de);
00039 
00041       virtual ~DtRenderer();
00042 
00044       virtual void update();
00045 
00047       virtual void postUpdate();
00048 
00050       DtObserverObjectManager* observerObjectManager();
00051      
00053       DtUpdaterManager& updaterManager();
00054       const DtUpdaterManager& updaterManager() const;
00055 
00057       DtOverlayManager& overlayManager();
00058       const DtOverlayManager& overlayManager() const;
00059  
00062       virtual bool exportTerrainAndProps(const std::string&) = 0;
00063 
00065       virtual void render() = 0;
00066 
00068       virtual void resetSceneGraph() = 0;
00069 
00071       virtual void setWireframeRendering(bool enabled) = 0;
00072 
00074       virtual bool wireframeRendering() const = 0;
00075 
00077       virtual void setShadowState(bool enabled, int quality, bool entity, bool props, bool terrain) =0;
00078 
00080       virtual bool shadowsEnabled() const = 0;
00081 
00083       virtual int shadowQuality() const = 0;
00084 
00086       virtual bool entityShadowsEnabled() const =0;
00087 
00089       virtual bool propShadowsEnabled() const =0;
00090 
00092       virtual bool terrainShadowsEnabled() const =0;
00093 
00095       virtual void releaseResources() = 0;
00096 
00099       boost::signal<void (double simTime)> signal_update;
00100 
00103       boost::signal<void (double simTime)> signal_postUpdate;
00104 
00107       boost::signal<void ()> signal_releaseResources;
00108 
00111       virtual bool makeContextCurrent() = 0;
00112 
00115       void createManagers();
00116 
00117    protected:
00118       
00119      DtDe& myDe;
00120      DtObserverObjectManager* myObserverObjectManager;
00121      DtUpdaterManager* myUpdaterManager;
00122      DtOverlayManager* myOverlayManager;
00123    };
00124 
00127    class DT_DLL_VRVCORE DtRendererCreator : public DtVirtualBaseClass
00128    {
00129    public:
00130 
00133       static DtRendererCreator& instance(DtDe& de);
00134 
00136       static void registerInstance(DtDe& de, DtRendererCreator* anInstance);     
00137 
00139       virtual DtRenderer* create(DtDe& de) = 0;
00140    };
00141 
00142 
00143 
00144 } 

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)