Ponca  2cfe00173bb12dda99e12b2b48a0e1f683bc5cdd
Point Cloud Analysis library
Loading...
Searching...
No Matches
Ponca Namespace Reference

This Source Code Form is subject to the terms of the Mozilla Public License, v. More...

Namespaces

namespace  internal
 Copyright (c) 2022 Jacques-Olivier Lachaud (jacqu.nosp@m.es-o.nosp@m.livie.nosp@m.r.la.nosp@m.chaud.nosp@m.@uni.nosp@m.v-sav.nosp@m.oie..nosp@m.fr) Laboratory of Mathematics (CNRS, UMR 5807), University of Savoie, France,.

Classes

class  BitSet
 A simple BitSet implementation that mimics a set of indices. More...
struct  HashDefaultFunctor
class  HashSet
 Stores unique signed integer values in a contiguous array. More...
class  LimitedPriorityQueue
 The LimitedPriorityQueue class is similar to std::priority_queue but has a limited capacity and handles the comparison differently. More...
class  Stack
 Stack with fixed-size storage. More...
class  PointPositionNormal
 Point data type containing the position and normal vectors. More...
class  PointPosition
 Point data type containing only containing the position vector. More...
class  PointPositionNormalBinding
 Variant of the PointPositionNormal data type that uses external raw data. More...
class  PointPositionNormalLazyBinding
 Variant of the PointPositionNormal data type that uses external raw data. More...
struct  StringLiteral
 StringLiteral as template parameters. More...
struct  BasketComputeObject
 Base ComputeObject for the Basket classes. More...
class  BasketDiff
 Aggregator class used to declare specialized structures with derivatives computations, using CRTP. More...
class  Basket
 Aggregator class used to declare specialized structures using CRTP. More...
class  BasketUnitBase
 Base class of any computation unit of a Basket. More...
class  BasketDiffUnitBase
 Base class of any computation unit of a BasketDiff. More...
class  GLSParam
 Growing Least Squares reparametrization of the OrientedSphereFit. More...
class  GLSDer
 Differentiation of GLSParam. More...
class  HeightField
 Internal base classe for height fields. More...
class  QuadraticHeightField
 Quadratic height field defined as \(h(u,v)=h_{uu}u^2 + h_{vv}v^2 + h_{uv}uv + h_u u + h_v v + h_c \). More...
class  RestrictedQuadraticHeightField
 Quadratic height field defined as \(h(u,v)=h_{uu}u^2 + h_{vv}v^2 + h_{uv}uv + h_c \). More...
class  MlsSphereFitDer
 Extension performing derivation of the mls surface. More...
class  FundamentalFormWeingartenEstimator
 Compute a Weingarten map from fundamental forms. More...
class  NormalDerivativeWeingartenEstimator
 Compute a Weingarten map from the spatial derivatives of the normal field \( N \). More...
struct  WeingartenCurvatureEstimator
 Compute principal curvatures from a base class providing fundamental forms. More...
struct  WeingartenCurvatureEstimatorDer
 Compute principal curvatures from a base class providing fundamental forms. More...
class  CovarianceLineFitImpl
 Line fitting procedure that minimize the orthogonal distance between the samples and the fitted primitive. More...
class  CovariancePlaneFitImpl
 Plane fitting procedure using only points position. More...
class  CovariancePlaneDerImpl
 [CovariancePlaneFit Definition] More...
class  MeanPlaneFitImpl
 Plane fitting procedure computing the mean position and orientation from oriented points. More...
class  MongePatch
 Monge Patch primitive, defined as \( \mathbf{x}(u,v)= (u,v,h(u,v)) \), with \(h(u,v)\) defined by a Base class. More...
class  MongePatchQuadraticFitImpl
 Extension to compute the best fit quadric on 3d points expressed as \(f(u,v)=h\). More...
class  MongePatchRestrictedQuadraticFitImpl
 Extension to compute the best fit restricted quadric on 3d points expressed as \(f(u,v)=h\). More...
class  OrientedSphereFitImpl
 Algebraic Sphere fitting procedure on oriented point sets. More...
class  OrientedSphereDerImpl
 [OrientedSphereFit Definition] More...
class  SphereFitImpl
 Algebraic Sphere fitting procedure on point set without normals. More...
class  UnorientedSphereFitImpl
 Algebraic Sphere fitting procedure on point sets with non-oriented normals. More...
class  UnorientedSphereDerImpl
class  AlgebraicSphere
 Algebraic Sphere primitive. More...
class  Line
 A parametrized line is defined by an origin point \(\mathbf{o}\) and a unit direction vector \(\overrightarrow{\mathbf{d}}\) such that the line corresponds to the set \(l(t)=\mathbf{o}+t\overrightarrow{\mathbf{d}}, t\in \mathbb{R}\). More...
class  Plane
 Implicit hyperplane defined by an homogeneous vector \(\mathbf{p}\). More...
class  CovarianceBase
 Procedure that compute and decompose the covariance matrix of the neighbors positions. More...
class  CovarianceDer
 Internal generic class computing the derivatives of covariance matrix computed by covarianceBase. More...
class  DryFit
 Empty fitting object doing no computation. More...
class  MeanPosition
 Compute the barycenter of the input points. More...
class  MultipassStatus
 Helper class to check for status of required extensions. More...
class  CNC
 Corrected Normal Current Fit type. More...
struct  ComputeObject
 ComputeObject is a virtual object that represents an algorithm which can be used with the compute functions. More...
struct  SingleEvaluationScheme
 SingleEvaluationScheme. More...
struct  MLSEvaluationScheme
 Computes the fit using the Moving Least Squares approach. More...
struct  DirectProjectionOperator
 Project a point using the primitive projection operator. More...
struct  GradientDescentProjectionOperator
 Project a point using the gradinet of the sdf. More...
struct  hasFirstFundamentalForm
 \FIXME create a macro to automatically generate the testing functions More...
struct  hasFirstFundamentalForm< T, std::void_t< decltype(std::declval< T >().firstFundamentalForm())> >
struct  Factory
 Default factory templated on Point, Filter and Derivative. More...
struct  Factory< P, NF, DerType >
 Default factory templated on Point, Filter and Derivative. More...
struct  MethodProvider
 Class to check for if an entry has a corresponding Id. More...
struct  DerivativesProvider
struct  NotDerivativesProvider
struct  ProjectionOperatorProvider
struct  NotProjectionOperatorProvider
struct  ImplicitPrimitiveProvider
struct  NotImplicitPrimitiveProvider
struct  AlgebraicSphereProvider
struct  NotAlgebraicSphereProvider
struct  MeanPositionProvider
struct  NotMeanPositionProvider
struct  MeanNormalProvider
struct  NotMeanNormalProvider
struct  GLSParamProvider
struct  NotGLSParamProvider
struct  GeomVarProvider
struct  NotGeomVarProvider
struct  PlaneProvider
struct  NotPlaneProvider
struct  LineProvider
struct  NotLineProvider
struct  HeightFieldProvider
struct  NotHeightFieldProvider
struct  MongePatchProvider
struct  NotMongePatchProvider
struct  PositionCovarianceProvider
struct  NotPositionCovarianceProvider
struct  PrincipalCurvaturesProvider
struct  NotPrincipalCurvaturesProvider
struct  TangentPlaneBasisProvider
struct  NotTangentPlaneBasisProvider
struct  MeanCurvatureProvider
struct  NotMeanCurvatureProvider
struct  FactoryEntry
 Factory entry. More...
class  CenteredNeighborhoodFrame
 NeighborhoodFrame that express 3d points relatively to a prescribed center. More...
class  GlobalNeighborhoodFrame
 NeighborhoodFrame that keep points in the global frame without applying any transformation This class is useful to compute direct fits in the embedding space, without paying the cost to express neighbors relatively to an evaluation point. More...
class  DistWeightFilter
 Weight neighbors according to the Euclidean distance between a query and a reference position. More...
class  FilterWithAttributes
 This class extends a NeighborFilter class to also store additional data, for use outside the scope of this class. More...
struct  NoWeightFilter
 Weighting function that set uniform weight to all samples, but transform neighbors coordinates to local frame. More...
struct  NoWeightFilterGlobal
 Weighting function that set uniform weight to all samples and keep neighbors coordinates in global frame. More...
class  ConstantWeightKernel
 Concept::WeightKernelConcept returning a constant value. More...
class  SmoothWeightKernel
 Compact smooth WeightKernel of 2nd degree, defined in \(\left[0 : 1\right]\) Special case of PolynomialSmoothWeightKernel<Scalar, 2, 2>. More...
class  PolynomialSmoothWeightKernel
 Compact generalised version of SmoothWeightKernel with arbitrary degrees : \( w(x)=(x^n-1)^m \). More...
class  WendlandWeightKernel
 Compact Wendland WeightKernel defined in \(\left[0 : 1\right]\). More...
class  SingularWeightKernel
 Compact singular WeightKernel defined in \(\left]0 : 1\right]\). More...
class  CompactExpWeightKernel
 Compact Exponential WeightKernel defined in \(\left[0 : 1\right]\). More...
class  GaussianWeightKernel
 Non-compact Gaussian WeightKernel. More...
struct  IndexSquaredDistance
 Associates an index with a distance. More...
class  KdTreeKNearestIterator
 Input iterator to read the KdTreeKNearestQueryBase object. More...
class  KdTreeNearestIterator
 Input iterator to read the KdTreeKNearestQueryBase object. More...
class  KdTreeRangeIterator
 Input iterator to read the KdTreeRangeQueryBase object. More...
class  KdTreeBase
 Constructor that allows the use of prebuilt KdTree containers. More...
class  KdTreeDenseBase
 Customizable base class for dense KdTree datastructure. More...
class  KdTreeSparseBase
 Customizable base class for KdTreeSparse datastructure. More...
struct  KdTree
 Abstract KdTree type with KdTreeDefaultTraits. More...
struct  StaticKdTree
 A KdTree type with KdTreeDefaultTraits that doesn't define the build function. More...
struct  KdTreeDense
 Public interface for dense KdTree datastructure. More...
struct  KdTreeSparse
 Public interface for sparse KdTree datastructure. More...
class  StaticKdTreeBase
 Customizable static base class for KdTree datastructure implementations. More...
struct  KdTreeDefaultInnerNode
struct  KdTreeDefaultLeafNode
class  KdTreeCustomizableNode
 The node type used by default by the kd-tree. More...
struct  KdTreeDefaultNode
struct  KdTreeDefaultTraits
 The default traits type used by the kd-tree. More...
struct  KdTreePointerTraits
 Variant to the KdTree Traits type that uses pointers as internal storage instead of an STL-like container. More...
class  KdTreeKNearestQueryBase
 Extension of the Query class that allows to read the result of a k-nearest neighbors search on the KdTree. More...
class  KdTreeNearestQueryBase
 Extension of the Query class that allows to read the result of a nearest neighbor search on the KdTree. More...
class  KdTreeQuery
 Query object that provides a method to search neighbors on the KdTree depending on a distance threshold. More...
class  KdTreeRangeQueryBase
 Extension of the Query class that allows to read the result of a range neighbors search on the KdTree. More...
struct  NeighborGraphBufferBase
 Internal structure storing the buffers used by a neighbor graph. More...
class  AbstractNeighborGraph
 Base class for neighbor graphs. More...
class  NeighborGraphOneConnectedIterator
 Base iterator class for NeighborGraphOneConnectedQuery. More...
class  NeighborGraphRangeQuery
 Extension of the Query class that allows to read the result of a range neighbor search on the KnnGraph. More...
class  NeighborGraphRangeIterator
 Input iterator to read the NeighborGraphRangeQuery object. More...
struct  KnnGraphBuffers
 Buffer class for StaticKnnGraphBase. More...
class  StaticKnnGraphBase
 Customizable base class for KnnGraph datastructure. More...
class  KnnGraphBase
struct  NeighborGraphBuffer
 Buffer class for StaticNeighborGraphBase. More...
class  StaticNeighborGraphBase
 Static generic neighbor graph (does not include build functions). More...
class  NeighborGraphBase
struct  NeighborGraphDefaultTraits
 The default traits type used by the neighbor graph. More...
struct  NeighborGraphPointerTraits
 Variant to the NeighborGraphDefaultTraits that uses pointers as internal storage instead of an STL-like container. More...
struct  NeighborGraphQueryOutputType
 Output type of the NeighborGraphOneConnectedQuery. More...
class  NeighborGraphOneConnectedQuery
 Extension of the Query class that allows to read the neighbors that are directly connected to the query point in the neighbor graph. More...
struct  QueryInputBase
 Base class for queries input type. More...
struct  QueryOutputBase
 Base class for queries output types. More...
struct  QueryInput
 Base class for Query input type. More...
struct  QueryInputIsIndex
 Extension of QueryInput that handles an index based search, in a partitioning structure. More...
struct  QueryInputIsPosition
 Extension of QueryInput that handles a position based search, in a partitioning structure. More...
struct  QueryOutputIsRange
 Class to construct the range query output. More...
struct  QueryOutputIsNearest
 Class to construct the nearest query output. More...
struct  QueryOutputIsKNearest
 Class to construct the knearest queries. More...
struct  Query
 Composes the Query object depending on an input type and output type. More...

Typedefs

template<class DataPoint, class _NFilter, typename T>
using CovarianceLineFit
 Helper alias for Line fitting on 3D points using CovarianceLineFitImpl.
template<class DataPoint, class _NFilter, typename T>
using CovariancePlaneFit
 Helper alias for Plane fitting on 3D points using CovariancePlaneFitImpl [CovariancePlaneFit Definition].
template<class DataPoint, class _NFilter, int DiffType, typename T>
using CovariancePlaneDer
 Helper alias for Plane fitting on 3D points using CovariancePlaneFitImpl.
template<class DataPoint, class _NFilter, typename T>
using MeanPlaneFit
 Helper alias for Plane fitting on points using MeanPlaneFitImpl [MeanPlaneFit Definition].
template<class DataPoint, class _NFilter, typename T>
using MongePatchQuadraticFit
template<class DataPoint, class _NFilter, typename T>
using MongePatchRestrictedQuadraticFit
template<class DataPoint, class _NFilter, typename T>
using OrientedSphereFit
 Helper alias for Oriented Sphere fitting on 3D points using OrientedSphereFitImpl [OrientedSphereFit Definition].
template<class DataPoint, class _NFilter, int DiffType, typename T>
using OrientedSphereDer
 Helper alias for Oriented Sphere fitting on 3D points using OrientedSphereDerImpl.
template<class DataPoint, class _NFilter, typename T>
using SphereFit = SphereFitImpl<DataPoint, _NFilter, AlgebraicSphere<DataPoint, _NFilter, T>>
 Helper alias for Sphere fitting on 3D points using SphereFitImpl.
template<class DataPoint, class _NFilter, typename T>
using UnorientedSphereFit
 Helper alias for Oriented Sphere fitting on 3D points using UnorientedSphereFitImpl.
template<class DataPoint, class _NFilter, int DiffType, typename T>
using UnorientedSphereDer
template<typename P, typename NF, int DerType>
using FactoryGenericList
template<typename P, typename NF, int DerType>
using Factory3DList
template<typename P, typename NF, int DerType>
using Factory3DSpaceDerivatives
template<typename Traits>
using KdTreeKNearestIndexQuery
 Extension of the Query class that allows to read the result of a k-nearest neighbors search on the KdTree.
template<typename Traits>
using KdTreeKNearestPointQuery
 Extension of the Query class that allows to read the result of a k-nearest neighbors search on the KdTree.
template<typename Traits>
using KdTreeNearestIndexQuery
 Extension of the Query class that allows to read the result of a nearest neighbor search on the KdTree.
template<typename Traits>
using KdTreeNearestPointQuery
 Extension of the Query class that allows to read the result of a nearest neighbor search on the KdTree.
template<typename Traits>
using KdTreeRangeIndexQuery
 Extension of the Query class that allows to read the result of a range neighbors search on the KdTree.
template<typename Traits>
using KdTreeRangePointQuery
 Extension of the Query class that allows to read the result of a range neighbors search on the KdTree.
template<typename DataPoint>
using KnnGraph = KnnGraphBase<NeighborGraphDefaultTraits<DataPoint>>
 Public interface for the KnnGraph datastructure.
template<typename DataPoint>
using NeighborGraph = NeighborGraphBase<NeighborGraphDefaultTraits<DataPoint>>
 Public interface for the NeighborGraph datastructure.
template<typename Index, typename DataPoint, int MAX_KNN_SIZE>
using KNearestPointQuery
 Base Query alias combining QueryInputIsIndex and QueryOutputIs##OUT_TYPE##.
template<typename Index, typename DataPoint>
using NearestPointQuery
template<typename Index, typename DataPoint>
using RangePointQuery
template<typename Index, typename Scalar, int MAX_KNN_SIZE>
using KNearestIndexQuery = Query<QueryInputIsIndex<Index>, QueryOutputIsKNearest<Index, Scalar, MAX_KNN_SIZE>>
template<typename Index, typename Scalar>
using NearestIndexQuery = Query<QueryInputIsIndex<Index>, QueryOutputIsNearest<Index, Scalar>>
template<typename Index, typename Scalar>
using RangeIndexQuery = Query<QueryInputIsIndex<Index>, QueryOutputIsRange<Index, Scalar>>

Enumerations

enum  TriangleGenerationMethod { UniformGeneration , HexagramGeneration , IndependentGeneration , AvgHexagramGeneration }
 \breif Generation method of the triangles for the Corrected Normal Current formula More...
enum  FIT_RESULT : unsigned char {
  STABLE = 0 , UNSTABLE = 1 , UNDEFINED = 2 , NEED_OTHER_PASS = 3 ,
  CONFLICT_ERROR_FOUND = 4 , NBMAX
}
 Enum corresponding to the state of a fitting method (and what the finalize function returns). More...
enum  DiffType : unsigned int { FitScaleDer = 0x01 , FitSpaceDer = 0x02 , FitScaleSpaceDer = FitScaleDer | FitSpaceDer }
 Flags defining which derivatives need to be computed. More...

Functions

template<typename DataPoint>
DataPoint getPointOnSphere (const typename DataPoint::Scalar _radius, const typename DataPoint::VectorType _vCenter, const bool _bAddPositionNoise=true, const bool _bAddNormalNoise=true, const bool _bReverseNormals=false)
 Generate points on a sphere.
template<typename VectorType>
VectorType getPointOnCircle (typename VectorType::Scalar _radius, VectorType _vCenter)
 Sample points on a circle in the xy plane.
template<typename DataPoint>
DataPoint getPointOnRectangularPlane (const typename DataPoint::VectorType &_vPosition, const typename DataPoint::VectorType &, const typename DataPoint::Scalar &_width, const typename DataPoint::Scalar &_height, const typename DataPoint::VectorType &_localxAxis, const typename DataPoint::VectorType &_localyAxis, const bool _bAddPositionNoise=true)
 Generate points on a plane without normals.
template<typename DataPoint>
DataPoint getPointOnPlane (const typename DataPoint::VectorType _vPosition, const typename DataPoint::VectorType _vNormal, const typename DataPoint::Scalar _radius, const bool _bAddPositionNoise=true, const bool _bAddNormalNoise=true, const bool _bReverseNormals=false)
 Generate points on a plane.
template<typename DataPoint>
DataPoint getPointOnParaboloid (const typename DataPoint::Scalar _a, const typename DataPoint::Scalar _b, const typename DataPoint::Scalar _s, const bool _bAddNoise=true)
 Generate point samples on the primitive z = ax^2 + by^2.
template<typename DataPoint>
DataPoint getPointOnParaboloid (typename DataPoint::Scalar _a, typename DataPoint::Scalar _b, typename DataPoint::Scalar _c, typename DataPoint::Scalar _d, typename DataPoint::Scalar _e, typename DataPoint::Scalar _f, typename DataPoint::Scalar _s, bool _bAddNoise=true)
 Generate point samples on the primitive z = ax^2 + by^2 Points (x,y) are generated in the interval [-_s, -s]^2 See getParaboloidZ and getParaboloidNormal.
template<typename DataPoint, typename Params>
DataPoint getPointOnParaboloid (const Params &_params, typename DataPoint::Scalar _s, bool _bAddNoise=true)
template<typename DataPoint>
DataPoint getRandomPoint ()
 Generate a random points.
constexpr bool strequal (const char *a, const char *b)
 Constexpr version of string comparison.
template<class DataPoint, class _NFilter, typename T>
Ponca::MeanPosition T barycenter () const
 where \(\left[\mathbf{p_i} \in \text{neighborhood}(\mathbf{x})\right]\) are all the point samples in \(\mathbf{x}\)'s neighborhood
Scalar barycenterDistance () const
 The distance between the barycenter and the basis center.

Variables

Ponca::MeanPosition f$

Detailed Description

This Source Code Form is subject to the terms of the Mozilla Public License, v.

2.0. If a copy of the MPL was not distributed with this file, You can obtain one at http://mozilla.org/MPL/2.0/.

Author
Thibault Lejemble

2.0. If a copy of the MPL was not distributed with this file, You can obtain one at http://mozilla.org/MPL/2.0/.

Author
Thibault Lejemble - Main source code
Nicolas Mellado - Improved error handling and bound check

Typedef Documentation

◆ CovarianceLineFit

template<class DataPoint, class _NFilter, typename T>
using Ponca::CovarianceLineFit
Initial value:
DataPoint, _NFilter,
Procedure that compute and decompose the covariance matrix of the neighbors positions.
Definition covariance.h:66
Line fitting procedure that minimize the orthogonal distance between the samples and the fitted primi...

Helper alias for Line fitting on 3D points using CovarianceLineFitImpl.

Definition at line 64 of file covarianceLineFit.h.

◆ CovariancePlaneDer

template<class DataPoint, class _NFilter, int DiffType, typename T>
using Ponca::CovariancePlaneDer
Initial value:
DataPoint, _NFilter, DiffType,
Internal generic class computing the derivatives of covariance matrix computed by covarianceBase.
Definition covariance.h:147
[CovariancePlaneFit Definition]
DiffType
Flags defining which derivatives need to be computed.
Definition enums.h:34

Helper alias for Plane fitting on 3D points using CovariancePlaneFitImpl.

Definition at line 124 of file covariancePlaneFit.h.

◆ CovariancePlaneFit

template<class DataPoint, class _NFilter, typename T>
using Ponca::CovariancePlaneFit
Initial value:

Helper alias for Plane fitting on 3D points using CovariancePlaneFitImpl [CovariancePlaneFit Definition].

Definition at line 80 of file covariancePlaneFit.h.

◆ Factory3DList

template<typename P, typename NF, int DerType>
using Ponca::Factory3DList
Initial value:
internal::Factory::tuple_cat_t<
FactoryGenericList<P, NF, DerType>,
std::tuple<
>
>
Aggregator class used to declare specialized structures using CRTP.
Definition basket.h:294
Corrected Normal Current Fit type.
Definition cnc.h:112
Factory entry.
Definition typelist.h:29

Definition at line 91 of file factorylist.h.

◆ Factory3DSpaceDerivatives

template<typename P, typename NF, int DerType>
using Ponca::Factory3DSpaceDerivatives
Initial value:
internal::Factory::tuple_cat_t<
Factory3DList<P, NF, DerType>,
std::tuple<
>
>
Aggregator class used to declare specialized structures with derivatives computations,...
Definition basket.h:230
Extension performing derivation of the mls surface.
Compute a Weingarten map from the spatial derivatives of the normal field .
Definition weingarten.h:111
OrientedSphereDerImpl< DataPoint, _NFilter, DiffType, MeanPositionDer< DataPoint, _NFilter, DiffType, T > > OrientedSphereDer
Helper alias for Oriented Sphere fitting on 3D points using OrientedSphereDerImpl.
Compute principal curvatures from a base class providing fundamental forms.
Definition weingarten.h:224

Definition at line 104 of file factorylist.h.

◆ FactoryGenericList

template<typename P, typename NF, int DerType>
using Ponca::FactoryGenericList

◆ KdTreeKNearestIndexQuery

template<typename Traits>
using Ponca::KdTreeKNearestIndexQuery
Initial value:
KNearestIndexQuery<typename Traits::IndexType, typename Traits::DataPoint::Scalar, Traits::MAX_KNN_SIZE>>
Input iterator to read the KdTreeKNearestQueryBase object.
Extension of the Query class that allows to read the result of a k-nearest neighbors search on the Kd...

Extension of the Query class that allows to read the result of a k-nearest neighbors search on the KdTree.

Output result of a KdTreeBase::kNearestNeighbors query made with the index of the point to evaluate.

See also
KNearestIndexQuery

Definition at line 84 of file kdTreeKNearestQueries.h.

◆ KdTreeKNearestPointQuery

template<typename Traits>
using Ponca::KdTreeKNearestPointQuery
Initial value:
Query< QueryInputIsPosition< DataPoint >, QueryOutputIsKNearest< Index, typename DataPoint::Scalar, MAX_KNN_SIZE > > KNearestPointQuery
Base Query alias combining QueryInputIsIndex and QueryOutputIs#OUT_TYPE##.
Definition query.h:352

Extension of the Query class that allows to read the result of a k-nearest neighbors search on the KdTree.

Output result of a KdTreeBase::kNearestNeighbors query made with the position of the point to evaluate.

See also
KNearestPointQuery

Definition at line 94 of file kdTreeKNearestQueries.h.

◆ KdTreeNearestIndexQuery

template<typename Traits>
using Ponca::KdTreeNearestIndexQuery
Initial value:
NearestIndexQuery<typename Traits::IndexType, typename Traits::DataPoint::Scalar>>
Input iterator to read the KdTreeKNearestQueryBase object.
Extension of the Query class that allows to read the result of a nearest neighbor search on the KdTre...

Extension of the Query class that allows to read the result of a nearest neighbor search on the KdTree.

Output result of a KdTreeBase::nearestNeighbor query made with the index of the point to evaluate.

See also
NearestIndexQuery

Definition at line 73 of file kdTreeNearestQueries.h.

◆ KdTreeNearestPointQuery

template<typename Traits>
using Ponca::KdTreeNearestPointQuery
Initial value:
NearestPointQuery<typename Traits::IndexType, typename Traits::DataPoint>>

Extension of the Query class that allows to read the result of a nearest neighbor search on the KdTree.

Output result of a KdTreeBase::nearestNeighbor query made with the position of the point to evaluate.

See also
NearestPointQuery

Definition at line 84 of file kdTreeNearestQueries.h.

◆ KdTreeRangeIndexQuery

template<typename Traits>
using Ponca::KdTreeRangeIndexQuery
Initial value:
RangeIndexQuery<typename Traits::IndexType, typename Traits::DataPoint::Scalar>>
Input iterator to read the KdTreeRangeQueryBase object.
Extension of the Query class that allows to read the result of a range neighbors search on the KdTree...

Extension of the Query class that allows to read the result of a range neighbors search on the KdTree.

Output result of a KdTreeBase::rangeNeighbors query made with the index of the point to evaluate.

See also
RangeIndexQuery

Definition at line 124 of file kdTreeRangeQueries.h.

◆ KdTreeRangePointQuery

template<typename Traits>
using Ponca::KdTreeRangePointQuery
Initial value:
RangePointQuery<typename Traits::IndexType, typename Traits::DataPoint>>

Extension of the Query class that allows to read the result of a range neighbors search on the KdTree.

Output result of a KdTreeBase::rangeNeighbors query made with the position of the point to evaluate.

See also
RangePointQuery

Definition at line 134 of file kdTreeRangeQueries.h.

◆ KnnGraph

template<typename DataPoint>
using Ponca::KnnGraph = KnnGraphBase<NeighborGraphDefaultTraits<DataPoint>>

Public interface for the KnnGraph datastructure.

Provides default implementation of the KnnGraph

See also
NeighborGraphDefaultTraits for the default trait interface documentation.
KnnGraphBase, AbstractNeighborGraph for complete API

Definition at line 180 of file knnGraph.h.

◆ MeanPlaneFit

template<class DataPoint, class _NFilter, typename T>
using Ponca::MeanPlaneFit
Initial value:
DataPoint, _NFilter,
Compute the mean normal of the input points.
Definition mean.h:84
Plane fitting procedure computing the mean position and orientation from oriented points.

Helper alias for Plane fitting on points using MeanPlaneFitImpl [MeanPlaneFit Definition].

Definition at line 58 of file meanPlaneFit.h.

◆ MongePatchQuadraticFit

template<class DataPoint, class _NFilter, typename T>
using Ponca::MongePatchQuadraticFit
Initial value:
DataPoint, _NFilter,
DataPoint, _NFilter,
DataPoint, _NFilter,
MongePatch<DataPoint, _NFilter,
DataPoint, _NFilter,
Compute a Weingarten map from fundamental forms.
Definition weingarten.h:42
Internal base classe for height fields.
Definition heightField.h:30
Extension to compute the best fit quadric on 3d points expressed as .
Definition mongePatch.h:137
Monge Patch primitive, defined as , with defined by a Base class.
Definition mongePatch.h:43
Quadratic height field defined as .
Definition heightField.h:83
Compute principal curvatures from a base class providing fundamental forms.
Definition weingarten.h:215

Definition at line 179 of file mongePatch.h.

◆ MongePatchRestrictedQuadraticFit

template<class DataPoint, class _NFilter, typename T>
using Ponca::MongePatchRestrictedQuadraticFit
Initial value:
DataPoint, _NFilter,
DataPoint, _NFilter,
DataPoint, _NFilter,
MongePatch<DataPoint, _NFilter,
DataPoint, _NFilter,
Extension to compute the best fit restricted quadric on 3d points expressed as .
Definition mongePatch.h:163
Quadratic height field defined as .

Definition at line 191 of file mongePatch.h.

◆ NeighborGraph

template<typename DataPoint>
using Ponca::NeighborGraph = NeighborGraphBase<NeighborGraphDefaultTraits<DataPoint>>

Public interface for the NeighborGraph datastructure.

Provides default implementation of the NeighborGraph

See also
NeighborGraphDefaultTraits for the default trait interface documentation.
NeighborGraphBase, AbstractNeighborGraph for complete API

Definition at line 156 of file neighborGraph.h.

◆ OrientedSphereDer

template<class DataPoint, class _NFilter, int DiffType, typename T>
using Ponca::OrientedSphereDer
Initial value:

Helper alias for Oriented Sphere fitting on 3D points using OrientedSphereDerImpl.

Definition at line 135 of file orientedSphereFit.h.

◆ OrientedSphereFit

template<class DataPoint, class _NFilter, typename T>
using Ponca::OrientedSphereFit
Initial value:
DataPoint, _NFilter,
Compute the barycenter of the input points.
Definition mean.h:29
Algebraic Sphere fitting procedure on oriented point sets.

Helper alias for Oriented Sphere fitting on 3D points using OrientedSphereFitImpl [OrientedSphereFit Definition].

Definition at line 53 of file orientedSphereFit.h.

◆ SphereFit

template<class DataPoint, class _NFilter, typename T>
using Ponca::SphereFit = SphereFitImpl<DataPoint, _NFilter, AlgebraicSphere<DataPoint, _NFilter, T>>

Helper alias for Sphere fitting on 3D points using SphereFitImpl.

Definition at line 89 of file sphereFit.h.

◆ UnorientedSphereDer

template<class DataPoint, class _NFilter, int DiffType, typename T>
using Ponca::UnorientedSphereDer

◆ UnorientedSphereFit

template<class DataPoint, class _NFilter, typename T>
using Ponca::UnorientedSphereFit
Initial value:
UnorientedSphereFitImpl<DataPoint, _NFilter,
Algebraic Sphere fitting procedure on point sets with non-oriented normals.

Helper alias for Oriented Sphere fitting on 3D points using UnorientedSphereFitImpl.

Definition at line 82 of file unorientedSphereFit.h.

Enumeration Type Documentation

◆ DiffType

enum Ponca::DiffType : unsigned int

Flags defining which derivatives need to be computed.

Warning
Flags have to be combined using |
Enumerator
FitScaleDer 

Flag indicating a scale differentiation.

FitSpaceDer 

Flag indicating a space differentiation.

FitScaleSpaceDer 

Flag indicating a scale-space differentiation.

Definition at line 33 of file enums.h.

◆ FIT_RESULT

enum Ponca::FIT_RESULT : unsigned char

Enum corresponding to the state of a fitting method (and what the finalize function returns).

Enumerator
STABLE 

The fitting is stable and ready to use.

UNSTABLE 

The fitting is ready to use but it is considered as unstable (if the number of neighbors is low for example).

UNDEFINED 

The fitting is undefined, you can't use it for valid results.

NEED_OTHER_PASS 

The fitting procedure needs to analyse the neighborhood another time.

CONFLICT_ERROR_FOUND 

Multiple classes of the fitting procedure initialize the primitive.

Should be treated as error.

NBMAX 

Nb enums.

Definition at line 14 of file enums.h.

◆ TriangleGenerationMethod

\breif Generation method of the triangles for the Corrected Normal Current formula

Definition at line 92 of file cnc.h.

Function Documentation

◆ barycenter()

template<class DataPoint, class _NFilter, typename T>
Ponca::MeanPosition T Ponca::barycenter ( ) const

where \(\left[\mathbf{p_i} \in \text{neighborhood}(\mathbf{x})\right]\) are all the point samples in \(\mathbf{x}\)'s neighborhood

Definition at line 70 of file mean.h.

◆ barycenterDistance()

Scalar Ponca::barycenterDistance ( ) const
inline

The distance between the barycenter and the basis center.

Returns
0 for invalid fits

Definition at line 54 of file mean.h.

◆ getPointOnCircle()

template<typename VectorType>
VectorType Ponca::getPointOnCircle ( typename VectorType::Scalar _radius,
VectorType _vCenter )
nodiscard

Sample points on a circle in the xy plane.

Definition at line 61 of file pointGeneration.h.

◆ getPointOnParaboloid() [1/3]

template<typename DataPoint, typename Params>
DataPoint Ponca::getPointOnParaboloid ( const Params & _params,
typename DataPoint::Scalar _s,
bool _bAddNoise = true )
nodiscard

Definition at line 262 of file pointGeneration.h.

◆ getPointOnParaboloid() [2/3]

template<typename DataPoint>
DataPoint Ponca::getPointOnParaboloid ( const typename DataPoint::Scalar _a,
const typename DataPoint::Scalar _b,
const typename DataPoint::Scalar _s,
const bool _bAddNoise = true )
nodiscard

Generate point samples on the primitive z = ax^2 + by^2.

Points (x,y) are generated in the interval [-_s, -s]^2

Definition at line 209 of file pointGeneration.h.

◆ getPointOnParaboloid() [3/3]

template<typename DataPoint>
DataPoint Ponca::getPointOnParaboloid ( typename DataPoint::Scalar _a,
typename DataPoint::Scalar _b,
typename DataPoint::Scalar _c,
typename DataPoint::Scalar _d,
typename DataPoint::Scalar _e,
typename DataPoint::Scalar _f,
typename DataPoint::Scalar _s,
bool _bAddNoise = true )
nodiscard

Generate point samples on the primitive z = ax^2 + by^2 Points (x,y) are generated in the interval [-_s, -s]^2 See getParaboloidZ and getParaboloidNormal.

Definition at line 235 of file pointGeneration.h.

◆ getPointOnPlane()

template<typename DataPoint>
DataPoint Ponca::getPointOnPlane ( const typename DataPoint::VectorType _vPosition,
const typename DataPoint::VectorType _vNormal,
const typename DataPoint::Scalar _radius,
const bool _bAddPositionNoise = true,
const bool _bAddNormalNoise = true,
const bool _bReverseNormals = false )
nodiscard

Generate points on a plane.

Definition at line 107 of file pointGeneration.h.

◆ getPointOnRectangularPlane()

template<typename DataPoint>
DataPoint Ponca::getPointOnRectangularPlane ( const typename DataPoint::VectorType & _vPosition,
const typename DataPoint::VectorType & ,
const typename DataPoint::Scalar & _width,
const typename DataPoint::Scalar & _height,
const typename DataPoint::VectorType & _localxAxis,
const typename DataPoint::VectorType & _localyAxis,
const bool _bAddPositionNoise = true )
nodiscard

Generate points on a plane without normals.

Definition at line 80 of file pointGeneration.h.

◆ getPointOnSphere()

template<typename DataPoint>
DataPoint Ponca::getPointOnSphere ( const typename DataPoint::Scalar _radius,
const typename DataPoint::VectorType _vCenter,
const bool _bAddPositionNoise = true,
const bool _bAddNormalNoise = true,
const bool _bReverseNormals = false )
nodiscard

Generate points on a sphere.

Definition at line 25 of file pointGeneration.h.

◆ getRandomPoint()

template<typename DataPoint>
DataPoint Ponca::getRandomPoint ( )
nodiscard

Generate a random points.

Definition at line 271 of file pointGeneration.h.

◆ strequal()

bool Ponca::strequal ( const char * a,
const char * b )
inlineconstexpr

Constexpr version of string comparison.

At the time of writting this function, strcmp is not constexpr and hence can not be used in templated code.

Parameters
aFirst string
bSecond string

Definition at line 32 of file typeutils.h.