Ponca  94e4a36411c3364f6192f97adfa8ceee67834d6e
Point Cloud Analysis library
Loading...
Searching...
No Matches
Ponca::CenteredNeighborhoodFrame< DataPoint > Class Template Reference

NeighborhoodFrame that express 3d points relatively to a prescribed center. More...

#include <weightFunc.h>

+ Inheritance diagram for Ponca::CenteredNeighborhoodFrame< DataPoint >:
+ Collaboration diagram for Ponca::CenteredNeighborhoodFrame< DataPoint >:

Public Types

using Scalar = typename DataPoint::Scalar
 Scalar type from DataPoint.
 
using VectorType = typename DataPoint::VectorType
 Vector type from DataPoint.
 

Public Member Functions

 CenteredNeighborhoodFrame (const VectorType &_evalPos=VectorType::Zero())
 
 CenteredNeighborhoodFrame (const DataPoint &_evalPoint)
 
void changeNeighborhoodFrame (const VectorType &_newEvalPos)
 Change neighborhood frame (move basis center)
 
VectorType convertToGlobalBasis (const VectorType &_q, bool _isPositionVector=true) const
 Convert query from local to global coordinate system, such as \(\mathbf{x}=\mathbf{x}'+\mathbf{p}\).
 
VectorType convertToLocalBasis (const VectorType &_q, bool _isPositionVector=true) const
 Convert query from global to local coordinate system, such as \(\mathbf{x}'=\mathbf{x}-\mathbf{p}\).
 
VectorType evalPos () const
 Get access to the stored points of evaluation.
 

Static Public Attributes

static constexpr bool hasLocalFrame = true
 Flag indicating that this class modifies the coordinates when passing from global to local.
 

Detailed Description

template<class DataPoint>
class Ponca::CenteredNeighborhoodFrame< DataPoint >

NeighborhoodFrame that express 3d points relatively to a prescribed center.

This class is useful to get all coordinates centered around a point, which ease weights computation, and limits issues with big numbers and rounding errors.

Express points \(\mathbf{x}\) relatively to a center \(\mathbf{p}\), ie. \(\mathbf{x}'=\mathbf{x}-\mathbf{p}\). This frame does not apply rotation.

Template Parameters
DataPointPoint type used for computation

Definition at line 27 of file weightFunc.h.

Member Typedef Documentation

◆ Scalar

template<class DataPoint >
using Ponca::CenteredNeighborhoodFrame< DataPoint >::Scalar = typename DataPoint::Scalar

Scalar type from DataPoint.

Definition at line 30 of file weightFunc.h.

◆ VectorType

template<class DataPoint >
using Ponca::CenteredNeighborhoodFrame< DataPoint >::VectorType = typename DataPoint::VectorType

Vector type from DataPoint.

Definition at line 32 of file weightFunc.h.

Constructor & Destructor Documentation

◆ CenteredNeighborhoodFrame() [1/2]

template<class DataPoint >
Ponca::CenteredNeighborhoodFrame< DataPoint >::CenteredNeighborhoodFrame ( const VectorType _evalPos = VectorType::Zero())
inlineexplicit

Definition at line 37 of file weightFunc.h.

◆ CenteredNeighborhoodFrame() [2/2]

template<class DataPoint >
Ponca::CenteredNeighborhoodFrame< DataPoint >::CenteredNeighborhoodFrame ( const DataPoint &  _evalPoint)
inlineexplicit

Definition at line 40 of file weightFunc.h.

Member Function Documentation

◆ changeNeighborhoodFrame()

template<class DataPoint >
void Ponca::CenteredNeighborhoodFrame< DataPoint >::changeNeighborhoodFrame ( const VectorType _newEvalPos)
inline

Change neighborhood frame (move basis center)

Definition at line 44 of file weightFunc.h.

◆ convertToGlobalBasis()

template<class DataPoint >
VectorType Ponca::CenteredNeighborhoodFrame< DataPoint >::convertToGlobalBasis ( const VectorType _q,
bool  _isPositionVector = true 
) const
inline

Convert query from local to global coordinate system, such as \(\mathbf{x}=\mathbf{x}'+\mathbf{p}\).

Parameters
_qVector expressed relatively to the basis center
_isPositionVectorIndicate if the input vector _q is a position that is influenced by translations (e.g., in contrast to displacement or normal vectors)
Returns
Vector expressed in the global coordinate system
See also
convertToLocalBasis

Definition at line 55 of file weightFunc.h.

◆ convertToLocalBasis()

template<class DataPoint >
VectorType Ponca::CenteredNeighborhoodFrame< DataPoint >::convertToLocalBasis ( const VectorType _q,
bool  _isPositionVector = true 
) const
inline

Convert query from global to local coordinate system, such as \(\mathbf{x}'=\mathbf{x}-\mathbf{p}\).

Parameters
_qInput Vector in global coordinate system
_isPositionVectorIndicate if the input vector _q is a position that is influenced by translations (e.g., in contrast to displacement or normal vectors)
Returns
Vector expressed relatively to the basis center
See also
convertToGlobalBasis

Definition at line 70 of file weightFunc.h.

◆ evalPos()

template<class DataPoint >
VectorType Ponca::CenteredNeighborhoodFrame< DataPoint >::evalPos ( ) const
inline

Get access to the stored points of evaluation.

Returns
Position of the local basis center

Definition at line 79 of file weightFunc.h.

Member Data Documentation

◆ hasLocalFrame

template<class DataPoint >
constexpr bool Ponca::CenteredNeighborhoodFrame< DataPoint >::hasLocalFrame = true
staticconstexpr

Flag indicating that this class modifies the coordinates when passing from global to local.

Definition at line 35 of file weightFunc.h.