|
20 | 20 | #include <gz/msgs/axis_aligned_box.pb.h>
|
21 | 21 | #include <gz/msgs/boxgeom.pb.h>
|
22 | 22 | #include <gz/msgs/capsulegeom.pb.h>
|
| 23 | +#include <gz/msgs/conegeom.pb.h> |
23 | 24 | #include <gz/msgs/cylindergeom.pb.h>
|
24 | 25 | #include <gz/msgs/ellipsoidgeom.pb.h>
|
25 | 26 | #include <gz/msgs/entity.pb.h>
|
|
53 | 54 | #include <sdf/Box.hh>
|
54 | 55 | #include <sdf/Camera.hh>
|
55 | 56 | #include <sdf/Capsule.hh>
|
| 57 | +#include <sdf/Cone.hh> |
56 | 58 | #include <sdf/Cylinder.hh>
|
57 | 59 | #include <sdf/Ellipsoid.hh>
|
58 | 60 | #include <sdf/Geometry.hh>
|
@@ -176,6 +178,12 @@ msgs::Geometry gz::sim::convert(const sdf::Geometry &_in)
|
176 | 178 | out.mutable_capsule()->set_radius(_in.CapsuleShape()->Radius());
|
177 | 179 | out.mutable_capsule()->set_length(_in.CapsuleShape()->Length());
|
178 | 180 | }
|
| 181 | + else if (_in.Type() == sdf::GeometryType::CONE && _in.ConeShape()) |
| 182 | + { |
| 183 | + out.set_type(msgs::Geometry::CONE); |
| 184 | + out.mutable_cone()->set_radius(_in.ConeShape()->Radius()); |
| 185 | + out.mutable_cone()->set_length(_in.ConeShape()->Length()); |
| 186 | + } |
179 | 187 | else if (_in.Type() == sdf::GeometryType::CYLINDER && _in.CylinderShape())
|
180 | 188 | {
|
181 | 189 | out.set_type(msgs::Geometry::CYLINDER);
|
@@ -293,6 +301,16 @@ sdf::Geometry gz::sim::convert(const msgs::Geometry &_in)
|
293 | 301 |
|
294 | 302 | out.SetCapsuleShape(capsuleShape);
|
295 | 303 | }
|
| 304 | + else if (_in.type() == msgs::Geometry::CONE && _in.has_cone()) |
| 305 | + { |
| 306 | + out.SetType(sdf::GeometryType::CONE); |
| 307 | + |
| 308 | + sdf::Cone coneShape; |
| 309 | + coneShape.SetRadius(_in.cone().radius()); |
| 310 | + coneShape.SetLength(_in.cone().length()); |
| 311 | + |
| 312 | + out.SetConeShape(coneShape); |
| 313 | + } |
296 | 314 | else if (_in.type() == msgs::Geometry::CYLINDER && _in.has_cylinder())
|
297 | 315 | {
|
298 | 316 | out.SetType(sdf::GeometryType::CYLINDER);
|
@@ -1644,6 +1662,9 @@ msgs::ParticleEmitter gz::sim::convert(const sdf::ParticleEmitter &_in)
|
1644 | 1662 | case sdf::ParticleEmitterType::CYLINDER:
|
1645 | 1663 | out.set_type(msgs::ParticleEmitter::CYLINDER);
|
1646 | 1664 | break;
|
| 1665 | + case sdf::ParticleEmitterType::CONE: |
| 1666 | + out.set_type(msgs::ParticleEmitter::CONE); |
| 1667 | + break; |
1647 | 1668 | case sdf::ParticleEmitterType::ELLIPSOID:
|
1648 | 1669 | out.set_type(msgs::ParticleEmitter::ELLIPSOID);
|
1649 | 1670 | break;
|
@@ -1710,6 +1731,9 @@ sdf::ParticleEmitter gz::sim::convert(const msgs::ParticleEmitter &_in)
|
1710 | 1731 | case msgs::ParticleEmitter::BOX:
|
1711 | 1732 | out.SetType(sdf::ParticleEmitterType::BOX);
|
1712 | 1733 | break;
|
| 1734 | + case msgs::ParticleEmitter::CONE: |
| 1735 | + out.SetType(sdf::ParticleEmitterType::CONE); |
| 1736 | + break; |
1713 | 1737 | case msgs::ParticleEmitter::CYLINDER:
|
1714 | 1738 | out.SetType(sdf::ParticleEmitterType::CYLINDER);
|
1715 | 1739 | break;
|
|
0 commit comments