5 #ifndef HPP_FCL_SERIALIZATION_GEOMETRIC_SHAPES_H
6 #define HPP_FCL_SERIALIZATION_GEOMETRIC_SHAPES_H
13 namespace serialization {
15 template <
class Archive>
17 const unsigned int ) {
19 boost::serialization::base_object<hpp::fcl::CollisionGeometry>(
22 ar& make_nvp(
"swept_sphere_radius", radius);
24 if (Archive::is_loading::value) {
29 template <
class Archive>
31 const unsigned int ) {
33 "base", boost::serialization::base_object<hpp::fcl::ShapeBase>(triangle));
34 ar& make_nvp(
"a", triangle.
a);
35 ar& make_nvp(
"b", triangle.
b);
36 ar& make_nvp(
"c", triangle.
c);
39 template <
class Archive>
41 const unsigned int ) {
43 boost::serialization::base_object<hpp::fcl::ShapeBase>(box));
44 ar& make_nvp(
"halfSide", box.
halfSide);
47 template <
class Archive>
49 const unsigned int ) {
51 boost::serialization::base_object<hpp::fcl::ShapeBase>(sphere));
52 ar& make_nvp(
"radius", sphere.
radius);
55 template <
class Archive>
57 const unsigned int ) {
58 ar& make_nvp(
"base", boost::serialization::base_object<hpp::fcl::ShapeBase>(
60 ar& make_nvp(
"radii", ellipsoid.
radii);
63 template <
class Archive>
65 const unsigned int ) {
67 boost::serialization::base_object<hpp::fcl::ShapeBase>(capsule));
68 ar& make_nvp(
"radius", capsule.
radius);
69 ar& make_nvp(
"halfLength", capsule.
halfLength);
72 template <
class Archive>
74 const unsigned int ) {
76 boost::serialization::base_object<hpp::fcl::ShapeBase>(cone));
77 ar& make_nvp(
"radius", cone.
radius);
81 template <
class Archive>
83 const unsigned int ) {
85 "base", boost::serialization::base_object<hpp::fcl::ShapeBase>(cylinder));
86 ar& make_nvp(
"radius", cylinder.
radius);
87 ar& make_nvp(
"halfLength", cylinder.
halfLength);
90 template <
class Archive>
92 const unsigned int ) {
93 ar& make_nvp(
"base", boost::serialization::base_object<hpp::fcl::ShapeBase>(
95 ar& make_nvp(
"n", half_space.
n);
96 ar& make_nvp(
"d", half_space.
d);
99 template <
class Archive>
101 const unsigned int ) {
103 boost::serialization::base_object<hpp::fcl::ShapeBase>(plane));
104 ar& make_nvp(
"n", plane.
n);
105 ar& make_nvp(
"d", plane.
d);
Center at zero point, axis aligned box.
Definition: geometric_shapes.h:164
Capsule It is where is the distance between the point x and the capsule segment AB,...
Definition: geometric_shapes.h:381
Cone The base of the cone is at and the top is at .
Definition: geometric_shapes.h:465
Cylinder along Z axis. The cylinder is defined at its centroid.
Definition: geometric_shapes.h:555
Ellipsoid centered at point zero.
Definition: geometric_shapes.h:303
Half Space: this is equivalent to the Plane in ODE. A Half space has a priviledged direction: the dir...
Definition: geometric_shapes.h:885
Infinite plane. A plane can be viewed as two half spaces; it has no priviledged direction....
Definition: geometric_shapes.h:976
Base class for all basic geometric shapes.
Definition: geometric_shapes.h:59
Center at zero point sphere.
Definition: geometric_shapes.h:238
Triangle stores the points instead of only indices of points.
Definition: geometric_shapes.h:109
#define HPP_FCL_SERIALIZATION_DECLARE_EXPORT(T)
Definition: fwd.h:30
Vec3f c
Definition: geometric_shapes.h:147
FCL_REAL halfLength
Half Length along z axis.
Definition: geometric_shapes.h:400
FCL_REAL getSweptSphereRadius() const
Get radius of sphere swept around the shape. This radius is always >= 0.
Definition: geometric_shapes.h:87
Vec3f a
Definition: geometric_shapes.h:147
FCL_REAL halfLength
Half Length along z axis.
Definition: geometric_shapes.h:582
Vec3f n
Plane normal.
Definition: geometric_shapes.h:1027
FCL_REAL radius
Radius of capsule.
Definition: geometric_shapes.h:394
Vec3f n
Plane normal.
Definition: geometric_shapes.h:949
FCL_REAL halfLength
Half Length along z axis.
Definition: geometric_shapes.h:484
FCL_REAL d
Plane offset.
Definition: geometric_shapes.h:1030
FCL_REAL radius
Radius of the sphere.
Definition: geometric_shapes.h:248
Vec3f halfSide
box side half-length
Definition: geometric_shapes.h:187
FCL_REAL radius
Radius of the cone.
Definition: geometric_shapes.h:478
FCL_REAL radius
Radius of the cylinder.
Definition: geometric_shapes.h:576
void setSweptSphereRadius(FCL_REAL radius)
Set radius of sphere swept around the shape. Must be >= 0.
Definition: geometric_shapes.h:77
Vec3f b
Definition: geometric_shapes.h:147
Vec3f radii
Radii of the Ellipsoid (such that on boundary: x^2/rx^2 + y^2/ry^2.
Definition: geometric_shapes.h:316
FCL_REAL d
Plane offset.
Definition: geometric_shapes.h:952
void serialize(Archive &ar, hpp::fcl::AABB &aabb, const unsigned int)
Definition: AABB.h:15
double FCL_REAL
Definition: data_types.h:66
Main namespace.
Definition: broadphase_bruteforce.h:44