Collision Checker
serialize_rectangle_aabb.cc
Go to the documentation of this file.
1 
3 
4 #if ENABLE_SERIALIZER
6 namespace collision {
7 namespace serialize {
8 ICollisionObjectExport *exportObject(const collision::RectangleAABB &aabb) {
9  return new RectangleAABBExport(aabb);
10 }
11 
12 RectangleAABBExport::RectangleAABBExport(const RectangleAABB &rect) {
13  m_fields.rx = rect.r_x();
14  m_fields.ry = rect.r_y();
15  m_fields.center_x = rect.center()[0];
16  m_fields.center_y = rect.center()[1];
17 }
18 
19 CollisionObject *RectangleAABBExport::loadObject(void) {
20  return new RectangleAABB(
22  Eigen::Vector2d(m_fields.center_x, m_fields.center_y));
23 }
24 
25 bool RectangleAABBExport::operator()(s11nlite::node_type &dest) const {
26  typedef s11nlite::node_traits TR;
27  TR::class_name(dest, "RectangleAABBExport");
28  TR::set(dest, "rx", m_fields.rx);
29  TR::set(dest, "ry", m_fields.ry);
30  TR::set(dest, "cx", m_fields.center_x);
31  TR::set(dest, "cy", m_fields.center_y);
32 
33  return true;
34 }
35 bool RectangleAABBExport::operator()(const s11nlite::node_type &src) {
36  typedef s11nlite::node_traits TR;
37  m_fields.rx = TR::get(src, "rx", double(0));
38  m_fields.ry = TR::get(src, "ry", double(0));
39  m_fields.center_x = TR::get(src, "cx", double(0));
40  m_fields.center_y = TR::get(src, "cy", double(0));
41  return true;
42 }
43 } // namespace serialize
44 } // namespace collision
45 #endif
Axis-aligned rectangle.
virtual bool operator()(s11nlite::node_type &dest) const
int serialize(const test::BroadphaseFailureCCObj &bf_object, std::ostream &output_stream, const char *format=SERIALIZER_DEFAULT_FORMAT)