SpherePrimitiveShape Class Reference

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

+ Inheritance diagram for SpherePrimitiveShape:

Public Types

typedef LowStretchSphereParametrization ParametrizationType
 
- Public Types inherited from PrimitiveShape
typedef MiscLib::Vector< GfxTL::VectorXD< 2, size_t > > BitmapPolygon
 
typedef MiscLib::Vector< BitmapPolygonComponentPolygons
 

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)
 
PrimitiveShapeClone () 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
 
void Deserialize (std::istream *i, bool binary)
 
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 Init (bool binary, std::istream *i)
 
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 SphereInternal () const
 
PrimitiveShapeLSFit (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 OptimizeParametrization (const PointCloud &pc, MiscLib::Vector< size_t >::const_iterator begin, MiscLib::Vector< size_t >::const_iterator end, float epsilon)
 
void OptimizeParametrization (const PointCloud &pc, size_t begin, size_t end, float epsilon)
 
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
 
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
 
float SignedDistance (const Vec3f &p) const
 
LevMarFunc< float > * SignedDistanceFunc () const
 
bool Similar (float tolerance, const SpherePrimitiveShape &shape) const
 
 SpherePrimitiveShape ()
 
 SpherePrimitiveShape (const Sphere &s)
 
 SpherePrimitiveShape (const SpherePrimitiveShape &sps)
 
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
 
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
 
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 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
 
- Public Member Functions inherited from RefCount
unsigned int AddRef () const
 
RefCountoperator= (const RefCount &)
 
 RefCount ()
 
 RefCount (const RefCount &)
 
unsigned int Release () const
 

Additional Inherited Members

- Protected Member Functions inherited from RefCount
virtual ~RefCount ()
 
- Protected Attributes inherited from BitmapPrimitiveShape
GfxTL::AABox< GfxTL::Vector2Dfm_extBbox
 

Detailed Description

Definition at line 20 of file SpherePrimitiveShape.h.

Member Typedef Documentation

◆ ParametrizationType

Constructor & Destructor Documentation

◆ SpherePrimitiveShape() [1/3]

Definition at line 25 of file SpherePrimitiveShape.h.

+ Here is the caller graph for this function:

◆ SpherePrimitiveShape() [2/3]

Definition at line 33 of file SpherePrimitiveShape.cpp.

◆ SpherePrimitiveShape() [3/3]

Definition at line 38 of file SpherePrimitiveShape.cpp.

+ Here is the call graph for this function:

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.

Definition at line 493 of file SpherePrimitiveShape.cpp.

+ Here is the call graph for this function:

◆ Clone()

PrimitiveShape * Clone ( ) const
virtual

Implements PrimitiveShape.

Definition at line 177 of file SpherePrimitiveShape.cpp.

+ Here is the call graph for this function:

◆ 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.

Definition at line 225 of file SpherePrimitiveShape.cpp.

+ Here is the call graph for this function:

◆ Description()

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

Implements PrimitiveShape.

Definition at line 237 of file SpherePrimitiveShape.cpp.

◆ Deserialize()

void Deserialize ( std::istream * i,
bool binary )

Definition at line 301 of file SpherePrimitiveShape.cpp.

+ Here is the caller graph for this function:

◆ Distance()

float Distance ( const Vec3f & p) const
virtual

Implements PrimitiveShape.

Definition at line 183 of file SpherePrimitiveShape.cpp.

◆ DistanceAndNormalDeviation()

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

Implements PrimitiveShape.

Definition at line 203 of file SpherePrimitiveShape.cpp.

◆ 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.

Definition at line 243 of file SpherePrimitiveShape.cpp.

+ Here is the call graph for this function:

◆ Identifier()

size_t Identifier ( ) const
virtual

Implements PrimitiveShape.

Definition at line 45 of file SpherePrimitiveShape.cpp.

◆ 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.

Definition at line 504 of file SpherePrimitiveShape.cpp.

+ Here is the call graph for this function:

◆ Init()

bool Init ( bool binary,
std::istream * i )

Definition at line 51 of file SpherePrimitiveShape.cpp.

+ Here is the call graph for this function:

◆ InSpace() [1/2]

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

Implements BitmapPrimitiveShape.

Definition at line 487 of file SpherePrimitiveShape.cpp.

◆ 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.

Definition at line 536 of file SpherePrimitiveShape.cpp.

+ Here is the call graph for this function:

◆ Internal()

const Sphere & Internal ( ) const
inline

Definition at line 99 of file SpherePrimitiveShape.h.

◆ 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.

Definition at line 261 of file SpherePrimitiveShape.cpp.

+ Here is the call graph for this function:

◆ Normal()

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

Implements PrimitiveShape.

Definition at line 219 of file SpherePrimitiveShape.cpp.

◆ NormalDeviation()

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

Implements PrimitiveShape.

Definition at line 195 of file SpherePrimitiveShape.cpp.

◆ OptimizeParametrization() [1/2]

void OptimizeParametrization ( const PointCloud & pc,
MiscLib::Vector< size_t >::const_iterator begin,
MiscLib::Vector< size_t >::const_iterator end,
float epsilon )

Definition at line 435 of file SpherePrimitiveShape.cpp.

+ Here is the call graph for this function:

◆ OptimizeParametrization() [2/2]

void OptimizeParametrization ( const PointCloud & pc,
size_t begin,
size_t end,
float epsilon )
virtual

Reimplemented from PrimitiveShape.

Definition at line 445 of file SpherePrimitiveShape.cpp.

+ Here is the call graph for this function:

◆ Parameters() [1/3]

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

Implements BitmapPrimitiveShape.

Definition at line 463 of file SpherePrimitiveShape.cpp.

◆ Parameters() [2/3]

Definition at line 478 of file SpherePrimitiveShape.cpp.

◆ 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

Definition at line 469 of file SpherePrimitiveShape.cpp.

◆ Project()

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

Implements PrimitiveShape.

Definition at line 213 of file SpherePrimitiveShape.cpp.

◆ RequiredSamples()

unsigned int RequiredSamples ( ) const
inlinevirtual

Implements PrimitiveShape.

Definition at line 34 of file SpherePrimitiveShape.h.

◆ Serialize() [1/2]

virtual void Serialize ( float * array) const
inlinevirtual

Implements PrimitiveShape.

Definition at line 72 of file SpherePrimitiveShape.h.

◆ 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.

Definition at line 280 of file SpherePrimitiveShape.cpp.

◆ SerializedFloatSize()

virtual size_t SerializedFloatSize ( ) const
inlinevirtual

Implements PrimitiveShape.

Definition at line 78 of file SpherePrimitiveShape.h.

◆ SerializedSize()

size_t SerializedSize ( ) const
virtual

Implements PrimitiveShape.

Definition at line 309 of file SpherePrimitiveShape.cpp.

◆ SignedDistance()

float SignedDistance ( const Vec3f & p) const
virtual

Implements PrimitiveShape.

Definition at line 189 of file SpherePrimitiveShape.cpp.

◆ SignedDistanceFunc()

LevMarFunc< float > * SignedDistanceFunc ( ) const
virtual

Implements PrimitiveShape.

Definition at line 315 of file SpherePrimitiveShape.cpp.

◆ Similar()

bool Similar ( float tolerance,
const SpherePrimitiveShape & shape ) const

Definition at line 456 of file SpherePrimitiveShape.cpp.

+ Here is the call graph for this function:

◆ SuggestSimplifications()

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
virtual

Reimplemented from PrimitiveShape.

Definition at line 333 of file SpherePrimitiveShape.cpp.

+ Here is the call graph for this function:

◆ Transform()

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

Implements PrimitiveShape.

Definition at line 321 of file SpherePrimitiveShape.cpp.

◆ Visit()

void Visit ( PrimitiveShapeVisitor * visitor) const
virtual

Implements PrimitiveShape.

Definition at line 327 of file SpherePrimitiveShape.cpp.

+ Here is the call graph for this function:

◆ WrapBitmap()

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

Implements BitmapPrimitiveShape.

Definition at line 516 of file SpherePrimitiveShape.cpp.

◆ WrapComponents()

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
virtual

Reimplemented from BitmapPrimitiveShape.

Definition at line 525 of file SpherePrimitiveShape.cpp.


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