24 #ifndef SHEAF_DLL_SPEC_H 25 #include "SheafSystem/sheaf_dll_spec.h" 29 #include "SheafSystem/st2.h" 32 #ifndef SYMMETRIC_MATRIX_3X3_H 33 #include "SheafSystem/symmetric_matrix_3x3.h" 37 #include "SheafSystem/e3.h" 197 st2_e3_lite& operator=(
const row_dofs_type& xrow_dofs);
207 st2_e3_lite& operator=(
const matrix_type& xmatrix);
213 operator matrix_type& ();
219 operator const matrix_type& ()
const;
225 operator row_dofs_type& ();
231 operator const row_dofs_type& ()
const;
245 virtual void put_components(
const value_type& xx_comp,
303 virtual int dd()
const;
322 virtual const tp_lite& tp_prototype(
int xp)
const;
328 virtual const atp_lite& atp_prototype(
int xp)
const;
334 virtual const stp_lite& stp_prototype(
int xp)
const;
364 virtual const std::string& class_name()
const;
401 virtual bool is_ancestor_of(
const any_lite& xother)
const;
406 bool invariant()
const;
416 virtual const void*
row_dofs()
const;
447 static const poset_path& standard_schema_path();
518 const row_dofs_type& xrdt,
519 bool xauto_access =
true);
524 st2_e3& operator=(
const row_dofs_type& xrdt);
567 virtual const volatile_type& lite_prototype()
const;
572 virtual volatile_type* lite_type()
const;
580 virtual void put_components(
588 operator row_dofs_type& ();
594 operator const row_dofs_type& ()
const;
662 virtual tp* new_tp(
int xp,
bool xauto_access)
const;
668 virtual atp* new_atp(
int xp,
bool xauto_access)
const;
674 virtual stp* new_stp(
int xp,
bool xauto_access)
const;
692 virtual const std::string& class_name()
const;
709 inline st2_e3*
clone(
bool xnew_state,
bool xauto_access =
true)
const 731 bool is_ancestor_of(
const any* other)
const;
736 bool invariant()
const;
751 template <
typename T>
752 std::ostream& operator<<(std::ostream& xos, const st2_e3_row_dofs_type<T>& xrdt);
774 namespace st2_algebra
777 #ifndef DOXYGEN_1_5_4_SKIP_UNKNOWN 803 #endif // ifndef DOXYGEN_1_5_4_SKIP_UNKNOWN 820 #endif // ifndef ST2_E3_H static int d()
The dimension of the row dof components.
A symmetric tensor of degree p over an abstract vector space.
An antisymmetric tensor of degree p.
Euclidean vector space of dimension 3 (volatile version).
vd_value_type value_type
The type of component in the fiber; the scalar type in the fiber vector space.
static const std::string & static_class_name()
The name of this class.
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...
SHEAF_DLL_SPEC void to_principal_axes(const st2_e3_lite &xlite, gl3_lite &xtransform, st2_e3_lite &xresult)
Computes the principal axes basis for xlite. Returns the diagonalization in xresult and the transform...
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".
Row dofs type for class st2_e3.
virtual st2 * clone() const
Make a new handle, no state instance of current.
symmetric_matrix_3x3< T > matrix_type
The type of the associated matrix.
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).
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.
A general symmetric tensor of degree 2 over an abstract vector space (volatile version).
T dof_type
The type of the dofs.
st2_e3_row_dofs_type< T > * clone() const
Creates a new instance of the same type as this.
A symmetric tensor of degree 2 over a Euclidean vector space of dimension 3 (volatile version)...
An index within the external ("client") scope of a given id space.
st2_e3_row_dofs_type< T > row_dofs_type
The type of the row dofs (type of this).
virtual st2_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 general tensor of degree p over an abstract vector space (volatile version). Volatile version does ...
The mathematical group GL(3, R). The group of all invertible, linear transformations on the R3...
void determinant(const S0 &x0, SR &xresult, bool xauto_access)
int_type pod_index_type
The plain old data index type.
st2_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.
st2_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...
e3_lite vector_space_type
Type of underlying vector space.
st2_e3_lite volatile_type
The associated volatile type.
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...
st2_e3_row_dofs_type< double >::matrix_type matrix_type
The type of the associated matrix.
T components[6]
The xx, xy, xz, yy, yz, zz dofs.
st2_e3_row_dofs_type< double > row_dofs_type
The type of the row dofs.
A symmetric tensor of degree p over an abstract vector space (volatile version).
An abstract symmetric tensor space of degree p.
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.
e3 vector_space_type
Type of underlying vector space.
A general symmetric tensor of degree 2 over an abstract vector space (persistent version).
T & operator[](int xindex)
Value of xindex-th component (row dof) (non const version).
st2_e3_row_dofs_type< double > row_dofs_type
The type of the row dofs.
row_dofs_type _row_dofs
Row_dofs_type.
SHEAF_DLL_SPEC void transform_basis_by(st2_e3_lite &xv, const gl3_lite &xtransform, bool is_contravariant)
Transform the basis and components of xv by xtransform.
double vd_value_type
The type of component in the fiber; the scalar type in the fiber vector space.
A symmetric tensor of degree 2 over a Euclidean vector space of dimension 3 (persistent version)...
Symmetric matrix with 3 rows and 3 columns.