Ponca
aa50bfdf187919869239c5b44b748842569114c1
Point Cloud Analysis library
|
Aggregator class used to declare specialized structures with derivatives computations, using CRTP. More...
#include <basket.h>
Public Types | |
using | Base = typename internal::BasketDiffAggregate< BasketType, Type, Ext0, Exts... >::type |
Base type, which aggregates all the computational objects using the CRTP. | |
using | WeightFunction = typename BasketType::WeightFunction |
Weighting function. | |
using | DataPoint = typename BasketType::DataPoint |
Point type used for computation. | |
using | Scalar = typename DataPoint::Scalar |
Scalar type used for computation, as defined from Basket. | |
Public Member Functions | |
template<typename IteratorBegin , typename IteratorEnd > | |
FIT_RESULT | compute (const IteratorBegin &begin, const IteratorEnd &end) |
Convenience function for STL-like iterators | |
template<typename IndexRange , typename PointContainer > | |
FIT_RESULT | computeWithIds (IndexRange ids, const PointContainer &points) |
Convenience function to iterate over a subset of samples in a PointContainer | |
template<typename Container > | |
FIT_RESULT | compute (const Container &c) |
Convenience function for STL-like iterators | |
bool | addNeighbor (const DataPoint &_nei) |
Add a neighbor to perform the fit. | |
Aggregator class used to declare specialized structures with derivatives computations, using CRTP.
This is one of the central classes of the library (even if it does not perform any computation on its own). Checkout Fitting Module: User Manual for more details, and Basket class.
The various implementations of Ponca::Concept are mixed through specializations of the BasketDiff and Basket classes:
BasketType | Existing Basket, to be differentiated |
Type | Differentiation space: FitScaleDer, FitSpaceDer, or FitScaleDer|FitSpaceDer |
Ext0 | Implements ComputationalDerivativesConcept |
Exts | Implements ComputationalDerivativesConcept (optional) |
using Ponca::BasketDiff< BasketType, Type, Ext0, Exts >::Base = typename internal::BasketDiffAggregate<BasketType, Type, Ext0, Exts...>::type |
using Ponca::BasketDiff< BasketType, Type, Ext0, Exts >::DataPoint = typename BasketType::DataPoint |
using Ponca::BasketDiff< BasketType, Type, Ext0, Exts >::Scalar = typename DataPoint::Scalar |
using Ponca::BasketDiff< BasketType, Type, Ext0, Exts >::WeightFunction = typename BasketType::WeightFunction |
|
inline |
Add a neighbor to perform the fit.
When called directly, don't forget to call PrimitiveBase::startNewPass when starting multiple passes
|
inline |
Convenience function for STL-like iterators
Add neighbors stored in a container using STL-like iterators, and call finalize at the end.
The fit is evaluated multiple time if needed (see NEED_OTHER_PASS)
|
inline |
Convenience function for STL-like iterators
Add neighbors stored in a container using STL-like iterators, and call finalize at the end.
The fit is evaluated multiple time if needed (see NEED_OTHER_PASS)
|
inline |
Convenience function to iterate over a subset of samples in a PointContainer
Add neighbors stored in a PointContainer and sampled using indices stored in ids.
IndexRange | STL-Like range storing indices of the neighbors |
PointContainer | STL-like container storing the points |