25 #ifndef SHEAF_DLL_SPEC_H 26 #include "SheafSystem/sheaf_dll_spec.h" 30 #include "SheafSystem/t2.h" 33 #ifndef GENERAL_MATRIX_2X2_H 34 #include "SheafSystem/general_matrix_2x2.h" 38 #include "SheafSystem/e2.h" 75 static const std::string& static_class_name();
86 T& operator[] (
int xindex);
92 const T& operator[] (
int xindex)
const;
219 t2_e2_lite& operator=(
const row_dofs_type& xrow_dofs);
229 t2_e2_lite& operator=(
const matrix_type& xmatrix);
235 operator matrix_type& ();
241 operator const matrix_type& ()
const;
247 operator row_dofs_type& ();
253 operator const row_dofs_type& ()
const;
269 virtual void put_components(
value_type xx_comp,
310 virtual int dd()
const;
329 virtual const tp_lite& tp_prototype(
int xp)
const;
335 virtual const atp_lite& atp_prototype(
int xp)
const;
341 virtual const stp_lite& stp_prototype(
int xp)
const;
371 virtual const std::string& class_name()
const;
376 static const std::string& static_class_name();
408 virtual bool is_ancestor_of(
const any_lite& xother)
const;
413 bool invariant()
const;
423 virtual const void*
row_dofs()
const;
457 static const poset_path& standard_schema_path();
542 virtual const volatile_type& lite_prototype()
const;
547 virtual volatile_type* lite_type()
const;
552 t2_e2(
poset* xhost,
bool xauto_access =
true);
573 const row_dofs_type& xrdt,
574 bool xauto_access =
true);
579 t2_e2& operator=(
const row_dofs_type& xrdt);
585 t2_e2(
const poset* xhost,
const std::string& xname);
599 operator row_dofs_type& ();
605 operator const row_dofs_type& ()
const;
655 virtual tp* new_tp(
int xp,
bool xauto_access)
const;
661 virtual atp* new_atp(
int xp,
bool xauto_access)
const;
667 virtual stp* new_stp(
int xp,
bool xauto_access)
const;
685 virtual const std::string& class_name()
const;
690 static const std::string& static_class_name();
695 virtual t2_e2* clone()
const;
702 inline t2_e2*
clone(
bool xnew_state,
bool xauto_access =
true)
const 723 virtual bool invariant()
const;
728 virtual bool is_ancestor_of(
const any* other)
const;
743 template <
typename T>
745 std::ostream& operator<<(std::ostream& xos, const t2_e2_row_dofs_type<T>& xrdt);
750 #endif // ifndef T2_E2_H t2_e2_row_dofs_type< T > row_dofs_type
The type of the row dofs (type of this).
row_dofs_type _row_dofs
Row_dofs_type.
t2_e2_row_dofs_type< double > row_dofs_type
The type of the row dofs.
A symmetric tensor of degree p over an abstract vector space.
vd_value_type value_type
The type of component in the fiber; the scalar type in the fiber vector space.
An antisymmetric tensor of degree p.
Euclidean vector space of dimension 2 (persistent version).
A tensor of degree 2 over a Euclidean vector space of dimension 2 (volatile version).
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 tensor of degree 2 over a Euclidean vector space of dimension 2 (persistent version).
A client handle for a general, abstract partially order set.
T dof_type
The type of the dofs.
A path defined by a poset name and a member name separated by a forward slash ('/'). For example: "cell_definitions/triangle".
General matrix with 2 rows and 2 columns.
virtual void put_components(const dof_type xcomps[], int xcomps_dimension)
Set values of all the components to the values in xcomps.
An antisymmetric rank 2 tensor over a Euclidean vector space of dimension 2 (volatile version)...
T::row_dofs_type & row_dofs(T &x0)
The row dofs pod type for x0 (mutable version).
virtual t2 * clone() const
Make a new handle, no state instance of current.
A tensor of degree 2 over an abstract vector space (volatile version).
An antisymmetric tensor of degree p over an abstract vector space (volatile version).
A general tensor of "degree" p and given "variance" over an abstract vector space.
Abstract base class with useful features for all volatile objects.
Abstract base class with useful features for all objects.
t2_e2 * 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...
Euclidean vector space of dimension 2 (volatile version).
e2_lite vector_space_type
Type of underlying vector space.
A client handle for a mutable partially ordered set.
Row dofs type for class t2_e2.
general_matrix_2x2< T > matrix_type
The type of the associated matrix.
An index within the external ("client") scope of a given id space.
t2_e2_row_dofs_type< double >::matrix_type matrix_type
The type of the associated matrix.
A general tensor of degree p over an abstract vector space (volatile version). Volatile version does ...
virtual t2_e2_lite * clone(bool xnew_state, bool xauto_access) const
Virtual constructor, makes a new instance of the same type as this; synonym for clone(), intended for use only in certain templates.
e2 vector_space_type
Type of underlying vector space.
int_type pod_index_type
The plain old data index type.
t2_e2_row_dofs_type< T > * clone(bool xnew_state, bool xauto_access) const
Virtual constructor, makes a new instance of the same type as this; synonym for clone(), intended for use only in certain templates.
A symmetric tensor of degree 2 over a Euclidean vector space of dimension 2 (volatile version)...
An abstract client handle for a member of a poset.
vd_dof_type dof_type
The type of the degrees of freedom. Note that although dof_type == value_type in this implementation...
t2_e2_lite volatile_type
The associated volatile type.
An abstract tensor space of degree p.
A symmetric tensor of degree p over an abstract vector space (volatile version).
void put_components(const dof_type comps[], int comps_dimension)
Sets values of all the components to the values in comps.
Namespace for the fiber_bundles component of the sheaf system.
A tensor of degree 2 over an abstract vector space (persistent version).
t2_e2_row_dofs_type< double > row_dofs_type
The type of the row dofs.