Ponca  7df32c91629c89b89840c4d7917cb272433f2d2b
Point Cloud Analysis library
Loading...
Searching...
No Matches
Ponca::internal Namespace Reference

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,. More...

Classes

class  CenteredNeighborhoodFrame
 NeighborhoodFrame that express 3d points relatively to a prescribed center. More...
 
struct  CNCEigen
 This class contains some stand-alone CorrectedNormalCurrent formulas for triangles, using eigen as linear algebra backend. More...
 
class  CurvatureEstimatorBase
 Base class for any 3d curvature estimator: holds \(k_{\min}\), \(k_{\max}\) and associated vectors, such that \( k_{\min} <= k_{\max} \). 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...
 
struct  HexagramBase
 
class  NoWeightFuncBase
 Weighting function that set uniform weight to all samples. More...
 
struct  Triangle
 Stores the three points and normals of the triangles and provides access to Corrected Normal Current formula. More...
 
struct  TriangleGenerator
 
struct  TriangleGenerator< AvgHexagramGeneration, P >
 
struct  TriangleGenerator< HexagramGeneration, P >
 
struct  TriangleGenerator< IndependentGeneration, P >
 
struct  TriangleGenerator< UniformGeneration, P >
 
class  WeingartenCurvatureEstimatorBase
 Compute principal curvatures from a base class providing fundamental forms. More...
 

Functions

template<class ForwardIt , class T = typename std::iterator_traits<ForwardIt>::value_type>
void fill (ForwardIt first, ForwardIt last, const T &value)
 Assigns the given value to all elements in the range [first, last).
 
template<class ForwardIt , class T = typename std::iterator_traits<ForwardIt>::value_type, class Compare >
ForwardIt upperBound (ForwardIt first, ForwardIt last, const T &value, Compare comp)
 Searches for the first element in the partitioned range [first, last) which is ordered after value.
 
template<class BidirIt1 , class BidirIt2 >
BidirIt2 copyBackward (BidirIt1 first, BidirIt1 last, BidirIt2 d_last)
 Copies the elements from the range [first, last) to another range ending at d_last.
 
template<typename Scalar >
Scalar getParaboloidZ (const Scalar _x, const Scalar _y, const Scalar _a, const Scalar _b)
 Generate z value using the equation z = ax^2 + by^2.
 
template<typename Scalar >
Scalar getParaboloidZ (Scalar _x, Scalar _y, Scalar _a, Scalar _b, Scalar _c, Scalar _d, Scalar _e, Scalar _f)
 Generate z value using the equation z = ax^2 + by^2 + cxy + dx + ey + f.
 
template<typename VectorType >
VectorType getParaboloidNormal (const VectorType &in, const typename VectorType::Scalar _a, const typename VectorType::Scalar _b)
 Generate z value using the equation z = ax^2 + by^2.
 
template<typename DataPoint >
std::enable_if< Ponca::hasNormal< DataPoint >::value, void >::type getParaboloidNormal (DataPoint &in, typename DataPoint::Scalar _a, typename DataPoint::Scalar _b, typename DataPoint::Scalar _c, typename DataPoint::Scalar _d, typename DataPoint::Scalar _e, typename DataPoint::Scalar _f)
 
template<typename DataPoint >
std::enable_if<!Ponca::hasNormal< DataPoint >::value, void >::type getParaboloidNormal (DataPoint &in, typename DataPoint::Scalar _a, typename DataPoint::Scalar _b, typename DataPoint::Scalar _c, typename DataPoint::Scalar _d, typename DataPoint::Scalar _e, typename DataPoint::Scalar _f)
 

Detailed Description

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,.

All rights reserved.

Function Documentation

◆ copyBackward()

template<class BidirIt1 , class BidirIt2 >
BidirIt2 Ponca::internal::copyBackward ( BidirIt1  first,
BidirIt1  last,
BidirIt2  d_last 
)

Copies the elements from the range [first, last) to another range ending at d_last.

The elements are copied in reverse order (the last element is copied first), but their relative order is preserved.

Warning
The behavior is undefined if d_last is within (first, last].
Template Parameters
BidirIt1must meet the requirements of LegacyBidirectionalIterator
BidirIt2must meet the requirements of LegacyBidirectionalIterator
Parameters
firstIterator defining the beginning of the range of elements to copy from (the source)
lastIterator defining the end of the range of elements to copy from (the source)
d_lastThe end of the destination range
See also
https://en.cppreference.com/cpp/algorithm/copy_backward

Definition at line 97 of file iteratorUtils.h.

◆ fill()

template<class ForwardIt , class T = typename std::iterator_traits<ForwardIt>::value_type>
void Ponca::internal::fill ( ForwardIt  first,
ForwardIt  last,
const T &  value 
)

Assigns the given value to all elements in the range [first, last).

Note
If value is not writable to first, the program is ill-formed.
Template Parameters
ForwardItForwardIt must meet the requirements of LegacyForwardIterator
TThe type of the value to be assigned
Parameters
firstIterator defining the beginning of the range of elements to modify
lastIterator defining the end of the range of elements to modify
valuethe value to be assigned
See also
https://en.cppreference.com/cpp/algorithm/fill

Definition at line 31 of file iteratorUtils.h.

◆ getParaboloidNormal() [1/3]

template<typename VectorType >
VectorType Ponca::internal::getParaboloidNormal ( const VectorType &  in,
const typename VectorType::Scalar  _a,
const typename VectorType::Scalar  _b 
)
inline

Generate z value using the equation z = ax^2 + by^2.

Definition at line 184 of file pointGeneration.h.

◆ getParaboloidNormal() [2/3]

template<typename DataPoint >
std::enable_if< Ponca::hasNormal< DataPoint >::value, void >::type Ponca::internal::getParaboloidNormal ( DataPoint &  in,
typename DataPoint::Scalar  _a,
typename DataPoint::Scalar  _b,
typename DataPoint::Scalar  _c,
typename DataPoint::Scalar  _d,
typename DataPoint::Scalar  _e,
typename DataPoint::Scalar  _f 
)
inline

Definition at line 191 of file pointGeneration.h.

◆ getParaboloidNormal() [3/3]

template<typename DataPoint >
std::enable_if<!Ponca::hasNormal< DataPoint >::value, void >::type Ponca::internal::getParaboloidNormal ( DataPoint &  in,
typename DataPoint::Scalar  _a,
typename DataPoint::Scalar  _b,
typename DataPoint::Scalar  _c,
typename DataPoint::Scalar  _d,
typename DataPoint::Scalar  _e,
typename DataPoint::Scalar  _f 
)
inline

Definition at line 203 of file pointGeneration.h.

◆ getParaboloidZ() [1/2]

template<typename Scalar >
Scalar Ponca::internal::getParaboloidZ ( const Scalar  _x,
const Scalar  _y,
const Scalar  _a,
const Scalar  _b 
)
inline

Generate z value using the equation z = ax^2 + by^2.

Definition at line 169 of file pointGeneration.h.

◆ getParaboloidZ() [2/2]

template<typename Scalar >
Scalar Ponca::internal::getParaboloidZ ( Scalar  _x,
Scalar  _y,
Scalar  _a,
Scalar  _b,
Scalar  _c,
Scalar  _d,
Scalar  _e,
Scalar  _f 
)
inline

Generate z value using the equation z = ax^2 + by^2 + cxy + dx + ey + f.

Definition at line 176 of file pointGeneration.h.

◆ upperBound()

template<class ForwardIt , class T = typename std::iterator_traits<ForwardIt>::value_type, class Compare >
ForwardIt Ponca::internal::upperBound ( ForwardIt  first,
ForwardIt  last,
const T &  value,
Compare  comp 
)

Searches for the first element in the partitioned range [first, last) which is ordered after value.

Template Parameters
ForwardItMust meet the requirements of LegacyForwardIterator
CompareMust meet the requirements of BinaryPredicate. It is not required to satisfy Compare.
Parameters
firstIterator defining the beginning of the range of elements to examine
lastIterator defining the end of the range of elements to examine
valueValue to compare the elements to
compbinary predicate which returns True if the first argument is ordered before the second.
Returns
Iterator to the first element of the range [first, last) ordered after value, or last if no such element is found.
See also
https://en.cppreference.com/cpp/algorithm/copy_backward

Definition at line 55 of file iteratorUtils.h.