![]() |
MAK RTIspy API Documentation for HLA Evolved
|
00001 /********************************************************************* 00002 ** Copyright (c) 2006 MAK Technologies, Inc. 00003 ** All rights reserved. 00004 *********************************************************************/ 00005 /********************************************************************* 00006 ** $RCSfile: fixedGridConfiguration.h,v $ $Revision: 1.3 $ $State: Exp $ 00007 *********************************************************************/ 00008 00009 #ifndef fixedGridConfiguration_H_ 00010 #define fixedGridConfiguration_H_ 00011 00015 00016 #include "rtiMsConfig.h" 00017 #include <vector> 00018 #include <map> 00019 #include <vlutil/vlFilename.h> 00020 #include <mtl/mtl.h> 00021 #include <mtl/lispEnv.h> 00022 00023 00027 class DT_DLL_RTIUTIL DtFixedGridConfiguration 00028 { 00029 public: 00030 00032 struct DtGridPartition 00033 { 00034 MAKRti::DtString name; 00035 std::vector<unsigned int> dimPartitions; 00036 }; 00037 00039 typedef std::vector<DtGridPartition> DtGridPartitionVector; 00040 00041 public: 00042 00044 DtFixedGridConfiguration(); 00045 00047 DtFixedGridConfiguration(DtFixedGridConfiguration const& orig); 00048 00050 virtual ~DtFixedGridConfiguration(); 00051 00053 DtFixedGridConfiguration& operator= (DtFixedGridConfiguration const& orig); 00054 00058 virtual bool processFile(MAKRti::DtFilename const& gridConfigFilename); 00059 00061 virtual MAKRti::DtString const& routingSpaceName() const; 00062 00064 virtual MAKRti::DtString const& subspaceDimensionName() const; 00065 00067 virtual std::vector<MAKRti::DtString> const& dimensions() const; 00068 00071 virtual int dimensionIndex(MAKRti::DtString const& dimensionName) const; 00072 00074 virtual DtGridPartitionVector const& gridPartition() const; 00075 00077 virtual void print() const; 00078 00079 protected: 00080 00083 virtual bool loadFile(MAKRti::DtFilename const& gridConfigFilename); 00084 00086 virtual void clear(); 00087 00090 virtual MAKRti::DtlObjPtr parseRoutingSpaceName(MAKRti::DtlObjPtr list); 00091 00094 virtual MAKRti::DtlObjPtr parseSubspace( MAKRti::DtlObjPtr list ); 00095 00097 virtual void parseDimensions( MAKRti::DtlObjPtr list ); 00098 00101 virtual bool parseSubspacePartitions( MAKRti::DtlObjPtr list ); 00102 00105 virtual bool parsePartitions( MAKRti::DtlObjPtr list ); 00106 00107 protected: 00108 00110 MAKRti::DtFilename myConfigurationFile; 00111 00114 MAKRti::DtMtlEnvironment* myMtlEnv; 00115 00118 MAKRti::DtlObjPtr myConfigurationList; 00119 00121 MAKRti::DtString myRoutingSpaceName; 00122 00124 MAKRti::DtString mySubspaceDimension; 00125 00127 int myNumberSubspacePartitions; 00128 00130 int myDefaultNumberPartitions; 00131 00133 std::vector<MAKRti::DtString> myDimensions; 00134 00136 std::map<MAKRti::DtString, int> myDimensionIndex; 00137 00139 DtGridPartitionVector myGridPartitions; 00140 }; 00141 00142 #endif