24 #ifndef SHEAF_DLL_SPEC_H 25 #include "SheafSystem/sheaf_dll_spec.h" 29 #include "SheafSystem/at2.h" 32 #ifndef ANTISYMMETRIC_MATRIX_2X2_H 33 #include "SheafSystem/antisymmetric_matrix_2x2.h" 37 #include "SheafSystem/e2.h" 195 at2_e2_lite& operator=(
const row_dofs_type& xrow_dofs);
205 at2_e2_lite& operator=(
const matrix_type& xmatrix);
211 operator matrix_type& ();
217 operator const matrix_type& ()
const;
223 operator row_dofs_type& ();
229 operator const row_dofs_type& ()
const;
283 virtual int dd()
const;
302 virtual const tp_lite& tp_prototype(
int xp)
const;
308 virtual const atp_lite& atp_prototype(
int xp)
const;
314 virtual const stp_lite& stp_prototype(
int xp)
const;
344 virtual const std::string& class_name()
const;
381 virtual bool is_ancestor_of(
const any_lite& xother)
const;
386 bool invariant()
const;
396 virtual const void*
row_dofs()
const;
424 static const poset_path& standard_schema_path();
523 const row_dofs_type& xrdt,
524 bool xauto_access =
true);
529 at2_e2& operator=(
const row_dofs_type& xrdt);
549 virtual const volatile_type& lite_prototype()
const;
554 virtual volatile_type* lite_type()
const;
559 virtual void put_components(
dof_type xy_comp);
565 operator row_dofs_type& ();
571 operator const row_dofs_type& ()
const;
639 virtual tp* new_tp(
int xp,
bool xauto_access)
const;
645 virtual atp* new_atp(
int xp,
bool xauto_access)
const;
651 virtual stp* new_stp(
int xp,
bool xauto_access)
const;
669 virtual const std::string& class_name()
const;
686 inline at2_e2*
clone(
bool xnew_state,
bool xauto_access =
true)
const 707 bool is_ancestor_of(
const any* xother)
const;
712 bool invariant()
const;
727 template <
typename T>
728 std::ostream& operator<<(std::ostream& xos, const at2_e2_row_dofs_type<T>& xrdt);
737 namespace atp_algebra
744 SHEAF_DLL_SPEC
void hook(
const e2& x0,
const e2& x1,
at0& xresult,
bool xauto_access);
756 SHEAF_DLL_SPEC
void hook(
const at2_e2& x0,
const e2& x1,
e2& xresult,
bool xauto_access);
768 SHEAF_DLL_SPEC
void star(
const at2_e2& x0,
at0& xresult,
bool xauto_access);
786 SHEAF_DLL_SPEC
void star(
const at0& x0,
at2_e2& xresult,
bool xauto_access);
806 SHEAF_DLL_SPEC
void star(
const e2& x0,
e2& xresult,
bool xauto_access);
824 SHEAF_DLL_SPEC
void wedge(
const e2& x0,
const e2& x1,
at2_e2& xresult,
bool xauto_access);
837 #endif // ifndef AT2_E2_H static const std::string & static_class_name()
The name of this class.
A symmetric tensor of degree p over an abstract vector space.
virtual void put_component(int xrow, int xcolumn, value_type xcomp)
Sets value of a component in a specified row and column.
An antisymmetric rank 2 tensor over a Euclidean vector space of dimension 2 (persistent version)...
An antisymmetric tensor of degree p.
Euclidean vector space of dimension 2 (persistent version).
The default name space; a poset which contains other posets as members.
virtual at2_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.
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".
static int d()
The dimension of the row dof components.
at2_e2_row_dofs_type< double > row_dofs_type
The type of the row dofs.
An antisymmetric rank 2 tensor over a Euclidean vector space of dimension 2 (volatile version)...
at2_e2_row_dofs_type< T > * clone() const
Creates a new instance of the same type as this.
T::row_dofs_type & row_dofs(T &x0)
The row dofs pod type for x0 (mutable 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.
at2_e2_row_dofs_type< T > row_dofs_type
The type of the row dofs (type of this).
Abstract base class with useful features for all volatile objects.
antisymmetric_matrix_2x2< T > matrix_type
The type of the associated matrix.
Abstract base class with useful features for all objects.
at2_e2_row_dofs_type< double > row_dofs_type
The type of the row dofs.
Euclidean vector space of dimension 2 (volatile version).
An abstract antisymmetric tensor space of degree p.
at2_e2_row_dofs_type< double >::matrix_type matrix_type
The type of the associated matrix.
An index within the external ("client") scope of a given id space.
A scalar viewed as an antisymmetric tensor of degree 0. As the degree is 0 there is nothing to be sym...
at2_e2_row_dofs_type< double >::matrix_type matrix_type
The type of the associated matrix.
T & operator[](int xindex)
Value of xindex-th component (row dof) (non const version).
Antisymetric tensor of degree 0 (volatile version).
Antisymmetric matrix with 2 rows and 2 columns.
at2_e2_lite volatile_type
The associated volatile type.
T dof_type
The type of the dofs.
SHEAF_DLL_SPEC tensor_variance hook(const tensor_variance &x0)
The variance of the hook of a tensor with variance x0.
Row dofs type for class at2_e2.
virtual at2 * clone() const
Make a new handle, no state instance of current.
A general tensor of degree p over an abstract vector space (volatile version). Volatile version does ...
T components[1]
The xy dof.
e2 vector_space_type
Type of underlying vector space.
row_dofs_type _row_dofs
Row_dofs_type.
int_type pod_index_type
The plain old data index type.
vd_value_type value_type
The type of component in the fiber; the scalar type in the fiber vector space.
e2_lite vector_space_type
Type of underlying vector space.
at2_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...
A general antisymmetric tensor of degree 2 over an abstract vector space (volatile version)...
SHEAF_DLL_SPEC tensor_variance wedge(const tensor_variance &x0, const tensor_variance &x1)
The variance of the wedge of a tensor with variance x0 with a tnesor with variance x1...
virtual value_type component(int xrow, int xcolumn) const
The value of the component in a specified row and column.
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...
SHEAF_DLL_SPEC tensor_variance star(const tensor_variance &x0, int xdd)
The variance of the Hodge star of a tensor with variance x0 over a vector space of dimension xdd...
A symmetric tensor of degree p over an abstract vector space (volatile version).
Namespace for the fiber_bundles component of the sheaf system.
at2_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 general antisymmetric tensor of degree 2 over an abstract vector space.