22 #ifndef ARRAY_FIELD_DOF_MAP_H 23 #define ARRAY_FIELD_DOF_MAP_H 25 #ifndef SHEAF_DLL_SPEC_H 26 #include "SheafSystem/sheaf_dll_spec.h" 30 #include "SheafSystem/std_string.h" 33 #ifndef FIELD_DOF_MAP_H 34 #include "SheafSystem/field_dof_map.h" 39 class dof_map_factory;
61 virtual const std::string& class_name()
const;
66 static const std::string& static_class_name();
105 virtual bool invariant()
const;
125 return ARRAY_FIELD_DOF_TUPLE_ID;
128 using field_dof_map::get_dof;
129 using field_dof_map::put_dof;
201 return _dofs + schema().offset(xdisc_id, xfiber_dof_id);
212 virtual void get_dof(
const scoped_index& xid,
bool xis_poset_id,
void *xbuf,
size_t xbuf_len)
const;
218 virtual void put_dof(
const scoped_index& xid,
bool xis_poset_id,
const void *xbuf,
size_t xbuf_len);
225 virtual void get_dofs(
const client_index* xclient_ids,
int xclient_id_ct,
void* xbuf,
size_t xbuf_len)
const;
232 virtual void put_dofs(
const client_index* xclient_ids,
int xclient_id_ct,
const void* xbuf,
size_t xbuf_len);
243 bool xis_poset_id,
void* xbuf,
size_t xbuf_len)
const;
254 bool xis_poset_id,
const void* xbuf,
size_t xbuf_len);
261 virtual void get_dofs(
const client_index* xclient_base_ids,
int xclient_base_id_ct,
262 const client_index* xclient_fiber_ids,
int xclient_fiber_id_ct,
263 void* xbuf,
size_t xbuf_len)
const;
270 virtual void put_dofs(
const client_index* xclient_base_ids,
int xclient_base_id_ct,
271 const client_index* xclient_fiber_ids,
int xclient_fiber_id_ct,
272 const void* xbuf,
size_t xbuf_len);
281 virtual void get_discretization_dofs(
const scoped_index& xdisc_id,
284 size_t xbuf_len)
const;
292 virtual void put_discretization_dofs(
const scoped_index& xdisc_id,
304 virtual void get_component_dofs(
void* xbuf,
318 virtual void put_component_dofs(
const void* xbuf,
335 virtual void get_component_dofs(
void* xbuf,
337 const client_index& xcomp_id,
338 const id_map* xcomp_client_id_map,
339 const client_index* xdisc_ids = 0,
341 const id_map* xdisc_client_id_map = 0)
const;
354 virtual void put_component_dofs(
const void* xbuf,
356 const client_index& xcomp_id,
357 const id_map* xcomp_client_id_map,
358 const client_index* xdisc_ids = 0,
360 const id_map* xdisc_client_id_map = 0);
364 virtual void* dof_tuple();
369 virtual const void* dof_tuple()
const;
374 virtual void get_dof_tuple(
void* xbuf,
size_t xbuflen)
const;
379 virtual void put_dof_tuple(
const void* xbuf,
size_t xbuflen);
387 virtual void allocate_dofs();
409 int _fiber_tuple_size;
419 bool _this_owns_dofs;
425 static bool _has_prototype;
430 static bool make_prototype();
435 void reserve(
int xindex);
440 #endif // ifndef ARRAY_FIELD_DOF_MAP_H OBSOLETE: Use array_sec_vd_dof_map or sparse_section_dof_map. The abstract map from section_space_sch...
A contiguous tuple, contiguous fiber representation of the abstract map from section_space_schema_mem...
An index within the external ("client") scope of a given id space.
unsigned long size_type
An unsigned integral type used to represent sizes and capacities.
dof_tuple_type
Identifiers for dof tuple types.
virtual dof_tuple_type type_id() const
An identifer for the type of dof tuple this is.
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.
Namespace for the fiber_bundles component of the sheaf system.
A handle for a poset whose members are numerical representations of sections of a fiber bundle...