24 #ifndef SHEAF_DLL_SPEC_H 25 #include "SheafSystem/sheaf_dll_spec.h" 29 #include "SheafSystem/at3.h" 33 #include "SheafSystem/e3.h" 164 at3_e3_lite& operator=(
const row_dofs_type& xrow_dofs);
170 operator row_dofs_type& ();
176 operator const row_dofs_type& ()
const;
189 virtual void put_components(
const value_type& xcomp);
243 virtual int dd()
const;
262 virtual const tp_lite& tp_prototype(
int xp)
const;
268 virtual const atp_lite& atp_prototype(
int xp)
const;
274 virtual const stp_lite& stp_prototype(
int xp)
const;
304 virtual const std::string& class_name()
const;
341 virtual bool is_ancestor_of(
const any_lite& xother)
const;
346 bool invariant()
const;
356 virtual const void*
row_dofs()
const;
384 static const poset_path& standard_schema_path();
478 const row_dofs_type& xrdt,
479 bool xauto_access =
true);
484 at3_e3& operator=(
const row_dofs_type& xrdt);
504 virtual const volatile_type& lite_prototype()
const;
509 virtual volatile_type* lite_type()
const;
520 virtual void put_components(
dof_type xcomp);
526 operator row_dofs_type& ();
532 operator const row_dofs_type& ()
const;
599 virtual tp* new_tp(
int xp,
bool xauto_access)
const;
605 virtual atp* new_atp(
int xp,
bool xauto_access)
const;
611 virtual stp* new_stp(
int xp,
bool xauto_access)
const;
629 virtual const std::string& class_name()
const;
646 inline at3_e3*
clone(
bool xnew_state,
bool xauto_access =
true)
const 668 bool is_ancestor_of(
const any* xother)
const;
673 bool invariant()
const;
688 template <
typename T>
690 std::ostream& operator<<(std::ostream& xos, const at3_e3_row_dofs_type<T>& xrdt);
701 namespace atp_algebra
708 SHEAF_DLL_SPEC
void hook(
const at3_e3& x0,
const e3& x1,
at2_e3& xresult,
bool xauto_access);
720 SHEAF_DLL_SPEC
void star(
const at3_e3& x0,
at0& xresult,
bool xauto_access);
738 SHEAF_DLL_SPEC
void star(
const at0& x0,
at3_e3& xresult,
bool xauto_access);
750 SHEAF_DLL_SPEC
void wedge(
const at2_e3& x0,
const e3& x1,
at3_e3& xresult,
bool xauto_access);
762 #endif // ifndef AT3_E3_H e3 vector_space_type
Type of underlying vector space.
An antisymmetric rank 3 tensor over an abstract vector space (volatile version).
static const std::string & static_class_name()
The name of this class.
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 3 (volatile version).
virtual at3 * clone() const
Make a new handle, no state instance of current.
T components[1]
There is only one component (dof) for at3_e3.
An antisymmetric rank 3 tensor over a Euclidean vector space of dimension 3. (volatile version)...
An antisymmetric rank 2 tensor over a Euclidean vector space of dimension 3. (persistent 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...
virtual at3_e3_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.
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".
at3_e3_row_dofs_type< double > row_dofs_type
The type of the row dofs.
T dof_type
The type of the dofs.
virtual void put_components(const dof_type xcomps[], int xcomps_dimension)
Set values of all the components to the values in xcomps.
Euclidean vector space of dimension 3 (persistent version).
T::row_dofs_type & row_dofs(T &x0)
The row dofs pod type for x0 (mutable version).
Row dofs type for class at3_e3.
at3_e3_lite volatile_type
The associated volatile type.
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.
at3_e3_row_dofs_type< T > * clone() const
Creates a new instance of the same type as this.
at3_e3_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.
An antisymmetric rank 3 tensor over a 3D Euclidean vector space.
Abstract base class with useful features for all objects.
static int d()
The dimension of the row dof components.
An abstract antisymmetric tensor space of degree p.
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...
Antisymetric tensor of degree 0 (volatile version).
e3_lite vector_space_type
Type of underlying vector space.
at3_e3_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.
SHEAF_DLL_SPEC tensor_variance hook(const tensor_variance &x0)
The variance of the hook of a tensor with variance x0.
T & operator[](int xindex)
Value of xindex-th component (row dof) (non const version).
An antisymmetric rank 3 tensor over an abstract vector space (volatile version).
row_dofs_type _row_dofs
Row_dofs_type.
at3_e3_row_dofs_type< double > row_dofs_type
The type of the row dofs.
A general tensor of degree p over an abstract vector space (volatile version). Volatile version does ...
int_type pod_index_type
The plain old data index type.
An antisymmetric rank 2 tensor over a Euclidean vector space of dimension 3. (volatile version)...
at3_e3 * 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...
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...
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).
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.