a base class that represents a rigid body with various shape into a discrete element simulation
More...
|
| Tool (Shape::Volume &shape, const std::string &ID, const Geom::Point &p, const Geom::Quaternion &q, double mass, const Geom::Tensor &inertia) |
| constructor More...
|
|
| Tool (Shape::Volume &shape) |
| constructor More...
|
|
virtual | ~Tool ()=0 |
| destructor More...
|
|
virtual void | read_xml_element (const TiXmlElement *el) |
| read an xml element More...
|
|
virtual void | add_glob (const std::string &)=0 |
| util method for reading an xml element More...
|
|
virtual void | draw ()=0 |
| OpenGL draw of the bond
More...
|
|
virtual std::string | info () const |
|
virtual std::string | shape_class_ID () const =0 |
| get the class ID of the tool ("Cylinder", "Cone", etc...) More...
|
|
virtual std::ostream & | write_ascii (std::ostream &out) const |
| dump the current state of the tool in a ascii file (standard *.lgdd format) More...
|
|
virtual std::istream & | read_ascii (std::istream &in) |
| update the current state of the element from an ascii file format *.lgdd More...
|
|
virtual std::ostream & | write_ascii_shape (std::ostream &out) const =0 |
| for internal use only (.agdd compatibility) More...
|
|
virtual std::istream & | read_ascii_shape (std::istream &in)=0 |
| for internal use only (.agdd compatibility) More...
|
|
Public Member Functions inherited from GranOO3::Physic::Body |
| Body (Shape::Volume &shape, const Geom::Point &p, const Geom::Quaternion &q, double mass, const Geom::Tensor &inertia) |
| constructor More...
|
|
| Body (Shape::Volume &shape, const Geom::Point &p) |
| constructor More...
|
|
| Body (Shape::Volume &shape) |
| constructor More...
|
|
virtual | ~Body ()=0 |
| destructor More...
|
|
void | set_inertia_tensor (const Geom::Tensor &inertia) |
| set the inertia tensor value More...
|
|
void | set_density (double density) |
| set the density value More...
|
|
Geom::Vector | compute_torque_at (const Geom::Point &A) const |
|
double | get_kinetic_energy () const |
|
double | get_mass () const |
| get the current mass value of the body More...
|
|
void | apply_force_at (const Geom::Vector &, const Geom::Point &) |
|
const Shape::Volume & | to_volume_shape () const |
| cast the current object to Shape::Volume More...
|
|
Shape::Volume & | to_volume_shape () |
| cast the current object to Shape::Volume More...
|
|
double | get_volume () const |
| get the current volume of the body More...
|
|
double | get_bounding_radius () const |
| get the current bounding radius of the body More...
|
|
AABB | aabb () const |
| get the aabb tree the body More...
|
|
bool | collide (const Body &other, Collision::Data &col) |
| collision detection with another body More...
|
|
bool | collide (const Body &other) |
| collision detection with another body More...
|
|
void | make_equal_to (const Body &other) |
| for equalizing two bodies More...
|
|
std::string | info () const |
| Display some useful info in the terminal
More...
|
|
virtual std::ostream & | export_to_povray (std::ostream &out) const |
| exporting to povray format More...
|
|
| Node (const Geom::Vector &position) |
|
| Node (const Geom::Point &position) |
|
| Node () |
|
virtual | ~Node () |
|
void | clear_force () |
|
void | clear_torque () |
|
const Geom::Frame & | local_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 |
|
void | make_equal_to (const Node &) |
|
virtual | ~Base () |
|
size_t | numID () const |
|
size_t | uID () const |
|
void | set_numID (size_t val) |
|
void | clear_numID () |
|
Physic::Material & | get_mat () const |
|
void | set_mat (Physic::Material *) |
|
Base & | item () |
|
const Base & | item () 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 Base & | clone () |
|
template<class T > |
T & | clone_to () |
|
Signal< Base & > & | deleted_signal () |
|
| Null () |
|
virtual | ~Null () |
|
| Drawable () |
|
virtual | ~Drawable () |
|
virtual void | draw_edge () |
|
virtual void | init_default_color () |
|
virtual std::ostream & | get_info (std::ostream &os) const |
|
virtual const Color & | default_color () const |
|
Color & | get_color () |
|
const Color & | get_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 |
|
| 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 |
|
| 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 |
|
| 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 |
|
| PropClass () |
|
virtual | ~PropClass () |
|
T & | new_object () |
|
T & | get () |
|
const T & | get () const |
|
bool | prop_exist () const |
|
void | add_prop (Core::Prop< Body > *) |
|
void | remove_prop (Core::Prop< Body > *) |
|
std::string | info () const |
|
| Register () |
|
virtual | ~Register () |
|
void | erase_from_all_setof () |
|
bool | belong_to_setof (const std::string &setOfId) const |
|
bool | belong_to_setof (const SetOf< Body > &set) const |
|
std::list< SetOf< Body > * > & | get_setof_list () |
|
unsigned long long int | get_numeric_ID () const |
|
| Register () |
|
virtual | ~Register () |
|
void | erase_from_all_setof () |
|
bool | belong_to_setof (const std::string &setOfId) const |
|
bool | belong_to_setof (const SetOf< Tool > &set) const |
|
std::list< SetOf< Tool > * > & | get_setof_list () |
|
unsigned long long int | get_numeric_ID () const |
|
a base class that represents a rigid body with various shape into a discrete element simulation
Be aware, an Tool has no associated shape, so this is a pure virtual class. A shape is associated to an Tool through its child template class ToolT. Note that The Tool are included into the dynamic simulation as it derives from the Physic::Body class.