![]() |
GranOO
3.0
A robust and versatile workbench to build 3D dynamic simulations based on the Discrete Element Method
|
#include <Volume.hpp>

Public Member Functions | |
| Volume (const Geom::Frame &frame) | |
| virtual | ~Volume () |
| virtual double | get_volume () const =0 |
| virtual void | compute_inertia_tensor (double density, Geom::Tensor &) const =0 |
| virtual Geom::Point | farthest_point_along (const Geom::Vector &dir) const =0 |
| bool | is_surface () const |
| bool | is_volume () const |
| const Box & | get_bounding_box () const |
| const Sphere & | get_bounding_sphere () const |
| Box & | get_bounding_box () |
| Sphere & | get_bounding_sphere () |
| virtual double | get_greatest_dimension () const =0 |
| virtual void | update_bounding_box ()=0 |
| virtual void | update_bounding_sphere ()=0 |
| void | update_bounding_shape () |
| bool | is_bounding_shape () const |
| virtual AABB | aabb () const =0 |
| template<Interference T> | |
| bool | overlap (const Sphere &, Geom::Vector &normal, double &penetration) const |
| virtual Interference | locate (const Geom::Point &) const =0 |
| virtual Interference | locate (const Geom::Point &, double radius) const =0 |
| Interference | locate (const Sphere &) const |
| virtual bool | collide_inside (const Geom::Point &p1, double radius, Collision::Data &info) const =0 |
| virtual bool | collide_outside (const Geom::Point &p1, double radius, Collision::Data &info) const =0 |
| bool | collide_inside (const Geom::Point &, Collision::Data &) const |
| bool | collide_outside (const Geom::Point &, Collision::Data &) const |
| virtual bool | collide (const Volume &, Collision::Data &) const =0 |
| virtual bool | collide (const Sphere &, Collision::Data &) const =0 |
| virtual bool | collide (const Box &, Collision::Data &) const =0 |
| virtual bool | collide (const Cylinder &, Collision::Data &) const =0 |
| virtual bool | collide (const Cone &, Collision::Data &) const =0 |
| virtual bool | collide (const ConeTruncated &, Collision::Data &) const =0 |
| virtual bool | collide (const Polyhedron &, Collision::Data &) const =0 |
| const std::set< std::string > & | get_face_ID () const |
| template<> | |
| bool | overlap (const Sphere &s, Geom::Vector &normal, double &penetration) const |
| template<> | |
| bool | overlap (const Sphere &s, Geom::Vector &normal, double &penetration) const |
| template<> | |
| bool | overlap (const Sphere &s, Geom::Vector &normal, double &penetration) const |
Public Member Functions inherited from GranOO3::Shape::Base | |
| Base (const Geom::Frame &frame) | |
| virtual | ~Base () |
| virtual void | draw_gl () const =0 |
| virtual void | draw_gl_edge () const |
| virtual void | scale (double)=0 |
| void | unscale (double) |
| virtual void | add_glob (const std::string &)=0 |
| virtual void | read_xml_element (const TiXmlElement *el) |
| virtual std::ostream & | write_ascii (std::ostream &out) const |
| virtual std::istream & | read_ascii (std::istream &in) |
| virtual void | to_vtk (vtkUnstructuredGrid *data) |
| virtual std::string | info () const |
| virtual std::ostream & | to_povray (std::ostream &out, const Core::Color &) const |
| const Geom::Frame & | local_frame () const |
| const Geom::Point & | get_center () const |
| const Geom::Quaternion & | get_quaternion () const |
| const Geom::Vector & | get_position () const |
| void | translate (Geom::Vector &) |
| void | rotate (const Geom::Vector &axis, const double angleRadian) |
Static Public Member Functions | |
| static std::string | class_ID () |
Static Public Member Functions inherited from GranOO3::Shape::Base | |
| static Base & | glob (const std::string &id) |
| static const Geom::Frame & | frame_buffer () |
| static std::string | class_ID () |
| static Base * | new_object (const TiXmlElement *el) |
Protected Member Functions | |
| template<typename T , typename ... Args> | |
| void | set_face_ID (const T &, Args... args) |
| template<typename T > | |
| void | set_face_ID (const T &) |
| void | copy_face_ID (const std::set< std::string > &) |
| void | add_face_ID (const std::string &) |
Private Member Functions | |
| Volume (const Volume &) | |
| Volume & | operator= (const Volume &) |
| 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 | |
| Box * | _bounding_box |
| Sphere * | _bounding_sphere |
| bool | _bounding_shape |
| double | _bounding_radius |
| std::set< std::string > | _face |
Friends | |
| class | boost::serialization::access |
Additional Inherited Members | |
Protected Attributes inherited from GranOO3::Shape::Base | |
| const Geom::Frame & | _frame |
|
explicit |
|
virtual |
|
private |
|
pure virtual |
|
inlineprotected |
|
private |
|
inlinestatic |
|
pure virtual |
|
pure virtual |
|
pure virtual |
|
pure virtual |
|
pure virtual |
|
pure virtual |
|
pure virtual |
| bool GranOO3::Shape::Volume::collide_inside | ( | const Geom::Point & | p, |
| Collision::Data & | info | ||
| ) | const |
|
pure virtual |
| bool GranOO3::Shape::Volume::collide_outside | ( | const Geom::Point & | p, |
| Collision::Data & | info | ||
| ) | const |
|
pure virtual |
|
pure virtual |
|
inlineprotected |
|
pure virtual |
| Box & GranOO3::Shape::Volume::get_bounding_box | ( | ) |
| const Box & GranOO3::Shape::Volume::get_bounding_box | ( | ) | const |
| Sphere & GranOO3::Shape::Volume::get_bounding_sphere | ( | ) |
| const Sphere & GranOO3::Shape::Volume::get_bounding_sphere | ( | ) | const |
|
inline |
|
pure virtual |
|
pure virtual |
|
inline |
|
inlinevirtual |
Implements GranOO3::Shape::Base.
|
inlinevirtual |
Implements GranOO3::Shape::Base.
|
inlineprivate |
|
pure virtual |
|
pure virtual |
| Interference GranOO3::Shape::Volume::locate | ( | const Sphere & | s | ) | const |
| bool GranOO3::Shape::Volume::overlap | ( | const Sphere & | , |
| Geom::Vector & | normal, | ||
| double & | penetration | ||
| ) | const |
| bool GranOO3::Shape::Volume::overlap | ( | const Sphere & | s, |
| Geom::Vector & | normal, | ||
| double & | penetration | ||
| ) | const |
| bool GranOO3::Shape::Volume::overlap | ( | const Sphere & | s, |
| Geom::Vector & | normal, | ||
| double & | penetration | ||
| ) | const |
| bool GranOO3::Shape::Volume::overlap | ( | const Sphere & | s, |
| Geom::Vector & | normal, | ||
| double & | penetration | ||
| ) | const |
|
inlineprivate |
|
inlineprotected |
|
inlineprotected |
|
pure virtual |
| void GranOO3::Shape::Volume::update_bounding_shape | ( | ) |
|
pure virtual |
|
friend |
|
private |
|
private |
|
private |
|
private |
|
private |