Go to the documentation of this file. 1 #ifndef GfxTL__L1NORM_HEADER__
2 #define GfxTL__L1NORM_HEADER__
9 template<
class VectorKernelT >
11 :
public VectorKernelT
13 template<
class ScalarAT,
class ScalarBT >
17 ScalarBT >::DifferenceType
Type;
20 template<
class Po
intAT,
class Po
intBT >
33 DistType d = p[0] -
v[0], di;
35 for (
unsigned int i = 1; i < m_dim; ++i)
43 template<
class Po
intAT,
class Po
intBT >
54 template<
class ScalarT >
60 template<
class DistScalarT,
class DiffScalarT >
62 DiffScalarT cutDiff)
const
64 return boxSqrDist + (DistScalarT)cutDiff
65 - (DistScalarT)boxDiff;
68 template<
class Po
intAT,
class Po
intBT >
75 const PointBT&
max)
const
82 for (
unsigned int i = 0; i < m_dim; ++i)
89 else if (
a[i] >
max[i])
MatrixXX< C, R, T > max(const MatrixXX< C, R, T > &a, const MatrixXX< C, R, T > &b)
DistanceType< typename ScalarTypeDeferer< PointAT >::ScalarType, typename ScalarTypeDeferer< PointBT >::ScalarType >::Type SqrDistance(const PointAT &p, const PointBT &v) const
PointT::value_type ScalarType
MatrixXX< C, R, T > min(const MatrixXX< C, R, T > &a, const MatrixXX< C, R, T > &b)
static ScalarT Abs(ScalarT s)
DistScalarT IncrementalBoxSqrDistance(DistScalarT boxSqrDist, DiffScalarT boxDiff, DiffScalarT cutDiff) const
DistanceType< typename ScalarTypeDeferer< PointAT >::ScalarType, typename ScalarTypeDeferer< PointBT >::ScalarType >::Type Distance(const PointAT &p, const PointBT &v) const
double a(double t, double a0, double j)
double v(double t, double v0, double a0, double j)
ScalarT RootOfDistance(ScalarT sqrDistance) const
DistanceType< typename ScalarTypeDeferer< PointAT >::ScalarType, typename ScalarTypeDeferer< PointBT >::ScalarType >::Type BoxSqrDistance(const PointAT &a, const PointBT &min, const PointBT &max) const
ScalarTypeConversion< ScalarAT, ScalarBT >::DifferenceType Type