VR-Forces 4.0.4 Class Documentation
include/terrainInterface/terrainImplementationManager.h
Go to the documentation of this file.
00001 /*******************************************************************************
00002 ** Copyright (c) 2010 MAK Technologies, Inc.
00003 ** All rights reserved.
00004 *******************************************************************************/
00005 /*******************************************************************************
00006 ** $RCSfile:  $ $Revision: $ $State: $
00007 *******************************************************************************/
00008 
00011 
00013 
00014 #pragma once
00015 
00016 #include "terrainInterface/terrainInterfaceDefines.h"
00017 #include "terrainInterface/terrainImplementation.h"
00018 #include <vlutil/vlFilename.h>
00019 #include <vlutil/vlDynamic.h>
00020 #include <list>
00021 #include "terrainInterface/terrainPassThroughLayer.h"
00022 
00023 class DtTerrainInterface;
00024 class DtConsoleCommand;
00025 
00026 const char DtGdbTerrainImplementationType[] = "simTerrain-gdb";
00027 const char DtEllipsoidTerrainImplementationType[] = "simTerrain-ellipsoid";
00028 
00032 class DT_DLL_terrainInterface DtTerrainImplementationManager
00033 {
00034 private:
00036 
00037    DtTerrainImplementationManager(const DtTerrainImplementationManager& orig);
00038    DtTerrainImplementationManager& operator=(const DtTerrainImplementationManager& orig);
00040 
00041 public:
00042    DtTerrainImplementationManager();
00043    virtual ~DtTerrainImplementationManager();
00044 
00045    virtual void init(DtTerrainInterface* terrainIf, DtConsoleCommandManager* cmdMgr);
00046 
00047    virtual void addTerrainImplementation(const DtString& implementationName, 
00048       DtTerrainImplementationCreatorFcn creatorFcn);
00049 
00050    virtual void addTerrainPassThroughLayer(const DtString& passThoughName,
00051       DtTerrainPassThroughLayerCreatorFcn creatorFcn);
00052 
00054    virtual void loadImplementationLibraries(DtTerrainInterface* terrainIf);
00057    virtual bool loadImplementationLibrary(const DtFilename& filename, DtTerrainInterface* terrainIf);
00058 
00062    virtual DtTerrainImplementation* addPassThroughLayer(DtTerrainImplementation* impl,
00063       const DtString& layerType) const;
00064 
00067    virtual std::list<DtString> availablePassThroughLayers() const;
00068 
00070    virtual DtTerrainImplementation* createTerrainImplementation(const DtString& implType);
00071 
00072 protected:
00073    DtTerrainImplementationFactory myTerrainImplFactory;
00074    std::list<DtDynamicLibrary*> myImplementationLibList;
00075    DtTerrainPassThroughLayerFactory myTerrainPassThroughFactory;
00076    DtConsoleCommandManager* myCommandManager;
00077 };

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)