24 #ifndef SHEAF_DLL_SPEC_H 25 #include "SheafSystem/sheaf_dll_spec.h" 29 #include "SheafSystem/gln.h" 32 #ifndef GENERAL_MATRIX_3X3_H 33 #include "SheafSystem/general_matrix_3x3.h" 228 gl3_lite(
const row_dofs_type& xrow_dofs);
233 gl3_lite& operator=(
const row_dofs_type& xrow_dofs);
238 gl3_lite(
const matrix_type& xmatrix);
243 gl3_lite& operator=(
const matrix_type& xmatrix);
249 operator matrix_type& ();
255 operator const matrix_type& ()
const;
261 operator row_dofs_type& ();
267 operator const row_dofs_type& ()
const;
367 void get_matrix(row_dofs_type& xmatrix)
const;
374 void put_matrix(row_dofs_type& xmatrix);
400 virtual int n()
const;
430 virtual const std::string& class_name()
const;
468 virtual bool is_ancestor_of(
const any_lite& xother)
const;
473 bool invariant()
const;
483 virtual const void*
row_dofs()
const;
516 static const poset_path& standard_schema_path();
583 gl3(
const gl3& xother,
bool xnew_jem);
593 gl3& operator=(
const gl3& xother);
603 gl3(
poset* xhost,
bool xauto_access =
true);
612 const row_dofs_type& xrdt,
613 bool xauto_access =
true);
618 gl3& operator=(
const row_dofs_type& xrdt);
636 gl3(
const poset* xhost,
const std::string& xname);
641 explicit gl3(
gl3* xother);
647 operator row_dofs_type& ();
653 operator const row_dofs_type& ()
const;
658 void get_matrix(row_dofs_type& xmatrix)
const;
665 void put_matrix(row_dofs_type& xmatrix);
670 virtual volatile_type* lite_type()
const;
715 virtual const std::string& class_name()
const;
734 inline gl3*
clone(
bool xnew_state,
bool xauto_access =
true)
const 736 return static_cast<gl3*
>(
gln::clone(xnew_state, xauto_access));
755 virtual bool invariant()
const;
760 virtual bool is_ancestor_of(
const any* xother)
const;
775 template <
typename T>
776 std::ostream& operator<<(std::ostream& xos, const gl3_row_dofs_type<T>& xrdt);
778 #ifndef DOXYGEN_1_5_4_SKIP_UNKNOWN 788 SHEAF_DLL_SPEC std::ostream&
operator<<(std::ostream& xos,
const gl3& xpersistent);
800 #endif // ifndef DOXYGEN_1_5_4_SKIP_UNKNOWN 805 #endif // ifndef GL3_H gl3_row_dofs_type< T > * clone() const
Creates a new instance of the same type as this.
gl3_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.
row_dofs_type _row_dofs
Row_dofs_type.
The mathematical group GL(n, R). GL(n,R) is the group of general, invertible, linear transformations ...
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 client handle for a general, abstract partially order set.
gl3_row_dofs_type< T > row_dofs_type
The type of the row dofs (type of this).
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.
The mathematical group GL(n, R). GL(n,R) is the group of general, invertible, linear transformations ...
gl3_row_dofs_type< double > row_dofs_type
The type of the row dofs.
T & operator[](int xindex)
Value of xindex-th component (row dof) (non const version).
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).
general_matrix_3x3< T > matrix_type
The type of the associated matrix.
Abstract base class with useful features for all volatile objects.
Abstract base class with useful features for all objects.
A client handle for a mutable partially ordered set.
An index within the external ("client") scope of a given id space.
vd_value_type value_type
The type of component in the fiber; the scalar type in the fiber vector space.
gl3_lite volatile_type
The associated volatile type.
T dof_type
The type of the dofs.
gl3_row_dofs_type< double >::matrix_type matrix_type
The type of the associated matrix.
virtual int n() const
Dimension of the representation space; n in GL(n, R).
Row dofs type for class gl3.
The mathematical group GL(3, R). The group of all invertible, linear transformations on the R3...
A Cartesian product space.
matrix_type & basis_matrix()
The associated basis transformation matrix (non const version).
virtual gl3_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.
gl3 * 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...
matrix_type & component_matrix()
The associated component transformation matrix (non const version).
int_type pod_index_type
The plain old data index type.
General matrix with 3 rows and 3 columns.
virtual gln * clone() const
Make a new handle, no state instance of current.
gl3_row_dofs_type< double > row_dofs_type
The type of the row dofs.
An abstract client handle for a member of a poset.
e3 vector_space_type
Type of underlying vector space.
Namespace for the fiber_bundles component of the sheaf system.
SHEAF_DLL_SPEC void inverse(const gl2_lite &xlite, gl2_lite &xresult)
Inverse (pre-allocated version for volatile type).
static const std::string & static_class_name()
The name of this class.
The mathematical group GL(3, R). The group of all invertible, linear transformations on the R3...
T components[18]
The dofs in the following order:
SHEAF_DLL_SPEC std::ostream & operator<<(std::ostream &os, const binary_index &xbi)
Insert binary_index& xbi into ostream& os.