29 #ifndef _libFEM_Surface_hpp_
30 #define _libFEM_Surface_hpp_
53 static bool exist(std::string);
59 Surface(
const std::string &
id, std::vector<std::pair<Element *, unsigned int> > facets);
63 GRANOO_ACCESS(ID, std::string,
_ID);
74 template<
class Archive>
void save(Archive&,
const unsigned int )
const;
75 template<
class Archive>
void load(Archive&,
const unsigned int);
83 std::vector<std::pair<Element *, unsigned int> >
_facet;
91 for (
auto &
Surface : SurfacesSet) {
104 for (
unsigned int i = 0; i<set.
size(); ++i) {
106 if (set[i]->
get_ID() ==
id)
return *set[i];
109 UserAssert(0,
"can't find Surface named " +
id);
115 template<
class Archive>
117 ar << boost::serialization::base_object<Core::Base>(*
this);
123 template<
class Archive>
126 ar >> boost::serialization::base_object<Core::Base>(*
this);
134 GRANOO_CLASS_DECLARE_TPL(FEM::Surface);
#define UserAssert(condition, message)
Definition: Macro.hpp:54
virtual const std::string & get_ID() const
Definition: Base.hpp:144
Definition: SetOf.hpp:346
Definition: SetOf.hpp:236
static SetOf< type > & get_global_set()
Definition: Surface.hpp:47
void load(Archive &, const unsigned int)
Definition: Surface.hpp:124
Surface & operator=(const Surface &)
std::vector< std::pair< Element *, unsigned int > > _facet
Definition: Surface.hpp:83
static bool exist(std::string)
Definition: Surface.hpp:88
const Geom::Point & get_center() const
Definition: Surface.cpp:75
const Geom::Quaternion & get_quaternion() const
Definition: Surface.cpp:70
BOOST_SERIALIZATION_SPLIT_MEMBER()
virtual ~Surface()
Definition: Surface.cpp:61
void save(Archive &, const unsigned int) const
Definition: Surface.hpp:116
Surface()
Definition: Surface.cpp:55
std::string _ID
Definition: Surface.hpp:82
const Geom::Frame & local_frame() const
Definition: Surface.cpp:65
static Surface & glob(const std::string &id)
friend class boost::serialization::access
Definition: Surface.hpp:73
static Surface & get(std::string)
Definition: Surface.hpp:101
Definition: Quaternion.hpp:54
Definition: Common.hpp:198