30 #ifndef _LibDEM_Prop_VoronoiBond_HPP
31 #define _LibDEM_Prop_VoronoiBond_HPP
43 template<
class T>
class ElementT;
61 GRANOO_ACCESS(facet_vertex1, std::vector<double*>,
_vertex1);
62 GRANOO_ACCESS(facet_vertex2, std::vector<double*>,
_vertex2);
82 template<
class Archive>
void serialize(Archive& ar,
const unsigned int );
97 template<
class Archive>
void
99 ar & boost::serialization::base_object<Core::Prop<Bond> >(*this);
114 GRANOO_CLASS_DECLARE_TPL(DEM::VoronoiBond);
Definition: SetOf.hpp:346
a base class that represents an element
Definition: Element.hpp:55
a template class that model an element with a given shape
Definition: ElementT.hpp:59
a bond property which is dedicated to voronoi domain.
Definition: VoronoiBond.hpp:47
void init()
initialize the voronoi bond
Definition: VoronoiBond.cpp:60
ElementT< Shape::Polyhedron > * _el2
a pointer to the element2 which is a polyhedral element (mandatory)
Definition: VoronoiBond.hpp:86
std::vector< double * > _vertex1
the list of vertices that defines the facet of the _el1
Definition: VoronoiBond.hpp:92
Geom::Point compute_facet_center() const
compute the facet center
Definition: VoronoiBond.cpp:186
unsigned int _basefacet_index2
Definition: VoronoiBond.hpp:88
Geom::Vector _normal
a unit vector which is normal to the facet oriented from the center of the _el1 to the center of _el2...
Definition: VoronoiBond.hpp:91
virtual ~VoronoiBond()
destructor
Definition: VoronoiBond.cpp:138
VoronoiBond()
constructor
Definition: VoronoiBond.cpp:44
void update_element()
update both element shapes for being contiguous
Definition: VoronoiBond.cpp:142
unsigned int get_basefacet_index_of(const Element &) const
Definition: VoronoiBond.cpp:210
Geom::Point compute_facet_center1() const
compute the facet center of the element1
Definition: VoronoiBond.cpp:195
void serialize(Archive &ar, const unsigned int)
complete serializing of the instance in the *.gdd format
Definition: VoronoiBond.hpp:98
bool _inconsistent
a flag to tell if the voronoi bond is inconsistent or not
Definition: VoronoiBond.hpp:94
Geom::Point _center
the center of the voronoi bond which is simply the mean value between the _el1 and _el2 positions
Definition: VoronoiBond.hpp:89
Geom::Point compute_facet_center2() const
compute the facet center of the element2
Definition: VoronoiBond.cpp:200
unsigned int _basefacet_index1
the number ID that identify the facet on the _el1
Definition: VoronoiBond.hpp:87
friend class boost::serialization::access
Definition: VoronoiBond.hpp:81
Geom::Point _facet_center
the facet center is simply the center of the _el1 facet which is (theoretically) equals to center of ...
Definition: VoronoiBond.hpp:90
bool is_inconsistent() const
tell if the bond is inconsistent or not
Definition: VoronoiBond.cpp:204
ElementT< Shape::Polyhedron > * _el1
a pointer to the element1 which is a polyhedral element (mandatory)
Definition: VoronoiBond.hpp:85
std::vector< double * > _vertex2
the list of vertices that defines the facet of the _el2
Definition: VoronoiBond.hpp:93
Definition: Vector.hpp:75
Definition: Common.hpp:198