HyperplaneBase defines a splitting hyperplane based on a projection vector and projection value. More...
Public Types | |
typedef BoundT | BoundType |
Useful typedef for the bound type. More... | |
typedef ProjVectorT | ProjVectorType |
Useful typedef for the projection vector type. More... | |
Public Member Functions | |
HyperplaneBase () | |
Empty Constructor. More... | |
HyperplaneBase (const ProjVectorType &projVect, double splitVal) | |
Create the hyperplane with the specified projection vector and split value. More... | |
template < typename VecType > | |
bool | Left (const VecType &point, typename std::enable_if_t< IsVector< VecType >::value > *=0) const |
Determine if the given point is to the left of the hyperplane, this means if the projection over the projection vector is negative or zero. More... | |
bool | Left (const BoundType &bound) const |
Determine if the given bound is to the left of the hyperplane. 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 and subtract the split value. More... | |
template < typename VecType > | |
bool | Right (const VecType &point, typename std::enable_if_t< IsVector< VecType >::value > *=0) const |
Determine if the given point is to the right of the hyperplane, this means if the projection over the projection vector is positive. More... | |
bool | Right (const BoundType &bound) const |
Determine if the given bound is to the right of the hyperplane. More... | |
template < typename Archive > | |
void | serialize (Archive &ar, const uint32_t) |
Serialization. More... | |
HyperplaneBase defines a splitting hyperplane based on a projection vector and projection value.
BoundT | The bound type considered. |
ProjVectorT | Type of projection vector (AxisParallelProjVector, ProjVector). |
Definition at line 30 of file hyperplane.hpp.
typedef BoundT BoundType |
Useful typedef for the bound type.
Definition at line 34 of file hyperplane.hpp.
typedef ProjVectorT ProjVectorType |
Useful typedef for the projection vector type.
Definition at line 36 of file hyperplane.hpp.
|
inline |
Empty Constructor.
By default will consider all points to the left.
Definition at line 49 of file hyperplane.hpp.
|
inline |
Create the hyperplane with the specified projection vector and split value.
projVect | Projection vector. |
splitVal | Split value. |
Definition at line 59 of file hyperplane.hpp.
|
inline |
Determine if the given point is to the left of the hyperplane, this means if the projection over the projection vector is negative or zero.
point | Point to be analyzed. |
Definition at line 86 of file hyperplane.hpp.
References HyperplaneBase< BoundT, ProjVectorT >::Project().
|
inline |
Determine if the given bound is to the left of the hyperplane.
bound | Bound to be analyzed. |
Definition at line 110 of file hyperplane.hpp.
|
inline |
Project the given point on the projection vector and subtract the split value.
point | Point to be projected. |
Definition at line 71 of file hyperplane.hpp.
Referenced by HyperplaneBase< BoundT, ProjVectorT >::Left(), and HyperplaneBase< BoundT, ProjVectorT >::Right().
|
inline |
Determine if the given point is to the right of the hyperplane, this means if the projection over the projection vector is positive.
point | Point to be analyzed. |
Definition at line 99 of file hyperplane.hpp.
References HyperplaneBase< BoundT, ProjVectorT >::Project().
|
inline |
Determine if the given bound is to the right of the hyperplane.
bound | Bound to be analyzed. |
Definition at line 122 of file hyperplane.hpp.
|
inline |
Serialization.
Definition at line 133 of file hyperplane.hpp.