AxisParallelProjVector Class Reference

AxisParallelProjVector defines an axis-parallel projection vector. More...

Public Member Functions

 AxisParallelProjVector (size_t dim=0)
 Create the projection vector based on the specified dimension. More...

 
template
<
typename
VecType
>
double Project (const VecType &point, typename std::enable_if_t< IsVector< VecType >::value > *=0) const
 Project the given point on the projection vector. More...

 
template
<
typename
MetricType
,
typename
ElemType
>
math::RangeType< ElemType > Project (const bound::HRectBound< MetricType, ElemType > &bound) const
 Project the given hrect bound on the projection vector. More...

 
template
<
typename
MetricType
,
typename
VecType
>
math::RangeType< typename VecType::elem_type > Project (const bound::BallBound< MetricType, VecType > &bound) const
 Project the given ball bound on the projection vector. More...

 
template
<
typename
Archive
>
void serialize (Archive &ar, const uint32_t)
 Serialization. More...

 

Detailed Description

AxisParallelProjVector defines an axis-parallel projection vector.

We can efficiently project points, simply analyzing a specific dimension.

Definition at line 24 of file projection_vector.hpp.

Constructor & Destructor Documentation

◆ AxisParallelProjVector()

AxisParallelProjVector ( size_t  dim = 0)
inline

Create the projection vector based on the specified dimension.

Parameters
dimDimension to be considered.

Definition at line 35 of file projection_vector.hpp.

Member Function Documentation

◆ Project() [1/3]

double Project ( const VecType &  point,
typename std::enable_if_t< IsVector< VecType >::value > *  = 0 
) const
inline

Project the given point on the projection vector.

Parameters
pointPoint to be projected.

Definition at line 45 of file projection_vector.hpp.

Referenced by ProjVector::Project().

◆ Project() [2/3]

math::RangeType<ElemType> Project ( const bound::HRectBound< MetricType, ElemType > &  bound) const
inline

Project the given hrect bound on the projection vector.

Parameters
boundBound to be projected.
Returns
Range of projected values.

Definition at line 58 of file projection_vector.hpp.

◆ Project() [3/3]

math::RangeType<typename VecType::elem_type> Project ( const bound::BallBound< MetricType, VecType > &  bound) const
inline

Project the given ball bound on the projection vector.

Parameters
boundBound to be projected.
Returns
Range of projected values.

Definition at line 71 of file projection_vector.hpp.

◆ serialize()

void serialize ( Archive &  ar,
const uint32_t   
)
inline

Serialization.

Definition at line 81 of file projection_vector.hpp.


The documentation for this class was generated from the following file: