38 #ifndef __OPENFLUID_FLUIDX_ADVANCEDDOMAINDESCRIPTOR_HPP__ 
   39 #define __OPENFLUID_FLUIDX_ADVANCEDDOMAINDESCRIPTOR_HPP__ 
   41 #include <openfluid/core/TypeDefs.hpp> 
   56 class SpatialDomainDescriptor;
 
   57 class SpatialUnitDescriptor;
 
   58 class AttributesDescriptor;
 
   72     std::map<openfluid::core::AttributeName_t, std::string*> 
Attributes;
 
   77         UnitDescriptor(&UnitDesc)
 
  101     std::map<std::string, std::map<int, AdvancedUnitDescriptor> > m_Units;
 
  103     std::map<std::string, std::set<openfluid::core::AttributeName_t> > m_AttrsNames;
 
  105     void dispatchUnits();
 
  107     void dispatchAttributes();
 
  109     void checkUnitRelations() 
const;
 
  113     void checkAttributesConsistency() 
const;
 
  115     void dispatchEvents();
 
  124     bool isSpatialUnitExist(
const std::string& ClassName, 
int ID) 
const;
 
  130     const std::map<std::string, std::map<int, AdvancedUnitDescriptor> >& spatialUnitsByIdByClass() 
const;
 
  154     std::set<int> getIDsOfClass(
const std::string& ClassName) 
const;
 
  156     bool isClassNameExists(
const std::string& ClassName) 
const;
 
  162     std::set<std::string> getClassNames() 
const;
 
  164     unsigned int getUnitsCount() 
const;
 
  182     void deleteUnit(
const std::string& ClassName, 
int ID);
 
  191     std::string& attribute(
const std::string& ClassName, 
int ID,
 
  192                            const std::string& AttrName);
 
  199     std::set<std::string> getAttributesNames(
const std::string& ClassName) 
const;
 
  208     void addAttribute(
const std::string& ClassName, 
const std::string& AttrName,
 
  209                       const std::string& DefaultValue);
 
  217     void deleteAttribute(
const std::string& ClassName, 
const std::string& AttrName);
 
  227     void renameAttribute(
const std::string& ClassName, 
const std::string& OldAttrName,
 
  228                          const std::string& NewAttrName);
 
  265     const std::list<openfluid::core::UnitClassID_t>&
 
  300     void removeParentChildRelation(
 
std::list< openfluid::fluidx::EventDescriptor * > EventsDescriptors
Definition: AdvancedDomainDescriptor.hpp:74
unsigned int UnitID_t
Definition: TypeDefs.hpp:61
Definition: SpatialUnitDescriptor.hpp:51
Definition: EventDescriptor.hpp:53
AdvancedUnitDescriptor(openfluid::fluidx::SpatialUnitDescriptor &UnitDesc)
Definition: AdvancedDomainDescriptor.hpp:76
openfluid::fluidx::SpatialUnitDescriptor * UnitDescriptor
Definition: AdvancedDomainDescriptor.hpp:70
std::string UnitsClass_t
Definition: TypeDefs.hpp:71
std::map< std::string, std::map< int, AdvancedUnitDescriptor > > UnitsByIdByClass_t
Definition: AdvancedDomainDescriptor.hpp:92
Definition: AdvancedDomainDescriptor.hpp:65
std::map< openfluid::core::AttributeName_t, std::string * > Attributes
Definition: AdvancedDomainDescriptor.hpp:72
unsigned long long EventID_t
Definition: EventDescriptor.hpp:51
std::pair< UnitsClass_t, UnitID_t > UnitClassID_t
Definition: TypeDefs.hpp:91
Definition: AdvancedDomainDescriptor.hpp:88
#define OPENFLUID_API
Definition: dllexport.hpp:87
Definition: SpatialDomainDescriptor.hpp:53