|
Ponca
bab7704293a2c36e5bed9dea40def7ba839bfe08
Point Cloud Analysis library
|
Generic class performing the Fit derivation. More...
#include <primitive.h>
Inheritance diagram for Ponca::PrimitiveDer< DataPoint, _NFilter, Type, T >:
Collaboration diagram for Ponca::PrimitiveDer< DataPoint, _NFilter, Type, 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. | |
| using | MatrixType = typename DataPoint::MatrixType |
| Alias to matrix type. | |
| typedef Eigen::Matrix< Scalar, DataPoint::Dim, NbDerivatives, DerStorageOrder > | VectorArray |
| Static array of scalars with a size adapted to the differentiation type. | |
| typedef Eigen::Matrix< Scalar, 1, NbDerivatives > | ScalarArray |
| Static array of scalars with a size adapted to the differentiation type. | |
Public Member Functions | |
| void | init () |
| void | addLocalNeighbor (Scalar w, const VectorType &localQ, const DataPoint &attributes, ScalarArray &dw) |
Static Public Member Functions | |
| static constexpr bool | isScaleDer () |
| State specified at compilation time to compute derivatives in scale. | |
| static constexpr bool | isSpaceDer () |
| State specified at compilation time to compute derivatives in space. | |
| static constexpr unsigned int | derDimension () |
| Number of dimensions used for the differentiation. | |
Protected Types | |
| enum | { Check = Base::PROVIDES_PRIMITIVE_BASE , PROVIDES_PRIMITIVE_DERIVATIVE } |
| using | Base = T |
| Base class of the procedure. | |
Protected Attributes | |
| ScalarArray | m_dSumW |
| Sum of weight derivatives. | |
Static Protected Attributes | |
| static constexpr int | NbDerivatives |
| static constexpr int | DerStorageOrder = (Type & FitSpaceDer) ? Eigen::RowMajor : Eigen::ColMajor |
Generic class performing the Fit derivation.
The differentiation can be done automatically in scale and/or space, by combining the enum values FitScaleDer and FitSpaceDer in the template parameter Type.
The differentiated values are stored in static arrays. The size of the arrays is computed with respect to the derivation type (scale and/or space) and the number of the dimension of the ambiant space. By convention, the scale derivatives are stored at index 0 when Type contains at least FitScaleDer. The size of these arrays can be known using derDimension(), and the differentiation type by isScaleDer() and isSpaceDer().
Thanks to the BasketDiff definition, we know that PrimitiveDer has Primitive as base class (through the Basket). As a result, this class first asks to compute the Fit, and if it works properly, compute the weight derivatives.
Definition at line 146 of file primitive.h.
|
protected |
Base class of the procedure.
Definition at line 148 of file primitive.h.
| using Ponca::PrimitiveDer< DataPoint, _NFilter, Type, T >::MatrixType = typename DataPoint::MatrixType |
Alias to matrix type.
Definition at line 149 of file primitive.h.
| using Ponca::PrimitiveDer< DataPoint, _NFilter, Type, T >::NeighborFilter = typename Base::NeighborFilter |
Alias to the filter applied on the neighbors.
Definition at line 148 of file primitive.h.
| using Ponca::PrimitiveDer< DataPoint, _NFilter, Type, T >::Scalar = typename DataPoint::Scalar |
Alias to scalar type.
Definition at line 148 of file primitive.h.
| typedef Eigen::Matrix<Scalar, 1, NbDerivatives> Ponca::PrimitiveDer< DataPoint, _NFilter, Type, T >::ScalarArray |
Static array of scalars with a size adapted to the differentiation type.
Definition at line 167 of file primitive.h.
| typedef Eigen::Matrix<Scalar, DataPoint::Dim, NbDerivatives, DerStorageOrder> Ponca::PrimitiveDer< DataPoint, _NFilter, Type, T >::VectorArray |
Static array of scalars with a size adapted to the differentiation type.
Definition at line 164 of file primitive.h.
| using Ponca::PrimitiveDer< DataPoint, _NFilter, Type, T >::VectorType = typename Base::VectorType |
Alias to vector type.
Definition at line 148 of file primitive.h.
|
protected |
| Enumerator | |
|---|---|
| Check | Provides base API for primitives. |
Definition at line 151 of file primitive.h.
|
inline |
Definition at line 189 of file primitive.h.
|
inlinestaticconstexpr |
Number of dimensions used for the differentiation.
Definition at line 214 of file primitive.h.
|
inline |
Definition at line 178 of file primitive.h.
|
inlinestaticconstexpr |
State specified at compilation time to compute derivatives in scale.
Definition at line 210 of file primitive.h.
|
inlinestaticconstexpr |
State specified at compilation time to compute derivatives in space.
Definition at line 212 of file primitive.h.
|
staticconstexprprotected |
Definition at line 160 of file primitive.h.
|
protected |
Sum of weight derivatives.
Definition at line 171 of file primitive.h.
|
staticconstexprprotected |
Definition at line 158 of file primitive.h.