SheafSystem  0.0.0.0
fiber_bundle::base_space_factory< base_type > Class Template Reference

A factory for making base space objects of type base_type. More...

#include <base_space_factory.h>

Public Member Functions

 base_space_factory ()
 Default constructor. More...
 
virtual ~base_space_factory ()
 Destructor. More...
 
base_space_posetnew_space (fiber_bundles_namespace &xns)
 Finds or creates the base space poset specified by path in namespace xns. More...
 
base_type * new_base (fiber_bundles_namespace &xns, const poset_path &xbase_path)
 Finds or creates the base space specified by xbase_path in namespace xns. More...
 
base_type * new_base (fiber_bundles_namespace &xns, const std::string &xbase_name)
 Finds or creates the base space member with name xbase_name in the host with path path in namespace xns. More...
 
template<>
SHEAF_DLL_SPEC fiber_bundle::structured_block_1dnew_base (fiber_bundles_namespace &xns, const std::string &xbase_name)
 Finds or creates the base space specified by xbase_path; specialization for structured_block_1d. More...
 
template<>
SHEAF_DLL_SPEC fiber_bundle::structured_block_2dnew_base (fiber_bundles_namespace &xns, const std::string &xbase_name)
 
template<>
SHEAF_DLL_SPEC fiber_bundle::structured_block_3dnew_base (fiber_bundles_namespace &xns, const std::string &xbase_name)
 Finds or creates the base space specified by xbase_path; specialization for structured_block_3d. More...
 
template<>
SHEAF_DLL_SPEC fiber_bundle::point_block_1dnew_base (fiber_bundles_namespace &xns, const std::string &xbase_name)
 
template<>
SHEAF_DLL_SPEC fiber_bundle::point_block_2dnew_base (fiber_bundles_namespace &xns, const std::string &xbase_name)
 
template<>
SHEAF_DLL_SPEC fiber_bundle::point_block_3dnew_base (fiber_bundles_namespace &xns, const std::string &xbase_name)
 
template<>
SHEAF_DLL_SPEC fiber_bundle::base_space_posetnew_space (fiber_bundles_namespace &xns)
 
template<>
SHEAF_DLL_SPEC fiber_bundle::zone_nodes_blocknew_base (fiber_bundles_namespace &xns, const std::string &xbase_name)
 
template<>
SHEAF_DLL_SPEC fiber_bundle::base_space_posetnew_space (fiber_bundles_namespace &xns)
 
template<>
SHEAF_DLL_SPEC fiber_bundle::unstructured_blocknew_base (fiber_bundles_namespace &xns, const std::string &xbase_name)
 
template<>
SHEAF_DLL_SPEC structured_block_1dnew_base (fiber_bundles_namespace &xns, const std::string &xbase_name)
 
template<>
SHEAF_DLL_SPEC structured_block_2dnew_base (fiber_bundles_namespace &xns, const std::string &xbase_name)
 
template<>
SHEAF_DLL_SPEC structured_block_3dnew_base (fiber_bundles_namespace &xns, const std::string &xbase_name)
 
template<>
SHEAF_DLL_SPEC point_block_1dnew_base (fiber_bundles_namespace &xns, const std::string &xbase_name)
 
template<>
SHEAF_DLL_SPEC point_block_2dnew_base (fiber_bundles_namespace &xns, const std::string &xbase_name)
 
template<>
SHEAF_DLL_SPEC point_block_3dnew_base (fiber_bundles_namespace &xns, const std::string &xbase_name)
 
template<>
SHEAF_DLL_SPEC base_space_posetnew_space (fiber_bundles_namespace &xns)
 
template<>
SHEAF_DLL_SPEC zone_nodes_blocknew_base (fiber_bundles_namespace &xns, const std::string &xbase_name)
 
template<>
SHEAF_DLL_SPEC base_space_posetnew_space (fiber_bundles_namespace &xns)
 
template<>
SHEAF_DLL_SPEC unstructured_blocknew_base (fiber_bundles_namespace &xns, const std::string &xbase_name)
 

Public Attributes

poset_path path
 The base space host path. More...
 
poset_path schema_path
 The base space schema path. More...
 
wsv_block< int > index_ubs
 The base space index bounds. More...
 
poset_path local_cell_prototype_path
 The path of the local cell prototype for unstructured meshes. More...
 

Detailed Description

template<typename base_type>
class fiber_bundle::base_space_factory< base_type >

A factory for making base space objects of type base_type.

Definition at line 51 of file base_space_factory.h.

Constructor & Destructor Documentation

◆ base_space_factory()

template<typename base_type >
fiber_bundle::base_space_factory< base_type >::base_space_factory ( )

Default constructor.

Definition at line 53 of file base_space_factory.impl.h.

References fiber_bundle::base_space_factory< base_type >::~base_space_factory().

◆ ~base_space_factory()

Member Function Documentation

◆ new_base() [1/10]

template<>
SHEAF_DLL_SPEC fiber_bundle::structured_block_1d * fiber_bundle::base_space_factory< fiber_bundle::structured_block_1d >::new_base ( fiber_bundles_namespace xns,
const std::string &  xbase_name 
)

Finds or creates the base space specified by xbase_path; specialization for structured_block_1d.

Precondition
  • xns.state_is_read_write_accessible()
  • poset_path::is_valid_name(xbase_name)
  • xns.contains_poset_member(poset_path(path.poset_name(), xbase_name)) || index_ubs.ct() >= 1
Postcondition
  • result->name(true) == xbase_name

Definition at line 51 of file base_space_factory.cc.

References sheaf::namespace_poset::contains_poset_member(), and sheaf::read_write_monitor_handle::state_is_read_write_accessible().

◆ new_base() [2/10]

template<typename base_type >
base_type * fiber_bundle::base_space_factory< base_type >::new_base ( fiber_bundles_namespace xns,
const poset_path xbase_path 
)

Finds or creates the base space specified by xbase_path in namespace xns.

Precondition
  • xns.state_is_read_accessible()
  • xbase_path.full()
Postcondition
  • result->path(true) == xbase_path

Definition at line 133 of file base_space_factory.impl.h.

References sheaf::poset_path::full(), sheaf::poset_path::member_name(), sheaf::poset_path::poset_name(), and sheaf::read_write_monitor_handle::state_is_read_accessible().

Referenced by fiber_bundle::base_space_factory< base_type >::new_space().

◆ new_base() [3/10]

template<typename base_type >
base_type * fiber_bundle::base_space_factory< base_type >::new_base ( fiber_bundles_namespace xns,
const std::string &  xbase_name 
)

Finds or creates the base space member with name xbase_name in the host with path path in namespace xns.

Precondition
  • xns.state_is_read_accessible()
  • poset_path::is_valid_name(xbase_name)
  • xns.contains_poset_member(poset_path(path.poset_name(), xbase_name))
Postcondition
  • result->path() == poset_path(path.poset_name(), xbase_name)

Definition at line 162 of file base_space_factory.impl.h.

References sheaf::namespace_poset::contains_poset_member(), sheaf::poset_path::is_valid_name(), and sheaf::read_write_monitor_handle::state_is_read_accessible().

◆ new_base() [4/10]

template<>
SHEAF_DLL_SPEC fiber_bundle::structured_block_2d * fiber_bundle::base_space_factory< fiber_bundle::structured_block_2d >::new_base ( fiber_bundles_namespace xns,
const std::string &  xbase_name 
)
Precondition
  • xns.state_is_read_write_accessible()
  • poset_path::is_valid_name(xbase_name)
  • xns.contains_poset_member(poset_path(path.poset_name(), xbase_name)) || index_ubs.ct() >= 2
Postcondition
  • result->name(true) == xbase_name

Definition at line 97 of file base_space_factory.cc.

References sheaf::namespace_poset::contains_poset_member(), and sheaf::read_write_monitor_handle::state_is_read_write_accessible().

◆ new_base() [5/10]

template<>
SHEAF_DLL_SPEC fiber_bundle::structured_block_3d * fiber_bundle::base_space_factory< fiber_bundle::structured_block_3d >::new_base ( fiber_bundles_namespace xns,
const std::string &  xbase_name 
)

Finds or creates the base space specified by xbase_path; specialization for structured_block_3d.

Precondition
  • xns.state_is_read_write_accessible()
  • poset_path::is_valid_name(xbase_name)
  • xns.contains_poset_member(poset_path(path.poset_name(), xbase_name)) || index_ubs.ct() >= 3
Postcondition
  • result->name(true) == xbase_name

Definition at line 146 of file base_space_factory.cc.

References sheaf::namespace_poset::contains_poset_member(), and sheaf::read_write_monitor_handle::state_is_read_write_accessible().

◆ new_base() [6/10]

template<>
SHEAF_DLL_SPEC fiber_bundle::point_block_1d * fiber_bundle::base_space_factory< fiber_bundle::point_block_1d >::new_base ( fiber_bundles_namespace xns,
const std::string &  xbase_name 
)
Precondition
  • xns.state_is_read_write_accessible()
  • poset_path::is_valid_name(xbase_name)
  • xns.contains_poset_member(poset_path(path.poset_name(), xbase_name)) || index_ubs.ct() >= 1
Postcondition
  • result->name(true) == xbase_name

Definition at line 195 of file base_space_factory.cc.

References sheaf::namespace_poset::contains_poset_member(), and sheaf::read_write_monitor_handle::state_is_read_write_accessible().

◆ new_base() [7/10]

template<>
SHEAF_DLL_SPEC fiber_bundle::point_block_2d * fiber_bundle::base_space_factory< fiber_bundle::point_block_2d >::new_base ( fiber_bundles_namespace xns,
const std::string &  xbase_name 
)
Precondition
  • xns.state_is_read_write_accessible()
  • poset_path::is_valid_name(xbase_name)
  • xns.contains_poset_member(poset_path(path.poset_name(), xbase_name)) || index_ubs.ct() >= 2
Postcondition
  • result->name(true) == xbase_name

Definition at line 239 of file base_space_factory.cc.

References sheaf::namespace_poset::contains_poset_member(), and sheaf::read_write_monitor_handle::state_is_read_write_accessible().

◆ new_base() [8/10]

template<>
SHEAF_DLL_SPEC fiber_bundle::point_block_3d * fiber_bundle::base_space_factory< fiber_bundle::point_block_3d >::new_base ( fiber_bundles_namespace xns,
const std::string &  xbase_name 
)
Precondition
  • xns.state_is_read_write_accessible()
  • poset_path::is_valid_name(xbase_name)
  • xns.contains_poset_member(poset_path(path.poset_name(), xbase_name)) || index_ubs.ct() >= 3
Postcondition
  • result->name(true) == xbase_name

Definition at line 283 of file base_space_factory.cc.

References sheaf::namespace_poset::contains_poset_member(), and sheaf::read_write_monitor_handle::state_is_read_write_accessible().

◆ new_base() [9/10]

template<>
SHEAF_DLL_SPEC fiber_bundle::zone_nodes_block * fiber_bundle::base_space_factory< fiber_bundle::zone_nodes_block >::new_base ( fiber_bundles_namespace xns,
const std::string &  xbase_name 
)
Precondition
  • xns.state_is_read_write_accessible()
  • poset_path::is_valid_name(xbase_name)
  • xns.contains_poset_member(poset_path(path.poset_name(), xbase_name)) || ((1 <= index_ubs.ct()) && (index_ubs.ct() <= 3))
Postcondition
  • result->name(true) == xbase_name

Definition at line 371 of file base_space_factory.cc.

References sheaf::namespace_poset::contains_poset_member(), and sheaf::read_write_monitor_handle::state_is_read_write_accessible().

◆ new_base() [10/10]

template<>
SHEAF_DLL_SPEC fiber_bundle::unstructured_block * fiber_bundle::base_space_factory< fiber_bundle::unstructured_block >::new_base ( fiber_bundles_namespace xns,
const std::string &  xbase_name 
)
Precondition
  • xns.state_is_read_write_accessible()
  • poset_path::is_valid_name(xbase_name)
  • xns.contains_poset_member(poset_path(path.poset_name(), xbase_name)) || ((1 <= index_ubs.ct()) && (index_ubs.ct() <= 3))
Postcondition
  • result->name(true) == xbase_name

Definition at line 497 of file base_space_factory.cc.

References sheaf::namespace_poset::contains_poset_member(), and sheaf::read_write_monitor_handle::state_is_read_write_accessible().

◆ new_space() [1/3]

template<typename base_type >
base_space_poset * fiber_bundle::base_space_factory< base_type >::new_space ( fiber_bundles_namespace xns)

Finds or creates the base space poset specified by path in namespace xns.

Precondition
  • xns.state_is_read_accessible()
  • !path.empty()
Postcondition
  • result->path(true) == path

Definition at line 96 of file base_space_factory.impl.h.

References sheaf::namespace_poset::contains_poset(), sheaf::poset_path::is_valid_name(), sheaf::namespace_poset::member_poset(), fiber_bundle::base_space_factory< base_type >::new_base(), sheaf::poset_state_handle::path(), and sheaf::read_write_monitor_handle::state_is_read_accessible().

Referenced by fiber_bundle::base_space_factory< base_type >::~base_space_factory().

◆ new_space() [2/3]

Precondition
  • xns.state_is_read_accessible()
  • !path.empty()
  • xns.contains_poset(path.poset_name()) || ((1 <= index_ubs.ct()) && (index_ubs.ct() <= 3))
Postcondition
  • xns.contains_poset(path, true)

Definition at line 331 of file base_space_factory.cc.

References sheaf::namespace_poset::contains_poset(), sheaf::namespace_poset::member_poset(), and sheaf::read_write_monitor_handle::state_is_read_accessible().

◆ new_space() [3/3]

Precondition
  • xns.state_is_read_accessible()
  • !path.empty()
Postcondition
  • xns.contains_poset(path, true)

Definition at line 457 of file base_space_factory.cc.

References sheaf::namespace_poset::contains_poset(), sheaf::namespace_poset::member_poset(), and sheaf::read_write_monitor_handle::state_is_read_accessible().

Member Data Documentation

◆ index_ubs

template<typename base_type >
wsv_block<int> fiber_bundle::base_space_factory< base_type >::index_ubs

The base space index bounds.

Definition at line 101 of file base_space_factory.h.

◆ local_cell_prototype_path

template<typename base_type >
poset_path fiber_bundle::base_space_factory< base_type >::local_cell_prototype_path

The path of the local cell prototype for unstructured meshes.

Definition at line 106 of file base_space_factory.h.

◆ path

template<typename base_type >
poset_path fiber_bundle::base_space_factory< base_type >::path

The base space host path.

Definition at line 91 of file base_space_factory.h.

◆ schema_path

template<typename base_type >
poset_path fiber_bundle::base_space_factory< base_type >::schema_path

The base space schema path.

Definition at line 96 of file base_space_factory.h.


The documentation for this class was generated from the following files: