VR-Forces 4.0.4 Class Documentation
include/vmap/vmapSpecificationFactory.h
Go to the documentation of this file.
00001 /*******************************************************************************
00002 ** Copyright (c) 2006 MAK Technologies, Inc.
00003 ** All rights reserved.     
00004 *******************************************************************************/
00005 /*******************************************************************************
00006 * $RCSfile: vmapSpecificationFactory.h,v $ $Revision: 1.8 $ $State: Exp $
00007 *******************************************************************************/
00008 
00009 #ifndef VMAP_SPECIFICATION_FACTORY_H_
00010 #define VMAP_SPECIFICATION_FACTORY_H_
00011 
00015 
00016 #include <list>
00017 #include <map>
00018 
00019 #include <vlutil/vlString.h>
00020 #include "gdb/specMgr.h"
00021 #include "geometry/gdbColor.h"
00022 
00023 #include "vmap/vmapDefines.h"
00024 #include "vmap/vmapSpecNode.h"
00025 
00026 //forward defs
00027 class DtVpfRow;
00028 class DtVpfDatabase;
00029 struct DtVpf3Coord;
00030 
00031 //typedefs
00032 typedef std::map<DtString, DtColor> DtColorMap;
00033 typedef std::map<DtString, DtColor>::iterator DtColorMapIter;
00034 
00037 class DT_DLL_vmap  DtVpfSpecFactory
00038 {
00039 private: 
00041    DtVpfSpecFactory(const DtVpfSpecFactory &input);
00042 
00044    DtVpfSpecFactory& operator=(const DtVpfSpecFactory &input);
00045 
00046 public:
00049    DtVpfSpecFactory(DtVpfDatabase* Db);
00050 
00052    virtual ~DtVpfSpecFactory();
00053 
00056    virtual bool init();
00057 
00061    virtual bool createNewSpecification(DtSpecification& spec, 
00062       DtSpecificationID& specID, const DtVpfRow& row);
00063 
00066    virtual DtVpfDatabase* database() const;
00067 
00071    virtual void findBounds(DtSpecification& spec, const std::vector<DtVpf3Coord*>* coords);
00072 
00073 protected:
00077    virtual DtColor findColor(DtString sedrisCode);
00078    virtual std::vector<DtString> tokenize(const std::string& str, const std::string& delim);
00079    virtual bool initColorMap();
00080    virtual bool initSpecMap();
00081    virtual void insert(DtSpecification& spec, DtVpfEnumeration& e);
00082    virtual DtSpecification* findSpec(const DtVpfEnumeration& e);
00083    virtual DtVpfEnumeration buildEnum(const DtVpfRow& row);
00084 
00085    DtColorMap myColorMap;
00086    DtVpfDatabase* myDatabase;
00087    DtVpfSpecNode* myRootSpecNode;
00088 };
00089 
00090 #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)