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

#include <Ground.hpp>

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

Public Member Functions

 Ground (const std::string &id, const Geom::Point &p, const Geom::Quaternion &q)
 
virtual ~Ground ()
 
virtual void read_xml_element (const TiXmlElement *el)
 
virtual void add_glob (const std::string &)=0
 
virtual std::string info () const
 
virtual std::string shape_class_ID () const =0
 
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 Shape::Baseto_base_shape ()=0
 
virtual const Shape::Baseto_base_shape () const =0
 
virtual Shape::Volumeto_volume_shape ()
 
virtual const Shape::Volumeto_volume_shape () const
 
virtual Shape::Surfaceto_surface_shape ()
 
virtual const Shape::Surfaceto_surface_shape () const
 
void apply_force (const Geom::Vector &)
 
void apply_force_at (const Geom::Vector &, const Geom::Point &)
 
void clear_force ()
 
void apply_torque (const Geom::Vector &)
 
void clear_torque ()
 
void incremental_move ()
 
Geom::Vector get_linear_velocity_at (const Geom::Point &) const
 
bool is_interact_with (const Node &) const
 
- 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 ()
 
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::Register< Ground >
 Register ()
 
virtual ~Register ()
 
void erase_from_all_setof ()
 
bool belong_to_setof (const std::string &setOfId) const
 
bool belong_to_setof (const SetOf< Ground > &set) const
 
std::list< SetOf< Ground > * > & get_setof_list ()
 
unsigned long long int get_numeric_ID () const
 

Static Public Member Functions

static Groundget (std::string)
 
static bool exist (std::string)
 
static Groundglob (const std::string &id)
 
static Groundnew_object (const TiXmlElement *el)
 
- 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 ()
 

Protected Member Functions

 Ground ()
 
- Protected Member Functions inherited from GranOO3::Core::Base
 Base ()
 

Protected Attributes

std::string _ID
 
Geom::Point _center
 
Geom::Vector_position
 
Geom::Quaternion _quat
 
Geom::Frame _frame
 
Geom::Vector _force
 
Geom::Vector _contact_force
 
Geom::Vector _torque
 
Geom::Vector _linear_velocity
 
Geom::Vector _angular_vel
 

Private Member Functions

 Ground (const Ground &)
 
Groundoperator= (const Ground &)
 
template<class Archive >
void save (Archive &, const unsigned int) const
 
template<class Archive >
void load (Archive &, const unsigned int)
 
 BOOST_SERIALIZATION_SPLIT_MEMBER ()
 

Friends

class boost::serialization::access
 

Additional Inherited Members

- Static Public Attributes inherited from GranOO3::Core::Null
static Null null = Null()
 
- Static Protected Member Functions inherited from GranOO3::Core::Base
static unsigned int affect_class_rank_ID ()
 

Constructor & Destructor Documentation

◆ Ground() [1/3]

GranOO3::Physic::Ground::Ground ( const std::string &  id,
const Geom::Point p,
const Geom::Quaternion q 
)

◆ ~Ground()

GranOO3::Physic::Ground::~Ground ( )
virtual

◆ Ground() [2/3]

GranOO3::Physic::Ground::Ground ( const Ground )
private

◆ Ground() [3/3]

GranOO3::Physic::Ground::Ground ( )
protected

Member Function Documentation

◆ add_glob()

virtual void GranOO3::Physic::Ground::add_glob ( const std::string &  )
pure virtual

Implemented in GranOO3::DEM::SupportShape.

◆ apply_force()

void GranOO3::Physic::Ground::apply_force ( const Geom::Vector force)

◆ apply_force_at()

void GranOO3::Physic::Ground::apply_force_at ( const Geom::Vector force,
const Geom::Point applicationPoint 
)

◆ apply_torque()

void GranOO3::Physic::Ground::apply_torque ( const Geom::Vector torque)

◆ BOOST_SERIALIZATION_SPLIT_MEMBER()

GranOO3::Physic::Ground::BOOST_SERIALIZATION_SPLIT_MEMBER ( )
private

◆ clear_force()

void GranOO3::Physic::Ground::clear_force ( )

◆ clear_torque()

void GranOO3::Physic::Ground::clear_torque ( )

◆ exist()

bool GranOO3::Physic::Ground::exist ( std::string  id)
inlinestatic

◆ export_to_povray()

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

Reimplemented from GranOO3::Core::Base.

◆ get()

Ground & GranOO3::Physic::Ground::get ( std::string  id)
inlinestatic

◆ get_linear_velocity_at()

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

◆ glob()

static Ground& GranOO3::Physic::Ground::glob ( const std::string &  id)
static

◆ incremental_move()

void GranOO3::Physic::Ground::incremental_move ( )

◆ info()

std::string GranOO3::Physic::Ground::info ( ) const
inlinevirtual

◆ is_interact_with()

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

◆ load()

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

◆ new_object()

static Ground* GranOO3::Physic::Ground::new_object ( const TiXmlElement *  el)
static

◆ operator=()

Ground& GranOO3::Physic::Ground::operator= ( const Ground )
private

◆ read_ascii()

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

◆ read_xml_element()

virtual void GranOO3::Physic::Ground::read_xml_element ( const TiXmlElement *  el)
virtual

◆ save()

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

◆ shape_class_ID()

virtual std::string GranOO3::Physic::Ground::shape_class_ID ( ) const
pure virtual

◆ to_base_shape() [1/2]

virtual const Shape::Base& GranOO3::Physic::Ground::to_base_shape ( ) const
pure virtual

◆ to_base_shape() [2/2]

virtual Shape::Base& GranOO3::Physic::Ground::to_base_shape ( )
pure virtual

◆ to_surface_shape() [1/2]

Shape::Surface & GranOO3::Physic::Ground::to_surface_shape ( )
inlinevirtual

◆ to_surface_shape() [2/2]

const Shape::Surface & GranOO3::Physic::Ground::to_surface_shape ( ) const
inlinevirtual

◆ to_volume_shape() [1/2]

Shape::Volume & GranOO3::Physic::Ground::to_volume_shape ( )
inlinevirtual

◆ to_volume_shape() [2/2]

const Shape::Volume & GranOO3::Physic::Ground::to_volume_shape ( ) const
inlinevirtual

◆ write_ascii()

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

Friends And Related Function Documentation

◆ boost::serialization::access

friend class boost::serialization::access
friend

Member Data Documentation

◆ _angular_vel

Geom::Vector GranOO3::Physic::Ground::_angular_vel
protected

◆ _center

Geom::Point GranOO3::Physic::Ground::_center
protected

◆ _contact_force

Geom::Vector GranOO3::Physic::Ground::_contact_force
protected

◆ _force

Geom::Vector GranOO3::Physic::Ground::_force
protected

◆ _frame

Geom::Frame GranOO3::Physic::Ground::_frame
protected

◆ _ID

std::string GranOO3::Physic::Ground::_ID
protected

◆ _linear_velocity

Geom::Vector GranOO3::Physic::Ground::_linear_velocity
protected

◆ _position

Geom::Vector& GranOO3::Physic::Ground::_position
protected

◆ _quat

Geom::Quaternion GranOO3::Physic::Ground::_quat
protected

◆ _torque

Geom::Vector GranOO3::Physic::Ground::_torque
protected

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