17 #ifndef GAZEBO_PHYSICS_HEIGHTMAPSHAPE_HH_
18 #define GAZEBO_PHYSICS_HEIGHTMAPSHAPE_HH_
22 #include <ignition/transport/Node.hh>
24 #include <ignition/math/Vector2.hh>
57 public:
virtual void Load(sdf::ElementPtr _sdf);
60 public:
virtual void Init();
64 public:
virtual void SetScale(
const ignition::math::Vector3d &_scale);
68 public: std::string GetURI()
const;
77 public: ignition::math::Vector3d Size()
const;
86 public: ignition::math::Vector3d Pos()
const;
99 public: ignition::math::Vector2i VertexCount()
const;
105 public:
float GetHeight(
int _x,
int _y)
const;
111 public:
void FillMsg(msgs::Geometry &_msg);
115 public:
void FillHeights(msgs::Geometry &_msg)
const;
119 public:
virtual void ProcessMsg(
const msgs::Geometry &_msg);
122 public:
virtual double ComputeVolume()
const;
126 public:
float GetMaxHeight()
const;
130 public:
float GetMinHeight()
const;
134 public:
int GetSubSampling()
const;
147 private:
int LoadTerrainFile(
const std::string &_filename);
151 private:
void OnRequest(ConstRequestPtr &_msg);
181 private: std::string fileFormat;
184 private: ignition::math::Vector3d heightmapSize;
195 private: ignition::transport::Node nodeIgn;
198 private: ignition::transport::Node::Publisher responsePubIgn;
HeightmapShape collision shape builds a heightmap from an image.
Definition: HeightmapShape.hh:46
The Vector3 class represents the generic vector containing 3 elements.
Definition: Vector3.hh:44
std::vector< float > heights
Lookup table of heights.
Definition: HeightmapShape.hh:154
Encapsulates a generic heightmap data file.
Definition: HeightmapData.hh:39
Generic integer x, y vector.
Definition: Vector2i.hh:36
Forward declarations for transport.
boost::shared_ptr< Publisher > PublisherPtr
Definition: TransportTypes.hh:49
boost::shared_ptr< Subscriber > SubscriberPtr
Definition: TransportTypes.hh:53
Base class for all shapes.
Definition: Shape.hh:45
Encapsulates an image that will be interpreted as a heightmap.
Definition: ImageHeightmap.hh:39
boost::shared_ptr< Node > NodePtr
Definition: TransportTypes.hh:57
default namespace for gazebo
unsigned int vertSize
Size of the height lookup table.
Definition: HeightmapShape.hh:163
int subSampling
The amount of subsampling. Default is 2.
Definition: HeightmapShape.hh:169
#define GAZEBO_DEPRECATED(version)
Definition: system.hh:302
bool flipY
True to flip the heights along the y direction.
Definition: HeightmapShape.hh:166
GAZEBO_VISIBLE void Init(google::protobuf::Message &_message, const std::string &_id="")
Initialize a message.
common::ImageHeightmap img
Image used to generate the heights.
Definition: HeightmapShape.hh:157
Encapsulates an image.
Definition: Image.hh:74
common::HeightmapData * heightmapData
HeightmapData used to generate the heights.
Definition: HeightmapShape.hh:160
boost::shared_ptr< Collision > CollisionPtr
Definition: PhysicsTypes.hh:113