SheafSystem
0.0.0.0
|
The mathematical group GL(3, R). The group of all invertible, linear transformations on the R3, the 3 dimension vector space over the reals. Equivalent to the set of all invertible 3x3 real matrices (volatile version). More...
#include <gl3.h>
GL3 FACET OF CLASS GL3_LITE | |
typedef gl3_row_dofs_type< double > | row_dofs_type |
The type of the row dofs. More... | |
typedef gl3_row_dofs_type< double >::matrix_type | matrix_type |
The type of the associated matrix. More... | |
row_dofs_type | _row_dofs |
Row_dofs_type. More... | |
gl3_lite () | |
Default constructor. More... | |
gl3_lite (const gl3_lite &xother) | |
Copy constructor. More... | |
gl3_lite & | operator= (const gl3_lite &xother) |
Assignment operator. More... | |
virtual | ~gl3_lite () |
Destructor. More... | |
gl3_lite (const row_dofs_type &xrow_dofs) | |
Creates a new instance with row dofs xrow_dofs. More... | |
gl3_lite & | operator= (const row_dofs_type &xrow_dofs) |
Assignment (from a row dofs type) operator. More... | |
gl3_lite (const matrix_type &xmatrix) | |
Creates a new instance with matrix type xmatrix. More... | |
gl3_lite & | operator= (const matrix_type &xmatrix) |
Assignment (from a matrix type) operator. More... | |
operator matrix_type & () | |
Conversion (cast) operator to convert to the associated matrix type (non const version). More... | |
operator const matrix_type & () const | |
Conversion (cast) operator to convert to the associated matrix type (const version). More... | |
operator row_dofs_type & () | |
Conversion (cast) operator to convert to the associated row dofs type (non const version). More... | |
operator const row_dofs_type & () const | |
Conversion (cast) operator to convert to the associated row dofs type (const version). More... | |
matrix_type & | basis_matrix () |
The associated basis transformation matrix (non const version). More... | |
const matrix_type & | basis_matrix () const |
The associated basis transformation matrix (const version). More... | |
matrix_type & | component_matrix () |
The associated component transformation matrix (non const version). More... | |
const matrix_type & | component_matrix () const |
The associated component transformation matrix (const version). More... | |
void | rescale (const value_type &xscale, const value_type &yscale, const value_type &zscale) |
Set this transform to rescale the x, y, and z axes by xscale, yscale, and zscale, respectively. More... | |
void | rotate_x (const value_type &xangle) |
Set this transform to a rotation about the x-axis by angle xangle, in radians. More... | |
void | rotate_y (const value_type &xangle) |
Set this transform to a rotation about the y-axis by angle xangle, in radians. See note under rotate_x concerning definition of transformations. More... | |
void | rotate_z (const value_type &xangle) |
Set this transform to a rotation about the z-axis by angle xangle, in radians. See note under rotate_x concerning definition of transformations. More... | |
void | rotate_euler (const value_type &xalpha, const value_type &xbeta, const value_type &xgamma) |
Set this transform to a rotation through the Euler angles alpha, beta, and gamma. It is equivalent to the three following independent rotations: More... | |
void | basis (value_type xb0[], value_type xb1[], value_type xb2[]) const |
The components of the new basis vectors w.r.t. the old basis, pre-allocated version. More... | |
void | put_basis (const value_type xb0[], const value_type xb1[], const value_type xb2[]) |
Set this transformation to transform to the basis specified by component vectors xb0, xb1, xb2, where xbi gives the components of new basis vector i w.r.t. the old basis. More... | |
void | get_matrix (row_dofs_type &xmatrix) const |
Copies the row dofs of this into xmatrix. More... | |
void | put_matrix (row_dofs_type &xmatrix) |
Updates the component matrix part of xmatrix to be the inverse of the basis part and then copies xmatrix into the row_dofs_of this. More... | |
GLN FACET OF CLASS GL3_LITE | |
virtual int | n () const |
Dimension of the representation space; n in GL(n, R). More... | |
ABSTRACT POSET MEMBER FACET OF CLASS GL3_LITE | |
virtual const std::string & | class_name () const |
The name of this class. More... | |
virtual gl3_lite * | clone () const |
Virtual constructor, makes a new instance of the same type as this. More... | |
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. More... | |
static const std::string & | static_class_name () |
The name of this class. More... | |
ANY FACET OF CLASS GL3_LITE | |
virtual bool | is_ancestor_of (const any_lite &xother) const |
Conformance test; true if other conforms to this. More... | |
bool | invariant () const |
Class invariant. More... | |
virtual void * | row_dofs () |
The row dofs for this instance (mutable version). More... | |
virtual const void * | row_dofs () const |
The row dofs for this instance (const version). More... | |
Additional Inherited Members | |
Public Types inherited from fiber_bundle::gln_lite | |
typedef vd_dof_type | dof_type |
The type of the degrees of freedom. More... | |
typedef vd_value_type | value_type |
The type of component in the fiber; the scalar type in the fiber vector space. More... | |
typedef gln_table_dofs_type | table_dofs_type |
The type of the table dofs. More... | |
typedef gln_row_dofs_type< double > | row_dofs_type |
The type of the row dofs. More... | |
Public Types inherited from fiber_bundle::any_lite | |
typedef any_lite | volatile_type |
The associated volatile type. More... | |
Public Member Functions inherited from fiber_bundle::gln_lite | |
gln_lite () | |
Default constructor. More... | |
gln_lite (const gln_lite &xother) | |
Copy constructor. More... | |
gln_lite & | operator= (const gln_lite &xother) |
Assignment operator. More... | |
virtual | ~gln_lite () |
Destructor. More... | |
gln_lite (const row_dofs_type &xrow_dofs) | |
Creates a new instance with row dofs xrow_dofs. More... | |
gln_lite & | operator= (const row_dofs_type &xrow_dofs) |
Assignment (from row_dofs_type) operator. More... | |
virtual int | d () const |
The dimension of the row dof components. More... | |
value_type | component (int xindex) const |
The xindex-th component. More... | |
void | put_component (int xindex, value_type xcomp) |
Set the xindex-th component to xcomp. More... | |
void | components (dof_type xcomps[], int xcomps_dimension) const |
The values of all the components (preallocated version). More... | |
void | put_components (const dof_type xcomps[], int xcomps_dimension) |
Set values of all the components to the values in xcomps. More... | |
value_type & | operator[] (int xindex) |
The value of the component corresponding to xindex (non const version). More... | |
const value_type & | operator[] (int xindex) const |
The value of the component corresponding to xindex (const version). More... | |
table_dofs_type | table_dofs () const |
The table dofs. More... | |
bool | invariant () const |
Class invariant. More... | |
Public Member Functions inherited from fiber_bundle::group_lite | |
group_lite () | |
Default constructor. More... | |
group_lite (const group_lite &xother) | |
Copy constructor. More... | |
group_lite & | operator= (const group_lite &xother) |
Assignment operator. More... | |
virtual | ~group_lite () |
Destructor. More... | |
bool | invariant () const |
Class invariant. More... | |
Public Member Functions inherited from fiber_bundle::any_lite | |
virtual | ~any_lite () |
Destructor. More... | |
bool | is_same_type (const any_lite &xother) const |
True if other is the same type as this. More... | |
bool | invariant () const |
Class invariant, intended to be redefined in each descendant. More... | |
bool | invariant_check () const |
True if invariant checking is enabled. More... | |
void | enable_invariant_check () const |
Enable invariant checking. More... | |
void | disable_invariant_check () const |
Disable invariant check. Intended for preventing recursive calls to invariant and for suppressing invariant checking during multi-phase initialization. More... | |
int | disable_invariance_check_request_depth () const |
Number of times disable_invariant_check has been called without matching call to enable_invariant_check. More... | |
Static Public Member Functions inherited from fiber_bundle::gln_lite | |
static const std::string & | static_class_name () |
The name of this class. More... | |
Static Public Member Functions inherited from fiber_bundle::group_lite | |
static const std::string & | static_class_name () |
The name of this class. More... | |
Static Public Member Functions inherited from fiber_bundle::any_lite | |
static const std::string & | static_class_name () |
The name of this class. More... | |
Protected Member Functions inherited from fiber_bundle::any_lite | |
any_lite () | |
Default constructor. More... | |
The mathematical group GL(3, R). The group of all invertible, linear transformations on the R3, the 3 dimension vector space over the reals. Equivalent to the set of all invertible 3x3 real matrices (volatile version).
typedef gl3_row_dofs_type<double>::matrix_type fiber_bundle::gl3_lite::matrix_type |
typedef gl3_row_dofs_type<double> fiber_bundle::gl3_lite::row_dofs_type |
fiber_bundle::gl3_lite::gl3_lite | ( | ) |
Default constructor.
Definition at line 50 of file gl3.cc.
Referenced by operator=(), and ~gl3_lite().
fiber_bundle::gl3_lite::gl3_lite | ( | const gl3_lite & | xother | ) |
|
virtual |
Destructor.
Definition at line 103 of file gl3.cc.
References gl3_lite().
Referenced by operator=().
fiber_bundle::gl3_lite::gl3_lite | ( | const row_dofs_type & | xrow_dofs | ) |
Creates a new instance with row dofs xrow_dofs.
Definition at line 116 of file gl3.cc.
References operator=().
fiber_bundle::gl3_lite::gl3_lite | ( | const matrix_type & | xmatrix | ) |
Creates a new instance with matrix type xmatrix.
Definition at line 152 of file gl3.cc.
References operator=().
void fiber_bundle::gl3_lite::basis | ( | value_type | xb0[], |
value_type | xb1[], | ||
value_type | xb2[] | ||
) | const |
The components of the new basis vectors w.r.t. the old basis, pre-allocated version.
Definition at line 530 of file gl3.cc.
References put_basis().
Referenced by rotate_euler().
fiber_bundle::gl3_lite::matrix_type & fiber_bundle::gl3_lite::basis_matrix | ( | ) |
The associated basis transformation matrix (non const version).
Definition at line 254 of file gl3.cc.
Referenced by fiber_bundle::st2_algebra::determinant(), fiber_bundle::inverse(), operator const row_dofs_type &(), and fiber_bundle::vd_algebra::transform_basis_by().
const fiber_bundle::gl3_lite::matrix_type & fiber_bundle::gl3_lite::basis_matrix | ( | ) | const |
The associated basis transformation matrix (const version).
Definition at line 271 of file gl3.cc.
References component_matrix().
|
virtual |
The name of this class.
Reimplemented from fiber_bundle::gln_lite.
Definition at line 713 of file gl3.cc.
References static_class_name().
Referenced by n().
|
virtual |
Virtual constructor, makes a new instance of the same type as this.
Reimplemented from fiber_bundle::gln_lite.
Definition at line 751 of file gl3.cc.
References is_ancestor_of().
Referenced by static_class_name().
|
inlinevirtual |
Virtual constructor, makes a new instance of the same type as this; synonym for clone(), intended for use only in certain templates.
Definition at line 446 of file gl3.h.
References fiber_bundle::gl3_row_dofs_type< T >::clone(), and sheaf::row_dofs().
fiber_bundle::gl3_lite::matrix_type & fiber_bundle::gl3_lite::component_matrix | ( | ) |
The associated component transformation matrix (non const version).
Definition at line 288 of file gl3.cc.
Referenced by basis_matrix(), fiber_bundle::st2_algebra::determinant(), fiber_bundle::inverse(), and fiber_bundle::vd_algebra::transform_basis_by().
const fiber_bundle::gl3_lite::matrix_type & fiber_bundle::gl3_lite::component_matrix | ( | ) | const |
void fiber_bundle::gl3_lite::get_matrix | ( | row_dofs_type & | xmatrix | ) | const |
Copies the row dofs of this into xmatrix.
Definition at line 609 of file gl3.cc.
References fiber_bundle::gl3_row_dofs_type< T >::components, and put_matrix().
Referenced by put_basis().
bool fiber_bundle::gl3_lite::invariant | ( | ) | const |
Class invariant.
Definition at line 804 of file gl3.cc.
References row_dofs().
Referenced by is_ancestor_of().
|
virtual |
Conformance test; true if other conforms to this.
Reimplemented from fiber_bundle::gln_lite.
Definition at line 784 of file gl3.cc.
References invariant().
Referenced by clone().
|
virtual |
Dimension of the representation space; n in GL(n, R).
Reimplemented from fiber_bundle::gln_lite.
Definition at line 671 of file gl3.cc.
References class_name().
Referenced by put_matrix(), and fiber_bundle::vd_algebra::transform_basis_by().
fiber_bundle::gl3_lite::operator const gl3_lite::matrix_type & | ( | ) | const |
fiber_bundle::gl3_lite::operator const gl3_lite::row_dofs_type & | ( | ) | const |
Conversion (cast) operator to convert to the associated row dofs type (const version).
Definition at line 237 of file gl3.cc.
References basis_matrix().
fiber_bundle::gl3_lite::operator gl3_lite::matrix_type & | ( | ) |
fiber_bundle::gl3_lite::operator gl3_lite::row_dofs_type & | ( | ) |
fiber_bundle::gl3_lite & fiber_bundle::gl3_lite::operator= | ( | const gl3_lite & | xother | ) |
Assignment operator.
Definition at line 82 of file gl3.cc.
References _row_dofs, and ~gl3_lite().
Referenced by gl3_lite().
fiber_bundle::gl3_lite & fiber_bundle::gl3_lite::operator= | ( | const row_dofs_type & | xrow_dofs | ) |
Assignment (from a row dofs type) operator.
Definition at line 133 of file gl3.cc.
References gl3_lite().
fiber_bundle::gl3_lite & fiber_bundle::gl3_lite::operator= | ( | const matrix_type & | xmatrix | ) |
Assignment (from a matrix type) operator.
void fiber_bundle::gl3_lite::put_basis | ( | const value_type | xb0[], |
const value_type | xb1[], | ||
const value_type | xb2[] | ||
) |
Set this transformation to transform to the basis specified by component vectors xb0, xb1, xb2, where xbi gives the components of new basis vector i w.r.t. the old basis.
Definition at line 567 of file gl3.cc.
References get_matrix().
Referenced by basis().
void fiber_bundle::gl3_lite::put_matrix | ( | row_dofs_type & | xmatrix | ) |
Updates the component matrix part of xmatrix to be the inverse of the basis part and then copies xmatrix into the row_dofs_of this.
Definition at line 633 of file gl3.cc.
References fiber_bundle::gl3_row_dofs_type< T >::basis_matrix(), fiber_bundle::gl3_row_dofs_type< T >::component_matrix(), fiber_bundle::gl3_row_dofs_type< T >::components, fiber_bundle::general_matrix_3x3< T >::inverse(), and n().
Referenced by get_matrix().
void fiber_bundle::gl3_lite::rescale | ( | const value_type & | xscale, |
const value_type & | yscale, | ||
const value_type & | zscale | ||
) |
Set this transform to rescale the x, y, and z axes by xscale, yscale, and zscale, respectively.
Definition at line 320 of file gl3.cc.
References rotate_x().
Referenced by component_matrix().
void fiber_bundle::gl3_lite::rotate_euler | ( | const value_type & | xalpha, |
const value_type & | xbeta, | ||
const value_type & | xgamma | ||
) |
Set this transform to a rotation through the Euler angles alpha, beta, and gamma. It is equivalent to the three following independent rotations:
Definition at line 479 of file gl3.cc.
References basis(), fiber_bundle::sec_at0_algebra::cos(), and fiber_bundle::sec_at0_algebra::sin().
Referenced by rotate_z().
void fiber_bundle::gl3_lite::rotate_x | ( | const value_type & | xangle | ) |
Set this transform to a rotation about the x-axis by angle xangle, in radians.
Note: this routine constructs the basis transformation matrix, not the component transformation matrix. More specifically:
Let the old basis be f-hat, considered as a row of vectors with f-hat[i] the i-th basis vector. Similary, let e-hat be the new basis. Then this matrix is defined such that the i-th column, lm.[*][i] contains the components of e-hat[i] with respect to f-hat. Since a basis is a row of vectors, basis transformation corresponds to the matrix equation: e-hat = f-hat*this.
Definition at line 365 of file gl3.cc.
References fiber_bundle::sec_at0_algebra::cos(), rotate_y(), and fiber_bundle::sec_at0_algebra::sin().
Referenced by rescale().
void fiber_bundle::gl3_lite::rotate_y | ( | const value_type & | xangle | ) |
Set this transform to a rotation about the y-axis by angle xangle, in radians. See note under rotate_x concerning definition of transformations.
Definition at line 403 of file gl3.cc.
References fiber_bundle::sec_at0_algebra::cos(), rotate_z(), and fiber_bundle::sec_at0_algebra::sin().
Referenced by rotate_x().
void fiber_bundle::gl3_lite::rotate_z | ( | const value_type & | xangle | ) |
Set this transform to a rotation about the z-axis by angle xangle, in radians. See note under rotate_x concerning definition of transformations.
Definition at line 441 of file gl3.cc.
References fiber_bundle::sec_at0_algebra::cos(), rotate_euler(), and fiber_bundle::sec_at0_algebra::sin().
Referenced by rotate_y().
|
virtual |
The row dofs for this instance (mutable version).
Reimplemented from fiber_bundle::any_lite.
Definition at line 832 of file gl3.cc.
Referenced by invariant().
|
virtual |
The row dofs for this instance (const version).
Reimplemented from fiber_bundle::any_lite.
Definition at line 839 of file gl3.cc.
References fiber_bundle::gl3::standard_schema_path().
|
static |
The name of this class.
Definition at line 732 of file gl3.cc.
References clone().
Referenced by class_name().
|
protected |