Loading [MathJax]/extensions/tex2jax.js
Go to the documentation of this file. 1 #ifndef GEOLIB_LASERRANGEFINDER_H_
2 #define GEOLIB_LASERRANGEFINDER_H_
static geo::Vector3 polarTo3D(const geo::Pose3D &laser_pose, double angle, double range)
void setAngleLimits(double min, double max)
void setRangeLimits(double min, double max)
const geo::Pose3D & getPose() const
void render(const geo::LaserRangeFinder::RenderOptions &options, geo::LaserRangeFinder::RenderResult &res) const
const geo::Vector3 getRayDirection(uint i) const
static geo::Vector3 polarTo2D(double angle, double range)
int getAngleUpperIndexRaw(double angle) const
Get the index of the first beam with a higher angle than angle. Results may lie outside of the sensor...
double getAngleMax() const
std::vector< double > angles_
virtual void renderLine(const Vec2 &p1, const Vec2 &p2)
const std::vector< geo::Vector3 > & rayDirections() const
std::vector< double > & ranges
virtual void renderPoint(uint index, float depth)
const geo::LaserRangeFinder * lrf_
void setMesh(const geo::Mesh &mesh, const geo::Pose3D &pose)
double getAngleMin() const
geo::Vector3 rangeToPoint(double range, uint i) const
std::vector< geo::Vector3 > ray_dirs_
double getAngleIncrement() const
Angle increment between two beams.
virtual ~LaserRangeFinder()
uint getAngleUpperIndex(double angle) const
Get the index of the first beam with a higher angle than this beam.
void renderLine(const geo::Vec2 &p1, const geo::Vec2 &p2, std::vector< double > &ranges) const
double getRangeMin() const
double getRangeMax() const
const geo::Mesh & getMesh() const
bool rangesToPoints(const std::vector< double > &ranges, std::vector< geo::Vector3 > &points) const
const std::vector< double > & getAngles() const
RenderResult(std::vector< double > &ranges_)
A geometric description of a shape.