VR-Forces 4.0.4 Class Documentation
include/terrainDbFactory/terrainWriterFactory.h
Go to the documentation of this file.
00001 /*******************************************************************************
00002 ** Copyright (c) 2003 MAK Technologies, Inc.
00003 ** All rights reserved.
00004 *******************************************************************************/
00005 /*******************************************************************************
00006 ** $RCSfile: terrainWriterFactory.h,v $ $Revision: 1.9 $ $State: Exp $
00007 *******************************************************************************/
00008 #ifndef terrainWriterFactory_H_
00009 #define terrainWriterFactory_H_
00010 
00011 //
00012 // \file terrainWriterFactory.h
00013 // \brief Contains the DtTerrainReaderFactory class declaration and related typedefs.
00014 
00015 #include "terrainDbFactory/terrainDbFactoryDefines.h"
00016 #include <vlutil/vlConfig.h>
00017 #include <map>
00018 #include <vlutil/vlString.h>
00019 
00020 class DtTerrainWriter;
00021 
00022 //
00023 // DtTerrainWriterFactory has a container of DtTerrainWriterCreatorFcns,  
00024 // associated with the type (DtString) of file able to write.
00025 class DT_DLL_terrainDbFactory DtTerrainWriterFactory
00026 {
00027 public:
00028    
00029    typedef DtTerrainWriter* (*DtTerrainWriterCreatorFcn)();
00030    typedef std::map<DtString, DtTerrainWriterCreatorFcn> DtTerrainWriterCreatorContainer;
00031 
00032    // constructor
00033    DtTerrainWriterFactory();
00034 
00035    // copy constructor
00036    DtTerrainWriterFactory(const DtTerrainWriterFactory& orig);
00037 
00038    // assignment operator
00039    const DtTerrainWriterFactory& operator=(const DtTerrainWriterFactory& orig);
00040 
00041    // Destructor: deletes factory and any entries on the factory.
00042    virtual ~DtTerrainWriterFactory();
00043 
00044    // Registers default creators
00045    // @note Currently only the latest gdb writer.
00046    virtual void init();
00047 
00048    // Register a creator function with the factory.
00049    virtual void registerTerrainWriterCreator(const DtString& type, DtTerrainWriterCreatorFcn fcn);
00050 
00051    // @return A DtTerrainWriter of the specified type, OR 0 if the type is unknown.
00052    virtual DtTerrainWriter* createTerrainWriter(const DtString& type);
00053 
00054    static DtTerrainWriterFactory* create();
00055 
00056 protected:
00057 
00058    DtTerrainWriterCreatorContainer myTerrainWriterCreators;
00059 };
00060 
00061 #endif

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)