![]() |
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 |
![]() | |
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 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 | |
![]() | |
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 |