PlanePrimitiveShape Class Reference

#include <VisionX/components/pointcloud_processor/EfficientRANSACPrimitiveExtractor/EfficientRANSAC/PlanePrimitiveShape.h>

+ Inheritance diagram for PlanePrimitiveShape:

Public Member Functions

void BitmapExtent (float epsilon, GfxTL::AABox< GfxTL::Vector2Df > *bbox, MiscLib::Vector< std::pair< float, float > > *params, size_t *uextent, size_t *vextent)
 
PrimitiveShape * Clone () const
 
unsigned int ConfidenceTests (unsigned int numTests, float epsilon, float normalThresh, float rms, const PointCloud &pc, const MiscLib::Vector< size_t > &indices) const
 
void Description (std::string *s) const
 
float Distance (const Vec3f &p) const
 
void DistanceAndNormalDeviation (const Vec3f &p, const Vec3f &n, std::pair< float, float > *dn) const
 
bool Fit (const PointCloud &pc, float epsilon, float normalThresh, MiscLib::Vector< size_t >::const_iterator begin, MiscLib::Vector< size_t >::const_iterator end)
 
size_t Identifier () const
 
void InBitmap (const std::pair< float, float > &param, float epsilon, const GfxTL::AABox< GfxTL::Vector2Df > &bbox, size_t uextent, size_t vextent, std::pair< int, int > *inBmp) const
 
bool InSpace (float u, float v, Vec3f *p, Vec3f *n) const
 
bool InSpace (size_t u, size_t v, float epsilon, const GfxTL::AABox< GfxTL::Vector2Df > &bbox, size_t uextent, size_t vextent, Vec3f *p, Vec3f *n) const
 
const Plane & Internal () const
 
PrimitiveShape * LSFit (const PointCloud &pc, float epsilon, float normalThresh, MiscLib::Vector< size_t >::const_iterator begin, MiscLib::Vector< size_t >::const_iterator end, std::pair< size_t, float > *score) const
 
void Normal (const Vec3f &p, Vec3f *n) const
 
float NormalDeviation (const Vec3f &p, const Vec3f &n) const
 
void Parameters (const Vec3f &p, std::pair< float, float > *param) const
 
void Parameters (GfxTL::IndexedIterator< IndexIterator, PointCloud::const_iterator > begin, GfxTL::IndexedIterator< IndexIterator, PointCloud::const_iterator > end, MiscLib::Vector< std::pair< float, float > > *bmpParams) const
 
void Parameters (GfxTL::IndexedIterator< MiscLib::Vector< size_t >::iterator, PointCloud::const_iterator > begin, GfxTL::IndexedIterator< MiscLib::Vector< size_t >::iterator, PointCloud::const_iterator > end, MiscLib::Vector< std::pair< float, float > > *bmpParams) const
 
 PlanePrimitiveShape (const Plane &plane)
 
 PlanePrimitiveShape (const Vec3f &a, const Vec3f &b, const Vec3f &c)
 
void Project (const Vec3f &p, Vec3f *pp) const
 
unsigned int RequiredSamples () const
 
virtual void Serialize (float *array) const
 
void Serialize (std::ostream *o, bool binary=true) const
 This is the one and only serialization function It stores all the parameters of the shape as well as the parametrization.
 
virtual size_t SerializedFloatSize () const
 
size_t SerializedSize () const
 
void SetExtent (const GfxTL::AABox< GfxTL::Vector2Df > &bbox, const MiscLib::Vector< int > &componentsImg, size_t uextent, size_t vextent, float epsilon, int label)
 
float SignedDistance (const Vec3f &p) const
 
LevMarFunc< float > * SignedDistanceFunc () const
 
bool Similar (float tolerance, const PlanePrimitiveShape &) const
 
void Transform (const GfxTL::MatrixXX< 3, 3, float > &rot, const GfxTL::Vector3Df &trans)
 
void Transform (float scale, const Vec3f &translate)
 
void Visit (PrimitiveShapeVisitor *visitor) const
 
void WrapBitmap (const GfxTL::AABox< GfxTL::Vector2Df > &bbox, float epsilon, bool *uwrap, bool *vwrap) const
 
- Public Member Functions inherited from BitmapPrimitiveShape
size_t AllConnectedComponents (const PointCloud &pc, float epsilon, BitmapInfo &bitmapInfo, MiscLib::Vector< size_t > *indices, MiscLib::Vector< int > &componentsImg, MiscLib::Vector< std::pair< int, size_t > > &labels, bool doFiltering=true)
 
template<class IteratorT>
void BuildBitmap (const PointCloud &pc, float *epsilon, IteratorT begin, IteratorT end, MiscLib::Vector< std::pair< float, float > > *params, GfxTL::AABox< GfxTL::Vector2Df > *bbox, MiscLib::Vector< char > *bitmap, size_t *uextent, size_t *vextent, MiscLib::Vector< size_t > *bmpIdx) const
 
template<class IteratorT>
void BuildBitmap (const PointCloud &pc, float *epsilon, IteratorT begin, IteratorT end, MiscLib::Vector< std::pair< float, float > > *params, GfxTL::AABox< GfxTL::Vector2Df > *bbox, MiscLib::Vector< char > *bitmap, size_t *uextent, size_t *vextent, MiscLib::Vector< size_t > *bmpIdx, size_t border) const
 
void BuildPolygons (const PointCloud &pc, float epsilon, size_t begin, size_t end, GfxTL::AABox< GfxTL::Vector2Df > *bbox, size_t *uextent, size_t *vextent, std::deque< ComponentPolygons > *polys) const
 
size_t ConnectedComponent (const PointCloud &pc, float epsilon, MiscLib::Vector< size_t > *indices, bool doFiltering=true, float *borderRatio=0)
 
void GenerateBitmapPoints (const PointCloud &pc, float epsilon, size_t begin, size_t end, PointCloud *bmpPc) const
 
bool Init (bool binary, std::istream *i)
 
virtual void Parameters (GfxTL::IndexedIterator< IndexIterator, PointCloud::const_iterator > begin, GfxTL::IndexedIterator< IndexIterator, PointCloud::const_iterator > end, MiscLib::Vector< std::pair< float, float > > *bmpParams) const =0
 
virtual void Parameters (GfxTL::IndexedIterator< MiscLib::Vector< size_t >::iterator, PointCloud::const_iterator > begin, GfxTL::IndexedIterator< MiscLib::Vector< size_t >::iterator, PointCloud::const_iterator > end, MiscLib::Vector< std::pair< float, float > > *bmpParams) const =0
 
virtual void PreWrapBitmap (const GfxTL::AABox< GfxTL::Vector2Df > &bbox, float epsilon, size_t uextent, size_t vextent, MiscLib::Vector< char > *bmp) const
 
void TrimmingPolygons (const PointCloud &pc, float epsilon, size_t begin, size_t end, std::deque< ComponentPolygons > *polys) const
 
virtual void WrapComponents (const GfxTL::AABox< GfxTL::Vector2Df > &bbox, float epsilon, size_t uextent, size_t vextent, MiscLib::Vector< int > *componentImg, MiscLib::Vector< std::pair< int, size_t > > *labels) const
 
- Public Member Functions inherited from PrimitiveShape
virtual void OptimizeParametrization (const PointCloud &pc, size_t begin, size_t end, float epsilon)
 
virtual void SuggestSimplifications (const PointCloud &pc, MiscLib::Vector< size_t >::const_iterator begin, MiscLib::Vector< size_t >::const_iterator end, float distThresh, MiscLib::Vector< MiscLib::RefCountPtr< PrimitiveShape > > *suggestions) const
 
- Public Member Functions inherited from RefCount
unsigned int AddRef () const
 
RefCount & operator= (const RefCount &)
 
 RefCount ()
 
 RefCount (const RefCount &)
 
unsigned int Release () const
 

Additional Inherited Members

- Public Types inherited from PrimitiveShape
typedef MiscLib::Vector< GfxTL::VectorXD< 2, size_t > > BitmapPolygon
 
typedef MiscLib::Vector< BitmapPolygon > ComponentPolygons
 
- Protected Member Functions inherited from RefCount
virtual ~RefCount ()
 
- Protected Attributes inherited from BitmapPrimitiveShape
GfxTL::AABox< GfxTL::Vector2Df > m_extBbox
 

Constructor & Destructor Documentation

◆ PlanePrimitiveShape() [1/2]

PlanePrimitiveShape ( const Vec3f & a,
const Vec3f & b,
const Vec3f & c )

◆ PlanePrimitiveShape() [2/2]

PlanePrimitiveShape ( const Plane & plane)

Member Function Documentation

◆ BitmapExtent()

void BitmapExtent ( float epsilon,
GfxTL::AABox< GfxTL::Vector2Df > * bbox,
MiscLib::Vector< std::pair< float, float > > * params,
size_t * uextent,
size_t * vextent )
virtual

Implements BitmapPrimitiveShape.

◆ Clone()

PrimitiveShape * Clone ( ) const
virtual

Implements PrimitiveShape.

◆ ConfidenceTests()

unsigned int ConfidenceTests ( unsigned int numTests,
float epsilon,
float normalThresh,
float rms,
const PointCloud & pc,
const MiscLib::Vector< size_t > & indices ) const
virtual

Reimplemented from BasePrimitiveShape.

◆ Description()

void Description ( std::string * s) const
virtual

Implements PrimitiveShape.

◆ Distance()

float Distance ( const Vec3f & p) const
virtual

Implements PrimitiveShape.

◆ DistanceAndNormalDeviation()

void DistanceAndNormalDeviation ( const Vec3f & p,
const Vec3f & n,
std::pair< float, float > * dn ) const
virtual

Implements PrimitiveShape.

◆ Fit()

bool Fit ( const PointCloud & pc,
float epsilon,
float normalThresh,
MiscLib::Vector< size_t >::const_iterator begin,
MiscLib::Vector< size_t >::const_iterator end )
virtual

Implements PrimitiveShape.

◆ Identifier()

size_t Identifier ( ) const
virtual

Implements PrimitiveShape.

◆ InBitmap()

void InBitmap ( const std::pair< float, float > & param,
float epsilon,
const GfxTL::AABox< GfxTL::Vector2Df > & bbox,
size_t uextent,
size_t vextent,
std::pair< int, int > * inBmp ) const
virtual

Implements BitmapPrimitiveShape.

◆ InSpace() [1/2]

bool InSpace ( float u,
float v,
Vec3f * p,
Vec3f * n ) const
virtual

Implements BitmapPrimitiveShape.

◆ InSpace() [2/2]

bool InSpace ( size_t u,
size_t v,
float epsilon,
const GfxTL::AABox< GfxTL::Vector2Df > & bbox,
size_t uextent,
size_t vextent,
Vec3f * p,
Vec3f * n ) const
virtual

Implements BitmapPrimitiveShape.

◆ Internal()

const Plane & Internal ( ) const
inline

◆ LSFit()

PrimitiveShape * LSFit ( const PointCloud & pc,
float epsilon,
float normalThresh,
MiscLib::Vector< size_t >::const_iterator begin,
MiscLib::Vector< size_t >::const_iterator end,
std::pair< size_t, float > * score ) const
virtual

Implements PrimitiveShape.

◆ Normal()

void Normal ( const Vec3f & p,
Vec3f * n ) const
virtual

Implements PrimitiveShape.

◆ NormalDeviation()

float NormalDeviation ( const Vec3f & p,
const Vec3f & n ) const
virtual

Implements PrimitiveShape.

◆ Parameters() [1/3]

void Parameters ( const Vec3f & p,
std::pair< float, float > * param ) const
virtual

Implements BitmapPrimitiveShape.

◆ Parameters() [2/3]

◆ Parameters() [3/3]

void Parameters ( GfxTL::IndexedIterator< MiscLib::Vector< size_t >::iterator, PointCloud::const_iterator > begin,
GfxTL::IndexedIterator< MiscLib::Vector< size_t >::iterator, PointCloud::const_iterator > end,
MiscLib::Vector< std::pair< float, float > > * bmpParams ) const

◆ Project()

void Project ( const Vec3f & p,
Vec3f * pp ) const
virtual

Implements PrimitiveShape.

◆ RequiredSamples()

unsigned int RequiredSamples ( ) const
inlinevirtual

Implements PrimitiveShape.

◆ Serialize() [1/2]

virtual void Serialize ( float * array) const
inlinevirtual

Implements PrimitiveShape.

◆ Serialize() [2/2]

void Serialize ( std::ostream * o,
bool binary = true ) const
virtual

This is the one and only serialization function It stores all the parameters of the shape as well as the parametrization.

The first byte written (in both, binary and ascii mode) is the shape identifier

Implements PrimitiveShape.

◆ SerializedFloatSize()

virtual size_t SerializedFloatSize ( ) const
inlinevirtual

Implements PrimitiveShape.

◆ SerializedSize()

size_t SerializedSize ( ) const
virtual

Implements PrimitiveShape.

◆ SetExtent()

void SetExtent ( const GfxTL::AABox< GfxTL::Vector2Df > & bbox,
const MiscLib::Vector< int > & componentsImg,
size_t uextent,
size_t vextent,
float epsilon,
int label )

◆ SignedDistance()

float SignedDistance ( const Vec3f & p) const
virtual

Implements PrimitiveShape.

◆ SignedDistanceFunc()

LevMarFunc< float > * SignedDistanceFunc ( ) const
virtual

Implements PrimitiveShape.

◆ Similar()

bool Similar ( float tolerance,
const PlanePrimitiveShape &  ) const

◆ Transform() [1/2]

void Transform ( const GfxTL::MatrixXX< 3, 3, float > & rot,
const GfxTL::Vector3Df & trans )

◆ Transform() [2/2]

void Transform ( float scale,
const Vec3f & translate )
virtual

Implements PrimitiveShape.

◆ Visit()

void Visit ( PrimitiveShapeVisitor * visitor) const
virtual

Implements PrimitiveShape.

◆ WrapBitmap()

void WrapBitmap ( const GfxTL::AABox< GfxTL::Vector2Df > & bbox,
float epsilon,
bool * uwrap,
bool * vwrap ) const
virtual

Implements BitmapPrimitiveShape.


The documentation for this class was generated from the following files: