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.