21 #ifndef STRUCTURED_BLOCK_H 22 #define STRUCTURED_BLOCK_H 24 #ifndef SHEAF_DLL_SPEC_H 25 #include "SheafSystem/sheaf_dll_spec.h" 28 #ifndef HOMOGENEOUS_BLOCK_H 29 #include "SheafSystem/homogeneous_block.h" 33 #include "SheafSystem/chart_point.h" 37 #include "SheafSystem/std_cmath.h" 43 using namespace sheaf;
111 virtual void init_handle_data_members();
125 static inline double TOLERANCE()
127 static const double result = 10.0*std::numeric_limits<double>::epsilon();
136 return (
std::fabs(x2 - x1) <= TOLERANCE());
174 virtual void refine_point_pa(
const chart_point& xpt,
193 virtual void refine() = 0;
199 virtual void unrefine() = 0;
205 virtual void simplify() = 0;
211 virtual void unsimplify() = 0;
407 virtual bool invariant()
const;
412 virtual bool is_ancestor_of(
const any* other)
const;
439 SHEAF_DLL_SPEC
size_t deep_size(
const structured_block& x0,
bool xinclude_shallow =
true);
445 #endif // STRUCTURED_BLOCK_H double chart_point_coord_type
The type of local coordinate in the base space; the scalar type for the local coordinate vector space...
base_space_member * p_join(abstract_poset_member *other) const
poset join of this with other, auto-, pre-, and self-allocated versions the poset join is the least u...
index_space_handle * _elements_id_space
The client id space for the elements subposet.
base_space_member * l_join(abstract_poset_member *other, bool xnew_jem=true)
lattice join of this with other, auto-, pre-, and self-allocated versions the lattice join is the lea...
The standard fiber bundles name space; extends the standard sheaves namespace by defining base space...
A path defined by a poset name and a member name separated by a forward slash ('/'). For example: "cell_definitions/triangle".
virtual homogeneous_block * clone() const =0
Make a new handle, no state instance of current.
structured_block * greatest_jem() const
The largest member which is join-equivalent to this.
An abstract handle to a space of alternate integer identifiers (aliases) for a subset of a hub set of...
structured_block * least_jem() const
The smallest member which is join-equivalent to this.
base_space_member * least_jem() const
The smallest member which is join-equivalent to this.
structured_block * l_join(abstract_poset_member *other, bool xnew_jem=true)
lattice join of this with other, auto-, pre-, and self-allocated versions the lattice join is the lea...
base_space_member * l_not(bool xnew_jem=true) const
lattice pseudo-complement of this, auto-, pre- and self allocated versions The lattice pseudo-complem...
structured_block * l_not(bool xnew_jem=true) const
lattice pseudo-complement of this, auto-, pre- and self allocated versions The lattice pseudo-complem...
A client handle for a base space member which represents a homgeneous collection of local cells...
Abstract base class with useful features for all objects.
The lattice of closed cells of a cellular space; a lattice representation of a computational mesh...
structured_block * l_meet(abstract_poset_member *other, bool xnew_jem=true)
lattice meet of this with other, auto-, pre-, and self-allocated versions the lattice meet is the gre...
unsigned long size_type
An unsigned integral type used to represent sizes and capacities.
static bool is_close_enough(double x1, double x2)
True if x2 is close enough to x1 to be considered equal.
A client handle for a base space member which represents a homgeneous collection of local cells...
base_space_member * p_meet(abstract_poset_member *other)
poset meet of this with other, auto-, pre-, and self-allocated versions the poset meet is the greates...
SHEAF_DLL_SPEC void fabs(const sec_at0 &x0, sec_at0 &xresult, bool xauto_access)
Compute fabs of x0 (fabs(x0)) (pre-allocated version).
base_space_member * l_meet(abstract_poset_member *other, bool xnew_jem=true)
lattice meet of this with other, auto-, pre-, and self-allocated versions the lattice meet is the gre...
structured_block * clone(bool xnew_state, bool xauto_access=true) const
Make a new handle instance of current. Attach the new instance to a new state if xnew_state is true...
pod_index_type pod_type
The "plain old data" storage type for this.
structured_block * p_join(abstract_poset_member *other) const
poset join of this with other, auto-, pre-, and self-allocated versions the poset join is the least u...
Namespace for the sheaves component of the sheaf system.
base_space_member * greatest_jem() const
The largest member which is join-equivalent to this.
An abstract client handle for a member of a poset.
structured_block * p_meet(abstract_poset_member *other)
poset meet of this with other, auto-, pre-, and self-allocated versions the poset meet is the greates...
An auto_block with a no-initialization initialization policy.
Namespace for the fiber_bundles component of the sheaf system.