24 #ifndef SPARSE_FIELD_DOF_MAP_H 25 #define SPARSE_FIELD_DOF_MAP_H 27 #ifndef SHEAF_DLL_SPEC_H 28 #include "SheafSystem/sheaf_dll_spec.h" 31 #ifndef FIELD_DOF_MAP_H 32 #include "SheafSystem/field_dof_map.h" 37 class dof_map_factory;
60 virtual const std::string& class_name()
const;
65 static const std::string& static_class_name();
104 virtual bool invariant()
const;
122 return SPARSE_FIELD_DOF_TUPLE_ID;
133 using field_dof_map::get_dof;
134 using field_dof_map::put_dof;
140 virtual void get_dof(
const scoped_index& xid,
bool xis_poset_id,
141 void *xbuf,
size_t xbuf_len)
const;
147 virtual void put_dof(
const scoped_index& xid,
bool xis_poset_id,
148 const void *xbuf,
size_t xbuf_len);
155 virtual void get_dofs(
const client_index* xclient_ids,
int xclient_id_ct,
156 void* xbuf,
size_t xbuf_len)
const;
163 virtual void put_dofs(
const client_index* xclient_ids,
int xclient_id_ct,
164 const void* xbuf,
size_t xbuf_len);
176 void* xbuf,
size_t xbuf_len)
const;
188 const void* xbuf,
size_t xbuf_len);
195 virtual void get_dofs(
const client_index* xclient_base_ids,
int xclient_base_id_ct,
196 const client_index* xclient_fiber_ids,
int xclient_fiber_id_ct,
197 void* xbuf,
size_t xbuf_len)
const;
204 virtual void put_dofs(
const client_index* xclient_base_ids,
int xclient_base_id_ct,
205 const client_index* xclient_fiber_ids,
int xclient_fiber_id_ct,
206 const void* xbuf,
size_t xbuf_len);
215 virtual void get_discretization_dofs(
const scoped_index& xdisc_id,
218 size_t xbuf_len)
const;
226 virtual void put_discretization_dofs(
const scoped_index& xdisc_id,
238 virtual void get_component_dofs(
void* xbuf,
252 virtual void put_component_dofs(
const void* xbuf,
269 virtual void get_component_dofs(
void* xbuf,
271 const client_index& xcomp_id,
272 const id_map* xcomp_client_id_map,
273 const client_index* xdisc_ids = 0,
275 const id_map* xdisc_client_id_map = 0)
const;
288 virtual void put_component_dofs(
const void* xbuf,
290 const client_index& xcomp_id,
291 const id_map* xcomp_client_id_map,
292 const client_index* xdisc_ids = 0,
294 const id_map* xdisc_client_id_map = 0);
298 virtual void* dof_tuple();
303 virtual const void* dof_tuple()
const;
308 virtual void get_dof_tuple(
void* xbuf,
size_t xbuflen)
const;
313 virtual void put_dof_tuple(
const void* xbuf,
size_t xbuflen);
324 virtual bool supports_xfr_opt()
const;
331 virtual void allocate_dofs();
338 typedef unordered::unordered_map<pod_index_type, double> val_map_type;
343 val_map_type _val_map;
354 static bool _has_prototype;
359 static bool make_prototype();
365 #endif // ifndef SPARSE_FIELD_DOF_MAP_H double default_value() const
The default value; the value for dofs that are not stored in _val_map.
OBSOLETE: Use array_sec_vd_dof_map or sparse_section_dof_map. The abstract map from section_space_sch...
OBSOLETE: Use array_sec_vd_dof_map or sparse_section_dof_map. A representation of the abstract map fr...
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.
virtual dof_tuple_type type_id() const
An identifer for the type of dof tuple this is.
dof_tuple_type
Identifiers for dof tuple types.
Namespace for the sheaves component of the sheaf system.
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...