VR-Forces 4.0.4 Class Documentation
include/makArchives/DtCigiSettingsRecord.h
Go to the documentation of this file.
00001 /*********************************************************************
00002 ** Copyright (c) 2009 MaK Technologies, Inc.
00003 ** All rights reserved.
00004 *********************************************************************/
00005 /*********************************************************************
00006 ** $RCSfile: DtCigiSettingsRecord.h,v $ $Revision: 1.1 $ $State: Exp $
00007 *********************************************************************/
00008 
00009 #pragma once
00010 
00011 #include <makArchives/makArchives.h>
00012 
00013 #include <makArchives/DtCigiEntityInfoRecord.h>
00014 #include <makArchives/DtCigiComponentMapRecord.h>
00015 
00016 namespace makArchives
00017 {
00018    enum DtCigiComponentClass
00019    {
00020       DtEntityComponent,
00021       DtViewComponent,
00022       DtSystemComponent
00023    };
00024 
00027    class DT_DLL_MAKARCHIVES DtCigiSettingsRecord
00028    {
00029    public:
00031       DtCigiSettingsRecord();
00032 
00034       ~DtCigiSettingsRecord();
00035 
00037       DtCigiSettingsRecord(const DtCigiSettingsRecord& orig);
00038 
00040       DtCigiSettingsRecord& operator=(const DtCigiSettingsRecord& orig);
00041 
00042       void setEntityTypeMapRecord(const DtCigiEntityTypeMapRecord& record);
00043       
00044       DtCigiEntityTypeMapRecord& entityTypeMapRecord();
00045       const DtCigiEntityTypeMapRecord& entityTypeMapRecord() const;
00046 
00047       void setComponentMapping(DtCigiComponentClass compClass, int compId, const std::string& str);
00048       const std::string& findComponentMapping(DtCigiComponentClass compClass, int compId) const;
00049       void removeComponentMapping(DtCigiComponentClass compClass, int compId);
00050       
00051       const std::map<int, std::string>& componentMap(DtCigiComponentClass compClass) const;
00052 
00053       void setModelStateMapRecord(const DtCigiComponentMapRecord& record);
00054       DtCigiComponentMapRecord& modelStateMapRecord();
00055       const DtCigiComponentMapRecord& modelStateMapRecord() const;
00056 
00057       const std::map<int, std::string>& databaseMap() const;
00058 
00059       void setDatabaseMapping(int databaseNumber, const std::string& filename);
00060       const std::string& findDatabaseFilename(int databaseNumber) const;
00061       void removeDatabaseMapping(int databaseNumber);
00062 
00063       void setAnimationMapping(int animationId, const std::string& animationName);
00064       const std::string& findAnimationName(int animationId) const;
00065       void removeAnimationMapping(int animationId);
00066       const std::map<int, std::string>& animationMap() const;
00067 
00068    protected:
00069       void removeComponentMapping(std::map<int, std::string>& mapping,
00070          int compId);
00071 
00072       void setComponentMapping(std::map<int, std::string>& mapping,
00073          int compId, const std::string& str);
00074 
00075       const std::string& findComponentMapping(const std::map<int, std::string>& mapping,
00076          int compId) const;
00077 
00078    protected:
00079 
00081       friend class boost::serialization::access;
00082 
00086       template<class Archive>
00087       void serialize(Archive & ar, const unsigned int version)
00088       {
00089          ar & BOOST_SERIALIZATION_NVP(myEntityTypeMap);
00090          ar & BOOST_SERIALIZATION_NVP(myEntityComponentMap);
00091          ar & BOOST_SERIALIZATION_NVP(myViewComponentMap);
00092          ar & BOOST_SERIALIZATION_NVP(mySystemComponentMap);
00093          ar & BOOST_SERIALIZATION_NVP(myModelStateMap);
00094          ar & BOOST_SERIALIZATION_NVP(myAnimationMap);
00095          ar & BOOST_SERIALIZATION_NVP(myDatabaseMap);
00096       }
00097 
00098    protected:
00099       DtCigiEntityTypeMapRecord  myEntityTypeMap;
00100       std::map<int, std::string> myEntityComponentMap;
00101       std::map<int, std::string> myViewComponentMap;
00102       std::map<int, std::string> mySystemComponentMap;
00103       DtCigiComponentMapRecord   myModelStateMap;
00104       std::map<int, std::string> myAnimationMap;
00105       std::map<int, std::string> myDatabaseMap;
00106       std::string                myEmptyString;
00107       std::map<int, std::string> myEmptyMap;
00108    };
00109 }
00110 

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)