suanPan
Orientation Class Referenceabstract

A Orientation class. More...

#include <Orientation.h>

Inheritance diagram for Orientation:
Collaboration diagram for Orientation:

Public Member Functions

 Orientation (unsigned=0, vec &&={})
 
 Orientation (const Orientation &)=default
 
 Orientation (Orientation &&)=delete
 
Orientationoperator= (const Orientation &)=delete
 
Orientationoperator= (Orientation &&)=delete
 
 ~Orientation () override=default
 
void update_axis (const vec &)
 
virtual void set_element_ptr (const Element *)
 
virtual bool is_nlgeom () const
 
virtual OrientationType get_orientation_type () const =0
 
double get_length () const
 
double get_inclination () const
 
const mat & get_transformation () const
 
virtual unique_ptr< Orientationget_copy ()=0
 
virtual void update_status ()
 
virtual void commit_status ()
 
virtual void reset_status ()
 
virtual void clear_status ()
 
virtual vec to_local_vec (double) const
 
virtual vec to_global_vec (double) const
 
virtual mat to_global_mass_mat (double) const
 
virtual mat to_global_geometry_mat (double) const
 
virtual mat to_global_stiffness_mat (double) const
 
virtual vec to_local_vec (vec &&) const
 
virtual vec to_global_vec (vec &&) const
 
virtual mat to_global_mass_mat (mat &&) const
 
virtual mat to_global_geometry_mat (mat &&) const
 
virtual mat to_global_stiffness_mat (mat &&) const
 
virtual vec to_local_vec (const vec &) const =0
 transform anything from global to local system e.g., disp -> disp, vel -> vel, acc -> acc, not applicable to conversion such as disp -> strain More...
 
virtual vec to_global_vec (const vec &) const =0
 transform anything from local to global system e.g., disp -> disp, vel -> vel, acc -> acc, not applicable to conversion such as disp -> strain More...
 
virtual mat to_global_mass_mat (const mat &) const
 transform anything from local to global system e.g., stiffness -> stiffness. More...
 
virtual mat to_global_geometry_mat (const mat &) const
 
virtual mat to_global_stiffness_mat (const mat &) const =0
 
- Public Member Functions inherited from Tag
 Tag (unsigned=0)
 
 Tag (const Tag &)=default
 
 Tag (Tag &&)=default
 
Tagoperator= (const Tag &)=delete
 
Tagoperator= (Tag &&)=delete
 
virtual ~Tag ()=default
 
void set_tag (unsigned) const
 
unsigned get_tag () const
 
void enable ()
 
void disable ()
 
void guard ()
 
void unguard ()
 
bool is_active () const
 
bool is_guarded () const
 
virtual void print ()
 

Protected Member Functions

void check_element_ptr () const
 
virtual void update_transformation ()=0
 

Protected Attributes

const Elementelement_ptr = nullptr
 
vec z_axis
 
double length = 0.
 
double inclination = 0.
 
mat direction_cosine
 

Detailed Description

A Orientation class.

The Orientation class handles transformations between coordinate systems. Be sure to call set_element_ptr() before updating anything.

Author
tlc
Date
27/06/2018
Version
0.1.0

Constructor & Destructor Documentation

◆ Orientation() [1/3]

Orientation::Orientation ( unsigned  T = 0,
vec &&  O = {} 
)
explicit

◆ Orientation() [2/3]

Orientation::Orientation ( const Orientation )
default

◆ Orientation() [3/3]

Orientation::Orientation ( Orientation &&  )
delete

◆ ~Orientation()

Orientation::~Orientation ( )
overridedefault

Member Function Documentation

◆ check_element_ptr()

void Orientation::check_element_ptr ( ) const
protected
Here is the call graph for this function:
Here is the caller graph for this function:

◆ clear_status()

void Orientation::clear_status ( )
virtual

Reimplemented in B3DC.

◆ commit_status()

void Orientation::commit_status ( )
virtual

Reimplemented in B3DC.

◆ get_copy()

virtual unique_ptr< Orientation > Orientation::get_copy ( )
pure virtual

Implemented in B2DC, B2DL, B3DC, B3DL, B3DOSC, B3DOSL, T2DC, T2DL, T3DC, and T3DL.

◆ get_inclination()

double Orientation::get_inclination ( ) const

◆ get_length()

double Orientation::get_length ( ) const

◆ get_orientation_type()

virtual OrientationType Orientation::get_orientation_type ( ) const
pure virtual

Implemented in B2DL, B3DL, B3DOSC, B3DOSL, T2DL, and T3DL.

◆ get_transformation()

const mat & Orientation::get_transformation ( ) const

◆ is_nlgeom()

bool Orientation::is_nlgeom ( ) const
virtual

Reimplemented in B2DC, B3DC, T2DC, and T3DC.

◆ operator=() [1/2]

Orientation & Orientation::operator= ( const Orientation )
delete

◆ operator=() [2/2]

Orientation & Orientation::operator= ( Orientation &&  )
delete

◆ reset_status()

void Orientation::reset_status ( )
virtual

Reimplemented in B3DC.

◆ set_element_ptr()

void Orientation::set_element_ptr ( const Element E)
virtual
Here is the call graph for this function:

◆ to_global_geometry_mat() [1/3]

mat Orientation::to_global_geometry_mat ( const mat &  ) const
virtual

Reimplemented in B2DC, B3DC, B3DOSC, T2DC, and T3DC.

◆ to_global_geometry_mat() [2/3]

mat Orientation::to_global_geometry_mat ( double  l) const
virtual
Here is the call graph for this function:
Here is the caller graph for this function:

◆ to_global_geometry_mat() [3/3]

mat Orientation::to_global_geometry_mat ( mat &&  in) const
virtual
Here is the call graph for this function:

◆ to_global_mass_mat() [1/3]

mat Orientation::to_global_mass_mat ( const mat &  ) const
virtual

transform anything from local to global system e.g., stiffness -> stiffness.

Returns
variable in global system

Reimplemented in B2DL, B3DL, B3DOSL, T2DL, and T3DL.

◆ to_global_mass_mat() [2/3]

mat Orientation::to_global_mass_mat ( double  l) const
virtual
Here is the call graph for this function:
Here is the caller graph for this function:

◆ to_global_mass_mat() [3/3]

mat Orientation::to_global_mass_mat ( mat &&  in) const
virtual
Here is the call graph for this function:

◆ to_global_stiffness_mat() [1/3]

virtual mat Orientation::to_global_stiffness_mat ( const mat &  ) const
pure virtual

Implemented in B2DL, B3DC, B3DL, B3DOSL, T2DL, and T3DL.

◆ to_global_stiffness_mat() [2/3]

mat Orientation::to_global_stiffness_mat ( double  l) const
virtual
Here is the call graph for this function:
Here is the caller graph for this function:

◆ to_global_stiffness_mat() [3/3]

mat Orientation::to_global_stiffness_mat ( mat &&  in) const
virtual
Here is the call graph for this function:

◆ to_global_vec() [1/3]

virtual vec Orientation::to_global_vec ( const vec &  ) const
pure virtual

transform anything from local to global system e.g., disp -> disp, vel -> vel, acc -> acc, not applicable to conversion such as disp -> strain

Returns
variable in global system

Implemented in B2DL, B3DC, B3DL, B3DOSL, T2DL, and T3DL.

◆ to_global_vec() [2/3]

vec Orientation::to_global_vec ( double  l) const
virtual
Here is the call graph for this function:
Here is the caller graph for this function:

◆ to_global_vec() [3/3]

vec Orientation::to_global_vec ( vec &&  in) const
virtual
Here is the call graph for this function:

◆ to_local_vec() [1/3]

virtual vec Orientation::to_local_vec ( const vec &  ) const
pure virtual

transform anything from global to local system e.g., disp -> disp, vel -> vel, acc -> acc, not applicable to conversion such as disp -> strain

Returns
variable in local system

Implemented in B2DC, B2DL, B3DC, B3DL, B3DOSC, B3DOSL, T2DL, and T3DL.

◆ to_local_vec() [2/3]

vec Orientation::to_local_vec ( double  g) const
virtual
Here is the call graph for this function:
Here is the caller graph for this function:

◆ to_local_vec() [3/3]

vec Orientation::to_local_vec ( vec &&  in) const
virtual

◆ update_axis()

void Orientation::update_axis ( const vec &  O)

◆ update_status()

void Orientation::update_status ( )
virtual
Here is the call graph for this function:
Here is the caller graph for this function:

◆ update_transformation()

virtual void Orientation::update_transformation ( )
protectedpure virtual

Implemented in B2DL, B3DC, B3DL, B3DOSC, T2DC, T2DL, T3DC, and T3DL.

Here is the caller graph for this function:

Member Data Documentation

◆ direction_cosine

mat Orientation::direction_cosine
protected

◆ element_ptr

const Element* Orientation::element_ptr = nullptr
protected

◆ inclination

double Orientation::inclination = 0.
protected

◆ length

double Orientation::length = 0.
protected

◆ z_axis

vec Orientation::z_axis
protected

The documentation for this class was generated from the following files: