Image Component Library (ICL)
Public Member Functions | Public Attributes | List of all members
icl::geom::OctreeObject< Scalar, CAPACITY, SF, Pt, ALLOC_CHUNK_SIZE >::PointFilter Struct Reference

Internal most common fill-Filter to filter out single points. More...

#include <OctreeObject.h>

Public Member Functions

 PointFilter (const Vec &p, float radius=10)
 Create point filter with given center and radius. More...
 
 PointFilter (const geom::Camera &cam)
 Create point filter with given camera. More...
 
template<int N>
bool operator() (const math::FixedColVector< float, N > &v) const
 actual filter function More...
 

Public Attributes

math::Vec3 pos
 position to filter out More...
 
float sqrRadius
 squared distance threshold to the filter point More...
 

Detailed Description

template<class Scalar, int CAPACITY = 4, int SF = 32, class Pt = math::FixedColVector<Scalar,4>, int ALLOC_CHUNK_SIZE = 1024>
struct icl::geom::OctreeObject< Scalar, CAPACITY, SF, Pt, ALLOC_CHUNK_SIZE >::PointFilter

Internal most common fill-Filter to filter out single points.

The single point that is usually filtered out is the camera center. Therefore, two constructors are provided. One that can be arbitrarily defined and another one that uses a camera's position and it's focal length as distance threshold directly

In other words, the filter filters our an epsilon sphere around the given center point, where epsilon is the given radius or the given camera's focal length

Constructor & Destructor Documentation

◆ PointFilter() [1/2]

template<class Scalar, int CAPACITY = 4, int SF = 32, class Pt = math::FixedColVector<Scalar,4>, int ALLOC_CHUNK_SIZE = 1024>
icl::geom::OctreeObject< Scalar, CAPACITY, SF, Pt, ALLOC_CHUNK_SIZE >::PointFilter::PointFilter ( const Vec p,
float  radius = 10 
)
inline

Create point filter with given center and radius.

◆ PointFilter() [2/2]

template<class Scalar, int CAPACITY = 4, int SF = 32, class Pt = math::FixedColVector<Scalar,4>, int ALLOC_CHUNK_SIZE = 1024>
icl::geom::OctreeObject< Scalar, CAPACITY, SF, Pt, ALLOC_CHUNK_SIZE >::PointFilter::PointFilter ( const geom::Camera cam)
inline

Create point filter with given camera.

Internally uses the Camera's position and its focal length as radius

Member Function Documentation

◆ operator()()

template<class Scalar, int CAPACITY = 4, int SF = 32, class Pt = math::FixedColVector<Scalar,4>, int ALLOC_CHUNK_SIZE = 1024>
template<int N>
bool icl::geom::OctreeObject< Scalar, CAPACITY, SF, Pt, ALLOC_CHUNK_SIZE >::PointFilter::operator() ( const math::FixedColVector< float, N > &  v) const
inline

actual filter function

realized as an inline template

Member Data Documentation

◆ pos

template<class Scalar, int CAPACITY = 4, int SF = 32, class Pt = math::FixedColVector<Scalar,4>, int ALLOC_CHUNK_SIZE = 1024>
math::Vec3 icl::geom::OctreeObject< Scalar, CAPACITY, SF, Pt, ALLOC_CHUNK_SIZE >::PointFilter::pos

position to filter out

◆ sqrRadius

template<class Scalar, int CAPACITY = 4, int SF = 32, class Pt = math::FixedColVector<Scalar,4>, int ALLOC_CHUNK_SIZE = 1024>
float icl::geom::OctreeObject< Scalar, CAPACITY, SF, Pt, ALLOC_CHUNK_SIZE >::PointFilter::sqrRadius

squared distance threshold to the filter point


The documentation for this struct was generated from the following file: