Ponca  cfb0fcc680f97b3ab7288990161ce80053655869
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 MeanNormal , to access methods potentially hidden by heritage.
 
const MeanNormal< DataPoint, _NFilter, T > & meanNormal () const
 Explicit conversion to MeanNormal , 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

enum  { PROVIDES_MEAN_NORMAL }
 
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>
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 provides:

PROVIDES_MEAN_NORMAL 
See also
MeanNormalDer

Definition at line 84 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 86 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 86 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 86 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 86 of file mean.h.

Member Enumeration Documentation

◆ anonymous enum

template<class DataPoint , class _NFilter , typename T >
anonymous enum
protected

Definition at line 89 of file mean.h.

Member Function Documentation

◆ addLocalNeighbor()

template<class DataPoint , class _NFilter , typename T >
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 33 of file mean.hpp.

◆ init()

template<class DataPoint , class _NFilter , typename T >
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 26 of file mean.hpp.

◆ meanNormal() [1/2]

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

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

Definition at line 96 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 MeanNormal , to access methods potentially hidden by heritage.

Definition at line 96 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 93 of file mean.h.