7template <
class DataPo
int,
class _NFilter,
typename T>
8 requires ALGEBRAIC_SPHERE_REQUIREMENTS
9typename AlgebraicSphere<DataPoint, _NFilter, T>::VectorType
12 PONCA_MULTIARCH_STD_MATH(
sqrt);
15 const VectorType lq = Base::getNeighborFrame().convertToLocalBasis(
_q);
20 return Base::getNeighborFrame().convertToGlobalBasis(
lq - m_ul * (
lq.dot(m_ul)) /
sqnorm);
24 Scalar potential = potentialLocal(
lq);
28 return Base::getNeighborFrame().convertToGlobalBasis(
lq +
t *
grad);
32template <
class DataPo
int,
class _NFilter,
typename T>
33 requires ALGEBRAIC_SPHERE_REQUIREMENTS
37 return m_uc +
_lq.dot(m_ul) + m_uq *
_lq.squaredNorm();
40template <
class DataPo
int,
class _NFilter,
typename T>
41 requires ALGEBRAIC_SPHERE_REQUIREMENTS
Algebraic Sphere primitive.
typename DataPoint::Scalar Scalar
Alias to scalar type.
typename Base::VectorType VectorType
Alias to vector type.
Aggregator class used to declare specialized structures using CRTP.