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 | Private Member Functions | Private Attributes | Friends | List of all members
GranOO3::Shape::Triangle Class Reference

#include <Triangle.hpp>

Inheritance diagram for GranOO3::Shape::Triangle:
Inheritance graph
[legend]

Public Member Functions

 Triangle ()
 
 Triangle (double a, double b, double c, const Geom::Frame &frame)
 
 Triangle (const Geom::Point &A, const Geom::Point &B, const Geom::Point &C, const Geom::Frame &frame, Geom::Point &frameCenter, Geom::Quaternion &frameQuat)
 
 Triangle (const Geom::Frame &frame)
 
 Triangle (const Triangle &)
 
 ~Triangle ()
 
void read_xml_element (const TiXmlElement *el)
 
std::string description () const
 
std::string get_str_type_key () const
 
double area () const
 
void draw_gl () const
 
void scale (double)
 
bool collide (const Volume &, Collision::Data &) const
 
bool collide (const Geom::Point &, Collision::Data &) const
 
virtual void to_vtk (vtkUnstructuredGrid *data)
 
std::ostream & to_povray (std::ostream &out, const Core::Color &) const
 
- Public Member Functions inherited from GranOO3::Shape::Surface
 Surface (const Geom::Frame &frame)
 
virtual ~Surface ()
 
bool is_surface () const
 
bool is_volume () const
 
- Public Member Functions inherited from GranOO3::Shape::Base
 Base (const Geom::Frame &frame)
 
virtual ~Base ()
 
virtual void draw_gl_edge () const
 
void unscale (double)
 
virtual void add_glob (const std::string &)=0
 
virtual std::ostream & write_ascii (std::ostream &out) const
 
virtual std::istream & read_ascii (std::istream &in)
 
virtual std::string info () const
 
const Geom::Framelocal_frame () const
 
const Geom::Pointget_center () const
 
const Geom::Quaternionget_quaternion () const
 
const Geom::Vectorget_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 std::string desc ()
 
- Static Public Member Functions inherited from GranOO3::Shape::Surface
static std::string class_ID ()
 
- Static Public Member Functions inherited from GranOO3::Shape::Base
static Baseglob (const std::string &id)
 
static const Geom::Frameframe_buffer ()
 
static std::string class_ID ()
 
static Basenew_object (const TiXmlElement *el)
 
- Static Public Member Functions inherited from GranOO3::Core::ObjectFactoryInterface< Base, Triangle >
static Basebuild ()
 
static bool record (const std::string &id, std::string file_name="", std::string desc="")
 
- Static Public Member Functions inherited from GranOO3::Core::ObjectFactory< BaseClass >
static void record (std::function< BaseClass *()>, const std::string &, const std::string file="", const std::string desc="")
 
static BaseClass * new_object (const std::string &)
 
static std::vector< std::string > get_ID ()
 
static std::map< const std::string, std::function< BaseClass *()> > & get_map ()
 

Private Member Functions

bool is_point2D_in_triangle (const Geom::Point &p) const
 
template<class Archive >
void serialize (Archive &ar, const unsigned int)
 

Private Attributes

double _la
 
double _lb
 
double _angle
 

Friends

class boost::serialization::access
 

Additional Inherited Members

- Protected Member Functions inherited from GranOO3::Core::ObjectFactoryInterface< Base, Triangle >
 ObjectFactoryInterface ()
 
virtual ~ObjectFactoryInterface ()
 
- Protected Member Functions inherited from GranOO3::Core::ObjectFactory< BaseClass >
 ObjectFactory ()
 
virtual ~ObjectFactory ()
 
- Protected Attributes inherited from GranOO3::Shape::Base
const Geom::Frame_frame
 

Constructor & Destructor Documentation

◆ Triangle() [1/5]

GranOO3::Shape::Triangle::Triangle ( )
inline

◆ Triangle() [2/5]

GranOO3::Shape::Triangle::Triangle ( double  a,
double  b,
double  c,
const Geom::Frame frame 
)
inline

◆ Triangle() [3/5]

GranOO3::Shape::Triangle::Triangle ( const Geom::Point A,
const Geom::Point B,
const Geom::Point C,
const Geom::Frame frame,
Geom::Point frameCenter,
Geom::Quaternion frameQuat 
)

◆ Triangle() [4/5]

GranOO3::Shape::Triangle::Triangle ( const Geom::Frame frame)
inline

◆ Triangle() [5/5]

GranOO3::Shape::Triangle::Triangle ( const Triangle p)
inline

◆ ~Triangle()

GranOO3::Shape::Triangle::~Triangle ( )
inline

Member Function Documentation

◆ area()

double GranOO3::Shape::Triangle::area ( ) const
virtual

◆ class_ID()

static std::string GranOO3::Shape::Triangle::class_ID ( )
inlinestatic

◆ collide() [1/2]

bool GranOO3::Shape::Triangle::collide ( const Geom::Point ,
Collision::Data  
) const
virtual

◆ collide() [2/2]

bool GranOO3::Shape::Triangle::collide ( const Volume ,
Collision::Data  
) const
virtual

◆ desc()

static std::string GranOO3::Shape::Triangle::desc ( )
static

◆ description()

std::string GranOO3::Shape::Triangle::description ( ) const

◆ draw_gl()

void GranOO3::Shape::Triangle::draw_gl ( ) const
virtual

Implements GranOO3::Shape::Base.

◆ get_str_type_key()

std::string GranOO3::Shape::Triangle::get_str_type_key ( ) const
inline

◆ is_point2D_in_triangle()

bool GranOO3::Shape::Triangle::is_point2D_in_triangle ( const Geom::Point p) const
private

◆ read_xml_element()

void GranOO3::Shape::Triangle::read_xml_element ( const TiXmlElement *  el)
virtual

Reimplemented from GranOO3::Shape::Base.

◆ scale()

void GranOO3::Shape::Triangle::scale ( double  )
virtual

Implements GranOO3::Shape::Base.

◆ serialize()

template<class Archive >
void GranOO3::Shape::Triangle::serialize ( Archive &  ar,
const unsigned int   
)
inlineprivate

◆ to_povray()

std::ostream& GranOO3::Shape::Triangle::to_povray ( std::ostream &  out,
const Core::Color  
) const
virtual

Reimplemented from GranOO3::Shape::Base.

◆ to_vtk()

virtual void GranOO3::Shape::Triangle::to_vtk ( vtkUnstructuredGrid *  data)
virtual

Reimplemented from GranOO3::Shape::Base.

Friends And Related Function Documentation

◆ boost::serialization::access

friend class boost::serialization::access
friend

Member Data Documentation

◆ _angle

double GranOO3::Shape::Triangle::_angle
private

◆ _la

double GranOO3::Shape::Triangle::_la
private

◆ _lb

double GranOO3::Shape::Triangle::_lb
private

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