Ponca  2cfe00173bb12dda99e12b2b48a0e1f683bc5cdd
Point Cloud Analysis library
Loading...
Searching...
No Matches
MeanNormal< DataPoint, _NFilter, T > Class Template Reference

Compute the mean normal of the input points. More...

#include <mean.h>

Inheritance diagram for MeanNormal< DataPoint, _NFilter, T >:
Collaboration diagram for MeanNormal< DataPoint, _NFilter, T >:

Public Types

using Scalar = typename DataPoint::Scalar
 Alias to scalar type.
using VectorType = typename Base::VectorType
 Alias to vector type.
using NeighborFilter = typename Base::NeighborFilter
 Alias to the filter applied on the neighbors.

Public Member Functions

MeanNormal< DataPoint, _NFilter, T > & meanNormal ()
 Explicit conversion to CLASSNAME, to access methods potentially hidden by heritage.
const MeanNormal< DataPoint, _NFilter, T > & meanNormal () const
 Explicit conversion to CLASSNAME, to access methods potentially hidden by heritage.
void init ()
 Set the evaluation position and reset the internal states.
void addLocalNeighbor (Scalar w, const VectorType &localQ, const DataPoint &attributes)
 Add a neighbor to perform the fit.

Protected Types

using Base = T
 Base class of the procedure.

Protected Attributes

VectorType m_sumN {VectorType::Zero()}
 Sum of the normal vectors.

Detailed Description

template<class DataPoint, class _NFilter, typename T>
requires ProvidesNormal<DataPoint>
class MeanNormal< DataPoint, _NFilter, T >

Compute the mean normal of the input points.

Warning
The mean normal is not stored explicitly, but rather computed from the sum of the neighbors normals.

This primitive respects:

ProvidesMeanNormal 
See also
MeanNormalDer

Definition at line 83 of file mean.h.

Member Typedef Documentation

◆ Base

template<class DataPoint, class _NFilter, typename T>
using MeanNormal< DataPoint, _NFilter, T >::Base = T
protected

Base class of the procedure.

Definition at line 85 of file mean.h.

◆ NeighborFilter

template<class DataPoint, class _NFilter, typename T>
using MeanNormal< DataPoint, _NFilter, T >::NeighborFilter = typename Base::NeighborFilter

Alias to the filter applied on the neighbors.

Definition at line 85 of file mean.h.

◆ Scalar

template<class DataPoint, class _NFilter, typename T>
using MeanNormal< DataPoint, _NFilter, T >::Scalar = typename DataPoint::Scalar

Alias to scalar type.

Definition at line 85 of file mean.h.

◆ VectorType

template<class DataPoint, class _NFilter, typename T>
using MeanNormal< DataPoint, _NFilter, T >::VectorType = typename Base::VectorType

Alias to vector type.

Definition at line 85 of file mean.h.

Member Function Documentation

◆ addLocalNeighbor()

template<class DataPoint, class _NFilter, typename T>
requires ProvidesNormal<DataPoint>
void MeanNormal< DataPoint, _NFilter, T >::addLocalNeighbor ( Scalar w,
const VectorType & localQ,
const DataPoint & attributes )
inline

Add a neighbor to perform the fit.

Definition at line 36 of file mean.h.

◆ init()

template<class DataPoint, class _NFilter, typename T>
requires ProvidesNormal<DataPoint>
void MeanNormal< DataPoint, _NFilter, T >::init ( )
inline

Set the evaluation position and reset the internal states.

Warning
Must be called be for any computation (but * after #setNeighborFilter)

Definition at line 28 of file mean.h.

◆ meanNormal() [1/2]

template<class DataPoint, class _NFilter, typename T>
MeanNormal< DataPoint, _NFilter, T > & MeanNormal< DataPoint, _NFilter, T >::meanNormal ( )
inline

Explicit conversion to CLASSNAME, to access methods potentially hidden by heritage.

Definition at line 91 of file mean.h.

◆ meanNormal() [2/2]

template<class DataPoint, class _NFilter, typename T>
const MeanNormal< DataPoint, _NFilter, T > & MeanNormal< DataPoint, _NFilter, T >::meanNormal ( ) const
inline

Explicit conversion to CLASSNAME, to access methods potentially hidden by heritage.

Definition at line 91 of file mean.h.

Member Data Documentation

◆ m_sumN

template<class DataPoint, class _NFilter, typename T>
VectorType MeanNormal< DataPoint, _NFilter, T >::m_sumN {VectorType::Zero()}
protected

Sum of the normal vectors.

Definition at line 88 of file mean.h.