9 #ifndef stk_mesh_PartRepository_hpp 10 #define stk_mesh_PartRepository_hpp 12 #include <stk_mesh/base/Types.hpp> 13 #include <stk_mesh/base/Part.hpp> 14 #include <stk_mesh/baseImpl/PartImpl.hpp> 25 class PartRepository {
27 explicit PartRepository(MetaData * meta);
30 Part * universal_part()
const;
34 Part *
declare_part(
const std::string & arg_name , EntityRank arg_rank );
36 void declare_subset( Part & superset, Part & subset );
37 void declare_part_relation( Part & root_part, PartRelation relation, Part & target_part );
40 const T * declare_attribute_with_delete( Part & ,
const T *);
42 const T * declare_attribute_no_delete( Part & ,
const T *);
44 bool remove_attribute( Part & ,
const T *);
48 PartRepository(
const PartRepository & );
49 PartRepository & operator = (
const PartRepository & );
51 Part * declare_part_impl(
const std::string & name, EntityRank rank);
52 void declare_subset_impl( Part & superset, Part & subset );
54 MetaData * m_meta_data;
55 Part * m_universal_part;
62 PartRepository::declare_attribute_with_delete( Part & p,
const T * a )
64 return p.m_partImpl.declare_attribute_with_delete<T>( a );
70 PartRepository::declare_attribute_no_delete( Part & p,
const T * a )
72 return p.m_partImpl.declare_attribute_no_delete<T>( a );
78 PartRepository::remove_attribute( Part & p,
const T * a )
80 return p.m_partImpl.remove_attribute<T>( a );
89 #endif // stk_mesh_PartRepository_hpp Part & declare_part(FEMMetaData &meta_data, const std::string &name)
Declare a part with a given cell topology. This is just a convenient function that wraps FEMMetaData'...
std::vector< Part *> PartVector
Collections of parts are frequently maintained as a vector of Part pointers.