Class Pointcloud

Class Documentation

class Pointcloud

A collection of 3D coordinates (point3d), which are regarded as endpoints of a 3D laser scan.

Public Types

typedef point3d_collection::iterator iterator
typedef point3d_collection::const_iterator const_iterator

Public Functions

Pointcloud()
~Pointcloud()
Pointcloud(const Pointcloud &other)
Pointcloud(Pointcloud *other)
inline size_t size() const
void clear()
inline void reserve(size_t size)
inline void push_back(float x, float y, float z)
inline void push_back(const point3d &p)
inline void push_back(point3d *p)
void push_back(const Pointcloud &other)

Add points from other Pointcloud.

void writeVrml(std::string filename)

Export the Pointcloud to a VRML file.

void transform(pose6d transform)

Apply transform to each point.

void rotate(double roll, double pitch, double yaw)

Rotate each point in pointcloud.

void transformAbsolute(pose6d transform)

Apply transform to each point, undo previous transforms.

void calcBBX(point3d &lowerBound, point3d &upperBound) const

Calculate bounding box of Pointcloud.

void crop(point3d lowerBound, point3d upperBound)

Crop Pointcloud to given bounding box.

void minDist(double thres)
void subSampleRandom(unsigned int num_samples, Pointcloud &sample_cloud)
inline iterator begin()
inline iterator end()
inline const_iterator begin() const
inline const_iterator end() const
inline point3d back()
point3d getPoint(unsigned int i) const

Returns a copy of the ith point in point cloud. Use operator[] for direct access to point reference.

inline const point3d &operator[](size_t i) const
inline point3d &operator[](size_t i)
std::istream &readBinary(std::istream &s)
std::istream &read(std::istream &s)
std::ostream &writeBinary(std::ostream &s) const

Protected Attributes

pose6d current_inv_transform
point3d_collection points