25 #include "SheafSystem/field_at1.h" 27 #include "SheafSystem/assert_contract.h" 28 #include "SheafSystem/base_space_member.h" 29 #include "SheafSystem/sec_ed_invertible.h" 30 #include "SheafSystem/sec_at1.h" 66 xother.state_is_read_accessible());
119 ensure(
coordinates().is_same_state(&xcoordinates));
120 ensure(
property().is_same_state(&xproperty));
139 require(xauto_access ||
142 require(xauto_access ||
173 ensure(
coordinates().path(
true) == xcoordinates_path);
174 ensure(
property().path(
true) == xproperty_path);
186 :
field_atp(xproperty, xcoordinates, xbase_space)
205 require(precondition_of(field_vd::operator=(xother)));
213 ensure(postcondition_of(field_vd::operator=(xother)));
227 require(precondition_of(field_vd::operator=(xother)));
235 ensure(postcondition_of(field_vd::operator=(xother)));
249 require(precondition_of(field_vd::operator=(xsection)));
257 ensure(postcondition_of(field_vd::operator=(xsection)));
272 require(precondition_of(field_vd::operator=(xfiber)));
280 ensure(postcondition_of(field_vd::operator=(xfiber)));
295 require(precondition_of(field_vd::operator=(xfiber)));
303 ensure(postcondition_of(field_vd::operator=(xfiber)));
397 ensure(!result.empty());
413 static const string result(
"field_at1");
417 ensure(!result.empty());
432 require(xother != 0);
438 bool result =
dynamic_cast<const field_at1*
>(xother) != 0;
virtual field_vd & operator=(const field_vd &xother)
Assignment operator.
void print_property_dofs(std::ostream &xos, property_dof_function_type xproperty_dofs_fcn, const std::string &xtitle_text, bool xzero_specified, bool xauto_access) const
Prints the property dofs and coordinates at the property discretization points. If xproperty_dof_fcn ...
virtual bool is_ancestor_of(const any *xother) const
Conformance test; true if xother conforms to this.
schema_poset_member & fiber_schema()
The fiber schema component of this (mutable version).
Namespace for fields component of sheaf system.
The default name space; a poset which contains other posets as members.
bool state_is_read_accessible() const
True if this is attached and if the state is accessible for read or access control is disabled...
base_space_member * _base_space
The base space of this field.
A general antisymmetric tensor of degree 1 over an abstract vector space (persistent version)...
virtual void get_read_access() const
Get read access to the state associated with this.
A general antisymmetric tensor of degree 1 over an abstract vector space (volatile version)...
bool contains_poset_member(pod_index_type xposet_hub_id, pod_index_type xmember_hub_id, bool xauto_access=true) const
True if this contains a poset with hub id xposet_hub_id which contains a member with hub id xmember_h...
A path defined by a poset name and a member name separated by a forward slash ('/'). For example: "cell_definitions/triangle".
virtual void get_read_access() const
Get read access to the state associated with this.
poset_state_handle & member_poset(pod_index_type xhub_id, bool xauto_access=true) const
The poset_state_handle object referred to by hub id xhub_id.
A section of a bundle with fiber type at1.
SHEAF_DLL_SPEC field_at0 & operator>>(const field_at0 &xsrc, field_at0 &xdst)
Pushes xsrc.property() to xdst.property().
bool same_property_fiber_schema(const field_at1 &xother, bool xauto_access) const
True if this has the same property fiber as xother.
A property of type sec_atp as a function of global coordinates.
field_at1()
Default constructor.
A client handle for a member of a base space poset.
sec_at1 & property() const
The dependent variable of this field.
virtual void release_access(bool xall=false) const
Release access. If xall is true, release all levels of access. Otherwise, release one level of access...
A section of a fiber bundle with a d-dimensional Euclidean vector space fiber.
Abstract base class with useful features for all objects.
A property of type sec_at1 as a function of global coordinates.
virtual const std::string & class_name() const
The name of this class.
An abstract invertible section of a fiber bundle with a d-dimensional base space and a d-dimensional ...
virtual bool is_attached() const
True if this handle is attached to a non-void state.
virtual void get_read_access() const
Get read access to the state associated with this.
A vd-valued property as a function of global coordinates.
virtual void release_access(bool xall=false) const
Release access. If xall is true, release all levels of access. Otherwise, release one level of access...
virtual bool invariant() const
Class invariant.
virtual ~field_at1()
Destructor.
virtual bool invariant() const
Class invariant.
void disable_invariant_check() const
Disable invariant check. Intended for preventing recursive calls to invariant and for suppressing inv...
SHEAF_DLL_SPEC std::ostream & operator<<(std::ostream &xos, const field_at0 &xfield)
Inserts field_at0 xfield into ostream xos.
base_space_member & base_space() const
The base space of this field.
virtual field_at1 * clone() const
Virtual constructor, makes a new instance of the same type as this.
bool invariant_check() const
True if invariant checking is enabled.
virtual bool is_attached() const
True if this handle has a state associated with it.
total_poset_member & base_space()
The base space component of this (mutable version).
virtual section_space_schema_member & schema()
The restricted schema for this (mutable version).
sec_ed_invertible * _coordinates
The independent variable of this field.
sec_ed_invertible & coordinates() const
The independent variable of this field.
bool state_is_read_accessible() const
True if this is attached and if the coordinates and property are accessible for read or access contro...
static const std::string & static_class_name()
The name of this class.
void attach_to_state(const namespace_poset *xns, const poset_path &xpath, bool xauto_access=true)
Attach to the state specified by path xpath in the namespace xns.
sec_vd * _property
The dependent variable of this field.
virtual field_at1 & operator=(const field_vd &xother)
Assignment operator.
bool is_same_type(const any *other) const
True if other is the same type as this.
void enable_invariant_check() const
Enable invariant checking.
virtual void release_access(bool xall=false) const
Release access. If xall is true, release all levels of access. Otherwise, release one level of access...