|  | RobWorkProject
    23.9.11-
    | 
A plane model. More...
#include <PlaneModel.hpp>
Inherits RANSACModel< PlaneModel, rw::math::Vector3D<> >.
| Public Types | |
| typedef rw::core::Ptr< PlaneModel > | Ptr | 
| Smart pointer type to this class. | |
|  Public Types inherited from RANSACModel< PlaneModel, rw::math::Vector3D<> > | |
| typedef rw::core::Ptr< RANSACModel< PlaneModel, rw::math::Vector3D<> > > | Ptr | 
| Smart pointer type to this class. | |
| Public Member Functions | |
| PlaneModel () | |
| Constructor. | |
| PlaneModel (const rw::geometry::Plane &plane) | |
| Constructor.  More... | |
| virtual | ~PlaneModel () | 
| Destructor. | |
| virtual double | fitError (const rw::math::Vector3D<> &sample) const | 
| Calculates the fitting error of a sample.  More... | |
| virtual bool | invalid () const | 
| Checks whether the model is invalid.  More... | |
| virtual int | getMinReqData () const | 
| Returns the number of samples required to create the model.  More... | |
| virtual double | refit (const std::vector< rw::math::Vector3D<>> &samples) | 
| Recalculates the model based on provided samples.  More... | |
| virtual bool | same (const PlaneModel &model, double threshold) const | 
| Tests whether the model is same to a threshold of another model.  More... | |
| rw::geometry::Plane | plane () const | 
| Get plane. | |
| rw::math::Vector3D | normal () const | 
| Get plane normal. | |
| double | d () const | 
| Get plane distance from {0, 0, 0} along normal. | |
|  Public Member Functions inherited from RANSACModel< PlaneModel, rw::math::Vector3D<> > | |
| RANSACModel () | |
| Constructor. | |
| virtual PlaneModel | make (const std::vector< rw::math::Vector3D<> > &data) const | 
| Creates a new model of this type using provided data. | |
| virtual | ~RANSACModel () | 
| Destructor. | |
| bool | operator< (const PlaneModel &model) const | 
| 'Worse than' operator.  More... | |
| bool | operator> (const PlaneModel &model) const | 
| 'Better than' operator.  More... | |
| virtual bool | belongsTo (const rw::math::Vector3D<> &sample, double threshold) const | 
| Check whether a sample belongs to the model.  More... | |
| virtual double | refit (const std::vector< rw::math::Vector3D<> > &data)=0 | 
| Recalculates the model based on provided samples.  More... | |
| size_t | getNumberOfInliers () const | 
| Get the number of inliers. | |
| double | getQuality () const | 
| Get the model quality.  More... | |
| void | setQuality (double quality) | 
| Set the model quality.  More... | |
| std::vector< rw::math::Vector3D<> > & | getData () | 
| Access data. | |
| const std::vector< rw::math::Vector3D<> > & | getData () const | 
| Access data. | |
| std::vector< size_t > | getInlierIndices () const | 
| Get the vector of inlier indices.  More... | |
| Protected Attributes | |
| rw::geometry::Plane | _model | 
|  Protected Attributes inherited from RANSACModel< PlaneModel, rw::math::Vector3D<> > | |
| std::vector< rw::math::Vector3D<> > | _data | 
| double | _quality | 
| std::vector< size_t > | _indices | 
| Friends | |
| std::ostream & | operator<< (std::ostream &out, const PlaneModel &plane) | 
| Streaming operator. | |
| Additional Inherited Members | |
|  Static Public Member Functions inherited from RANSACModel< PlaneModel, rw::math::Vector3D<> > | |
| static std::vector< PlaneModel > | findModels (const std::vector< rw::math::Vector3D<> > &data, int maxIterations, int dataRequired, double dataThreshold, double modelThreshold) | 
| Find models fitting a set of observations.  More... | |
| static PlaneModel | bestModel (const std::vector< PlaneModel > &models) | 
| Select the model with the largest number of inliers.  More... | |
| static PlaneModel | likelyModel (const std::vector< PlaneModel > &models) | 
| Select a model randomly, with a chance based on the number of inliers.  More... | |
A plane model.
| 
 | inline | 
Constructor.
| plane | [in] plane model | 
| 
 | virtual | 
Calculates the fitting error of a sample.
Implements RANSACModel< PlaneModel, rw::math::Vector3D<> >.
| 
 | inlinevirtual | 
Returns the number of samples required to create the model.
No model will be found, if data size is less than this amount.
PlaneModel requires at least 3 samples.
Implements RANSACModel< PlaneModel, rw::math::Vector3D<> >.
| 
 | virtual | 
Checks whether the model is invalid.
Implements RANSACModel< PlaneModel, rw::math::Vector3D<> >.
| 
 | virtual | 
Recalculates the model based on provided samples.
Returns standard variance of point distances to the plane model (an average of distances squared).
| 
 | virtual | 
Tests whether the model is same to a threshold of another model.
This is used to filter down (merge) similar models found in the course of RANSAC algorithm execution.
Implements RANSACModel< PlaneModel, rw::math::Vector3D<> >.