20 #ifndef SEC_REP_DESCRIPTOR_H 21 #define SEC_REP_DESCRIPTOR_H 23 #ifndef SHEAF_DLL_SPEC_H 24 #include "SheafSystem/sheaf_dll_spec.h" 28 #include "SheafSystem/std_string.h" 31 #ifndef TOTAL_POSET_MEMBER 32 #include "SheafSystem/total_poset_member.h" 35 #ifndef ARRAY_POSET_DOF_MAP 36 #include "SheafSystem/array_poset_dof_map.h" 42 class namespace_poset;
44 class poset_state_handle;
50 using namespace sheaf;
53 class fiber_bundles_namespace;
54 class sec_rep_descriptor_poset;
83 static const poset_path& standard_schema_path();
100 static host_type& new_host(namespace_type& xns,
112 static host_type& standard_host(namespace_type& xns,
bool xauto_access);
174 virtual bool invariant()
const;
179 virtual bool is_ancestor_of(
const any* other)
const;
187 const std::string& xdiscretization_subposet_name,
188 const std::string& xmultivalued_subposet_name,
189 const std::string& xevaluation_subposet_name,
190 const std::string& xevaluation_method_name,
191 const std::string& xurl,
193 bool xeval_is_above_disc,
222 bool xauto_access =
true);
232 bool xauto_access =
true);
242 bool xauto_access =
true);
256 bool xcopy_dof_map =
false,
257 bool xauto_access =
true);
265 bool xcopy_dof_map =
false,
266 bool xauto_access =
true);
272 void new_jim_state(
poset *xhost,
273 const std::string& xdiscretization_subposet_name,
274 const std::string& xmultivalued_subposet_name,
275 const std::string& xevaluation_subposet_name,
276 const std::string& xevaluation_method_name,
277 const std::string& xurl,
279 bool xeval_is_above_disc,
298 virtual bool dof_map_is_ancestor_of(
const poset_dof_map* xdof_map)
const;
305 std::string discretization_subposet_name()
const;
310 void put_discretization_subposet_name(
const std::string& xname);
315 std::string multivalued_subposet_name()
const;
320 void put_multivalued_subposet_name(
const std::string& xname);
325 std::string evaluation_subposet_name()
const;
330 void put_evaluation_subposet_name(
const std::string& xname);
335 std::string evaluator_family_name()
const;
340 void put_evaluator_family_name(
const std::string& xname);
345 std::string url()
const;
350 void put_url(
const std::string& xurl);
356 int multiplicity()
const;
362 void put_multiplicity(
int xmultiplicity);
368 bool eval_is_above_disc()
const;
373 void put_eval_is_above_disc(
bool xvalue);
390 virtual void attach_handle_data_members();
396 class SHEAF_DLL_SPEC row_dof_tuple
403 char* discretization_subposet_name;
408 char* multivalued_subposet_name;
413 char* evaluation_subposet_name;
418 char* evaluator_family_name;
438 row_dof_tuple(
const std::string& xdiscretization_subposet_name,
439 const std::string& xmultivalued_subposet_name,
440 const std::string& xevaluation_subposet_name,
441 const std::string& xevaluator_family_name,
442 const std::string& xurl,
449 static void copy_string_dof(
char*& xdof,
const std::string& xdof_value);
456 inline const row_dof_tuple* row_dof_tuple_ptr()
const 458 return reinterpret_cast<const row_dof_tuple*
>(dof_map(
false).
dof_tuple());
464 inline row_dof_tuple* row_dof_tuple_ptr()
466 return reinterpret_cast<row_dof_tuple*
>(dof_map(
true).
dof_tuple());
480 #endif // ifndef SEC_REP_DESCRIPTOR_H virtual total_poset_member * clone() const
Make a new handle, no state instance of current.
virtual void new_jim_state(poset_dof_map *xdof_map=0, bool xcopy_dof_map=false, bool xauto_access=true)
Creates a new jim (join-irreducible member) state in host() and attaches this to it. If xdof_map == 0 a new dof map is created. If xdof_map != 0 and xcopy_dof_map == false, xdof_map is used as the dof map. If xdof_map != 0 and xcopy_dof_map is true, a copy of xdof_map is used.
The default name space; a poset which contains other posets as members.
The standard fiber bundles name space; extends the standard sheaves namespace by defining base space...
A client handle for a general, abstract partially order set.
A path defined by a poset name and a member name separated by a forward slash ('/'). For example: "cell_definitions/triangle".
The general, abstract map from dof ids to dof values.
The poset for sec_rep_descriptors.
Abstract base class with useful features for all objects.
A client handle for a mutable partially ordered set.
An index within the external ("client") scope of a given id space.
A family of compatible section evaluators, one for each member of some family of cell types; a map fr...
unsigned long size_type
An unsigned integral type used to represent sizes and capacities.
sec_rep_descriptor_poset host_type
The type of host poset.
fiber_bundles_namespace namespace_type
The type of namespace for this type of member.
virtual void * dof_tuple()
The dof tuple (mutable version).
int_type pod_index_type
The plain old data index type.
Namespace for the sheaves component of the sheaf system.
sec_rep_descriptor * 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...
An abstract client handle for a member of a poset.
An array representation of abstract class poset_dof_map.
Namespace for the fiber_bundles component of the sheaf system.
A client handle for an unrestricted member of a poset. A total_poset_member is guaranteed not to be r...
A description for a section representation scheme.