GranOO  3.0
A robust and versatile workbench to build 3D dynamic simulations based on the Discrete Element Method
Public Member Functions | Private Member Functions | Private Attributes | Friends | List of all members
GranOO3::Physic::Node Class Reference

#include <Node.hpp>

Inheritance diagram for GranOO3::Physic::Node:
Inheritance graph
[legend]

Public Member Functions

 Node (const Geom::Vector &position)
 
 Node (const Geom::Point &position)
 
 Node ()
 
virtual ~Node ()
 
void clear_force ()
 
void clear_torque ()
 
const Geom::Framelocal_frame () const
 
void incremental_move (const Geom::Vector &vec)
 
void incremental_unmove (const Geom::Vector &vec)
 
void update_position_from_displacement ()
 
void update_displacement_from_position ()
 
void set_displacement (const Geom::Vector &)
 
void clear_displacement ()
 
void set_displacement_x (const double &)
 
void set_displacement_y (const double &)
 
void set_displacement_z (const double &)
 
void set_position (const Geom::Vector &)
 
void set_position_x (const double &)
 
void set_position_y (const double &)
 
void set_position_z (const double &)
 
void set_center (const Geom::Point &)
 
void update_initial_parameter_to_current_parameter ()
 
void update_from_fem ()
 
void update_from_dem ()
 
void add_interaction (Node &)
 
void erase_interaction (Node &)
 
bool interact_with (const Node &) const
 
bool interact_with (const Ground &) const
 
bool interact_with (const FEM::Surface &) const
 
void apply_force (const Geom::Vector &)
 
void apply_torque (const Geom::Vector &)
 
void set_quaternion_velocity_from_angular_velocity (const Geom::Vector &angularVelocity)
 
void set_quaternion_acceleration_from_angular_acceleration (const Geom::Vector &angularAcceleration, const Geom::Vector &angularVelocity)
 
void update_angular_velocity ()
 
virtual void clear_kinematic ()
 
Geom::Vector get_linear_velocity_at (const Geom::Point &) const
 
virtual double get_mass () const
 
void make_equal_to (const Node &)
 
virtual std::string info () const
 
virtual std::ostream & write_ascii (std::ostream &out) const
 
virtual std::istream & read_ascii (std::istream &in)
 
virtual std::ostream & export_to_povray (std::ostream &out) const
 
virtual void draw ()
 
- Public Member Functions inherited from GranOO3::Core::Base
virtual ~Base ()
 
size_t numID () const
 
size_t uID () const
 
void set_numID (size_t val)
 
void clear_numID ()
 
Physic::Materialget_mat () const
 
void set_mat (Physic::Material *)
 
Baseitem ()
 
const Baseitem () const
 
bool is_same (const Base &) const
 
template<class T >
T & cast_to ()
 
template<class T >
const T & cast_to () const
 
template<class T >
bool is () const
 
virtual bool is (size_t) const
 
virtual const std::string & get_ID () const
 
virtual Baseclone ()
 
template<class T >
T & clone_to ()
 
Signal< Base & > & deleted_signal ()
 
- Public Member Functions inherited from GranOO3::Core::Null
 Null ()
 
virtual ~Null ()
 
- Public Member Functions inherited from GranOO3::Core::Drawable
 Drawable ()
 
virtual ~Drawable ()
 
virtual void draw_edge ()
 
virtual void init_default_color ()
 
virtual std::ostream & get_info (std::ostream &os) const
 
virtual const Colordefault_color () const
 
Colorget_color ()
 
const Colorget_color () const
 
virtual void set_color (const Color &)
 
virtual void set_alpha (float alpha)
 
void apply_color () const
 
void apply_edge_color () const
 
void apply_default_color ()
 
void apply_selected_color ()
 
void set_line_width (float)
 
float get_line_width () const
 
float & get_line_width ()
 
void apply_line_width () const
 
bool is_visible () const
 
void set_visible (bool)
 
void paint ()
 
void paint_edge ()
 
unsigned int get_item_glkey () const
 
- Public Member Functions inherited from GranOO3::Core::Register< Base >
 Register ()
 
virtual ~Register ()
 
void erase_from_all_setof ()
 
bool belong_to_setof (const std::string &setOfId) const
 
bool belong_to_setof (const SetOf< Base > &set) const
 
std::list< SetOf< Base > * > & get_setof_list ()
 
unsigned long long int get_numeric_ID () const
 
- Public Member Functions inherited from GranOO3::Core::PropClass< Node >
 PropClass ()
 
virtual ~PropClass ()
 
T & new_object ()
 
T & get ()
 
const T & get () const
 
bool prop_exist () const
 
void add_prop (Core::Prop< Node > *)
 
void remove_prop (Core::Prop< Node > *)
 
std::string info () const
 
- Public Member Functions inherited from GranOO3::Core::Register< Node >
 Register ()
 
virtual ~Register ()
 
void erase_from_all_setof ()
 
bool belong_to_setof (const std::string &setOfId) const
 
bool belong_to_setof (const SetOf< Node > &set) const
 
std::list< SetOf< Node > * > & get_setof_list ()
 
unsigned long long int get_numeric_ID () const
 

Private Member Functions

 Node (const Node &)=delete
 
Nodeoperator= (const Node &)=delete
 
template<class Archive >
void save (Archive &, const unsigned int) const
 
template<class Archive >
void load (Archive &, const unsigned int)
 
 BOOST_SERIALIZATION_SPLIT_MEMBER ()
 

Private Attributes

Core::SetOfBase< Node_interaction
 
Geom::Vector _initial_position
 
Geom::Point _center
 
Geom::Vector_position
 
Geom::Vector _displacement
 
Geom::Vector _force
 
Geom::Vector _linear_velocity
 
Geom::Vector _linear_acceleration
 
Geom::Vector _torque
 
Geom::Quaternion _initial_quat
 
Geom::Quaternion _quat
 
Geom::EulerAngle _angle
 
Geom::Vector _angular_vel
 
Geom::Quaternion _quat_vel
 
Geom::Quaternion _quat_acc
 
const Geom::Frame _frame
 

Friends

class boost::serialization::access
 

Additional Inherited Members

- Static Public Member Functions inherited from GranOO3::Core::Base
static Baseget_by_numID (size_t)
 
static void clear_all_numID ()
 
static unsigned int get_sub_class_number ()
 
- Static Public Member Functions inherited from GranOO3::Core::Drawable
static Drawableget_drawable_item_by_glkey (int)
 
static void set_draw_precision (unsigned int p)
 
static void increase_draw_precision ()
 
static void decrease_draw_precision ()
 
static unsigned int get_draw_precision ()
 
- Static Public Attributes inherited from GranOO3::Core::Null
static Null null = Null()
 
- Protected Member Functions inherited from GranOO3::Core::Base
 Base ()
 
- Static Protected Member Functions inherited from GranOO3::Core::Base
static unsigned int affect_class_rank_ID ()
 
- Protected Attributes inherited from GranOO3::Core::PropClass< Node >
std::vector< Core::Prop< Node > * > _prop
 

Constructor & Destructor Documentation

◆ Node() [1/4]

GranOO3::Physic::Node::Node ( const Geom::Vector position)
inline

◆ Node() [2/4]

GranOO3::Physic::Node::Node ( const Geom::Point position)
inline

◆ Node() [3/4]

GranOO3::Physic::Node::Node ( )
inline

◆ ~Node()

GranOO3::Physic::Node::~Node ( )
inlinevirtual

◆ Node() [4/4]

GranOO3::Physic::Node::Node ( const Node )
privatedelete

Member Function Documentation

◆ add_interaction()

void GranOO3::Physic::Node::add_interaction ( Node p)

◆ apply_force()

void GranOO3::Physic::Node::apply_force ( const Geom::Vector f)
inline

◆ apply_torque()

void GranOO3::Physic::Node::apply_torque ( const Geom::Vector t)
inline

◆ BOOST_SERIALIZATION_SPLIT_MEMBER()

GranOO3::Physic::Node::BOOST_SERIALIZATION_SPLIT_MEMBER ( )
private

◆ clear_displacement()

void GranOO3::Physic::Node::clear_displacement ( )
inline

◆ clear_force()

void GranOO3::Physic::Node::clear_force ( )
inline

◆ clear_kinematic()

void GranOO3::Physic::Node::clear_kinematic ( )
inlinevirtual

◆ clear_torque()

void GranOO3::Physic::Node::clear_torque ( )
inline

◆ draw()

void GranOO3::Physic::Node::draw ( )
virtual

◆ erase_interaction()

void GranOO3::Physic::Node::erase_interaction ( Node p)

◆ export_to_povray()

std::ostream & GranOO3::Physic::Node::export_to_povray ( std::ostream &  out) const
virtual

Reimplemented from GranOO3::Core::Base.

Reimplemented in GranOO3::Physic::Body.

◆ get_linear_velocity_at()

Geom::Vector GranOO3::Physic::Node::get_linear_velocity_at ( const Geom::Point M) const

◆ get_mass()

double GranOO3::Physic::Node::get_mass ( ) const
virtual

◆ incremental_move()

void GranOO3::Physic::Node::incremental_move ( const Geom::Vector vec)
inline

◆ incremental_unmove()

void GranOO3::Physic::Node::incremental_unmove ( const Geom::Vector vec)
inline

◆ info()

std::string GranOO3::Physic::Node::info ( ) const
virtual

◆ interact_with() [1/3]

bool GranOO3::Physic::Node::interact_with ( const FEM::Surface ) const
inline

◆ interact_with() [2/3]

bool GranOO3::Physic::Node::interact_with ( const Ground ) const
inline

◆ interact_with() [3/3]

bool GranOO3::Physic::Node::interact_with ( const Node p) const

◆ load()

template<class Archive >
void GranOO3::Physic::Node::load ( Archive &  ar,
const unsigned int  v 
)
private

◆ local_frame()

const Geom::Frame & GranOO3::Physic::Node::local_frame ( ) const
inline

◆ make_equal_to()

void GranOO3::Physic::Node::make_equal_to ( const Node n)

◆ operator=()

Node& GranOO3::Physic::Node::operator= ( const Node )
privatedelete

◆ read_ascii()

std::istream & GranOO3::Physic::Node::read_ascii ( std::istream &  in)
virtual

◆ save()

template<class Archive >
void GranOO3::Physic::Node::save ( Archive &  ar,
const unsigned int  v 
) const
private

◆ set_center()

void GranOO3::Physic::Node::set_center ( const Geom::Point p)
inline

◆ set_displacement()

void GranOO3::Physic::Node::set_displacement ( const Geom::Vector v)
inline

◆ set_displacement_x()

void GranOO3::Physic::Node::set_displacement_x ( const double &  val)
inline

◆ set_displacement_y()

void GranOO3::Physic::Node::set_displacement_y ( const double &  val)
inline

◆ set_displacement_z()

void GranOO3::Physic::Node::set_displacement_z ( const double &  val)
inline

◆ set_position()

void GranOO3::Physic::Node::set_position ( const Geom::Vector v)
inline

◆ set_position_x()

void GranOO3::Physic::Node::set_position_x ( const double &  d)
inline

◆ set_position_y()

void GranOO3::Physic::Node::set_position_y ( const double &  d)
inline

◆ set_position_z()

void GranOO3::Physic::Node::set_position_z ( const double &  d)
inline

◆ set_quaternion_acceleration_from_angular_acceleration()

void GranOO3::Physic::Node::set_quaternion_acceleration_from_angular_acceleration ( const Geom::Vector angularAcceleration,
const Geom::Vector angularVelocity 
)
inline

◆ set_quaternion_velocity_from_angular_velocity()

void GranOO3::Physic::Node::set_quaternion_velocity_from_angular_velocity ( const Geom::Vector angularVelocity)
inline

◆ update_angular_velocity()

void GranOO3::Physic::Node::update_angular_velocity ( )
inline

◆ update_displacement_from_position()

void GranOO3::Physic::Node::update_displacement_from_position ( )
inline

◆ update_from_dem()

void GranOO3::Physic::Node::update_from_dem ( )
inline

◆ update_from_fem()

void GranOO3::Physic::Node::update_from_fem ( )
inline

◆ update_initial_parameter_to_current_parameter()

void GranOO3::Physic::Node::update_initial_parameter_to_current_parameter ( )
inline

◆ update_position_from_displacement()

void GranOO3::Physic::Node::update_position_from_displacement ( )
inline

◆ write_ascii()

std::ostream & GranOO3::Physic::Node::write_ascii ( std::ostream &  out) const
virtual

Friends And Related Function Documentation

◆ boost::serialization::access

friend class boost::serialization::access
friend

Member Data Documentation

◆ _angle

Geom::EulerAngle GranOO3::Physic::Node::_angle
private

◆ _angular_vel

Geom::Vector GranOO3::Physic::Node::_angular_vel
private

◆ _center

Geom::Point GranOO3::Physic::Node::_center
private

◆ _displacement

Geom::Vector GranOO3::Physic::Node::_displacement
private

◆ _force

Geom::Vector GranOO3::Physic::Node::_force
private

◆ _frame

const Geom::Frame GranOO3::Physic::Node::_frame
private

◆ _initial_position

Geom::Vector GranOO3::Physic::Node::_initial_position
private

◆ _initial_quat

Geom::Quaternion GranOO3::Physic::Node::_initial_quat
private

◆ _interaction

Core::SetOfBase<Node> GranOO3::Physic::Node::_interaction
private

◆ _linear_acceleration

Geom::Vector GranOO3::Physic::Node::_linear_acceleration
private

◆ _linear_velocity

Geom::Vector GranOO3::Physic::Node::_linear_velocity
private

◆ _position

Geom::Vector& GranOO3::Physic::Node::_position
private

◆ _quat

Geom::Quaternion GranOO3::Physic::Node::_quat
private

◆ _quat_acc

Geom::Quaternion GranOO3::Physic::Node::_quat_acc
private

◆ _quat_vel

Geom::Quaternion GranOO3::Physic::Node::_quat_vel
private

◆ _torque

Geom::Vector GranOO3::Physic::Node::_torque
private

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