20 #ifndef SECTION_EVALUATOR_H 21 #define SECTION_EVALUATOR_H 23 #ifndef SHEAF_DLL_SPEC_H 24 #include "SheafSystem/sheaf_dll_spec.h" 28 #include "SheafSystem/any.h" 31 #ifndef FIBER_BUNDLE_H 32 #include "SheafSystem/fiber_bundle.h" 36 #include "SheafSystem/pod_types.h" 41 template <
typename T>
class block;
47 using namespace sheaf;
128 virtual int db()
const = 0;
134 coord_type xresult[],
145 virtual void center(coord_type xresult[],
size_type xresult_ub)
const;
155 virtual bool in_standard_domain(
const dof_type xlocal_coords[],
187 bool df_is_variable()
const;
192 virtual int df()
const;
198 virtual dof_type value_at_coord(
const dof_type xdofs[],
200 const dof_type xlocal_coords[],
214 virtual void value_at_coord(
const dof_type xdofs[],
216 const dof_type xlocal_coords[],
232 virtual void coord_at_value(
const dof_type xdofs[],
234 const dof_type xvalue[],
236 dof_type xlocal_coords[],
251 virtual dof_type
min(
const dof_type xdofs[],
size_type xdofs_ub)
const;
261 virtual void min(
const dof_type xdofs[],
274 virtual dof_type
max(
const dof_type xdofs[],
size_type xdofs_ub)
const;
284 virtual void max(
const dof_type xdofs[],
323 virtual bool invariant()
const;
328 virtual bool is_ancestor_of(
const any* other)
const;
353 #endif // ifndef SECTION_EVALUATOR_H double chart_point_coord_type
The type of local coordinate in the base space; the scalar type for the local coordinate vector space...
sec_vd_dof_type dof_type
The type of degree of freedom.
Abstract base class with useful features for all objects.
SHEAF_DLL_SPEC size_t deep_size(const dof_descriptor_array &xp, bool xinclude_shallow=true)
The deep size of the referenced object of type dof_descriptor_array.
unsigned long size_type
An unsigned integral type used to represent sizes and capacities.
chart_point_coord_type coord_type
The type of local coordinate; the scalar type for the local coordinate vector space.
vd_value_type value_type
The type of component in the value; the scalar type in the range vector space.
SHEAF_DLL_SPEC void max(const vd &x0, vd_value_type &xresult, bool xauto_access)
Maximum component of x0, pre-allocated version.
An abstract local section evaluator; a map from {local coordinates x dofs} to section value...
SHEAF_DLL_SPEC void min(const vd &x0, vd_value_type &xresult, bool xauto_access)
Minimum component of x0, pre-allocated version.
int_type pod_index_type
The plain old data index type.
Namespace for the sheaves component of the sheaf system.
double sec_vd_dof_type
The type of degree of freedom in the section space.
An auto_block with a no-initialization initialization policy.
Namespace for the fiber_bundles component of the sheaf system.
double vd_value_type
The type of component in the fiber; the scalar type in the fiber vector space.