#include <BoxND.h>
Public Member Functions | |
BoxND () | |
BoxND (const unsigned long dim) | |
BoxND (const unsigned long dim, const Interval< Numeric > &v) | |
template<typename Num2 > | |
BoxND (const std::vector< Num2 > &limits) | |
template<typename Num2 > | |
BoxND (const BoxND< Num2 > &r) | |
template<typename Num2 > | |
BoxND & | copyFrom (const BoxND< Num2 > &r) |
template<typename Num2 > | |
BoxND< Numeric > & | copyFrom (const BoxND< Num2 > &r) |
unsigned long | dim () const |
BoxND & | expand (double r) |
void | getMidpoint (Numeric *coord, unsigned long coordLen) const |
BoxND & | moveToOrigin () |
template<typename Num2 > | |
BoxND< Numeric > & | operator+= (const std::vector< Num2 > &shifts) |
template<typename Num2 > | |
BoxND< Numeric > & | operator-= (const std::vector< Num2 > &shifts) |
double | overlapFraction (const BoxND &r) const |
Numeric | overlapVolume (const BoxND &r) const |
template<typename Num2 > | |
BoxND< Numeric > & | shift (const Num2 *shifts, const unsigned long shiftsLen) |
Numeric | volume () const |
template<typename Num2 > | |
bool | isInsideLower (const Num2 *coord, unsigned long coordLen) const |
template<typename Num2 > | |
bool | isInsideUpper (const Num2 *coord, unsigned long coordLen) const |
template<typename Num2 > | |
bool | isInsideWithBounds (const Num2 *coord, unsigned long coordLen) const |
template<typename Num2 > | |
bool | isInside (const Num2 *coord, unsigned long coordLen) const |
BoxND & | operator*= (double r) |
BoxND & | operator/= (double r) |
BoxND & | operator*= (const std::vector< double > &scales) |
BoxND & | operator/= (const std::vector< double > &scales) |
BoxND & | expand (const std::vector< double > &scales) |
BoxND & | expand (const double *scales, unsigned long lenScales) |
template<typename Num2 > | |
BoxND & | operator+= (const std::vector< Num2 > &shifts) |
template<typename Num2 > | |
BoxND & | operator-= (const std::vector< Num2 > &shifts) |
template<typename Num2 > | |
BoxND & | shift (const Num2 *shifts, unsigned long lenShifts) |
gs::ClassId | classId () const |
bool | write (std::ostream &of) const |
Static Public Member Functions | |
static BoxND | allSpace (unsigned long ndim) |
static const char * | classname () |
static void | restore (const gs::ClassId &id, std::istream &in, BoxND *box) |
static BoxND | sizeTwoBox (unsigned long ndim) |
static BoxND | unitBox (unsigned long ndim) |
static unsigned | version () |
Class to represent rectangles, boxes, and hyperboxes
|
inline |
|
inlineexplicit |
|
inline |
|
explicit |
Constructor where one of the limits will be 0 and the other will be generated from the given vector (which also determines the dimensionality)
Definition at line 189 of file BoxND.h.
|
explicit |
|
static |
|
inline |
|
static |
BoxND& npstat::BoxND< Numeric >::copyFrom | ( | const BoxND< Num2 > & | r | ) |
Get the data from a box of a different type. This method works essentially as a converting assignment operator.
BoxND<Numeric>& npstat::BoxND< Numeric >::copyFrom | ( | const BoxND< Num2 > & | r | ) |
|
inline |
Box dimensionality
Definition at line 54 of file BoxND.h.
Referenced by npstat::ArrayND< Numeric >::processSubrange().
BoxND< Numeric > & npstat::BoxND< Numeric >::expand | ( | double | r | ) |
BoxND< Numeric > & npstat::BoxND< Numeric >::expand | ( | const std::vector< double > & | scales | ) |
Scaling of all limits in such a way that the midpoint remains unchanged, using a different scaling factor in each dimension
Definition at line 355 of file BoxND.h.
BoxND< Numeric > & npstat::BoxND< Numeric >::expand | ( | const double * | scales, |
unsigned long | lenScales | ||
) |
Definition at line 365 of file BoxND.h.
void npstat::BoxND< Numeric >::getMidpoint | ( | Numeric * | coord, |
unsigned long | coordLen | ||
) | const |
Midpoint for every coordinate. The size of the "coord" array should be at least as large as the box dimensionality.
Definition at line 253 of file BoxND.h.
bool npstat::BoxND< Numeric >::isInside | ( | const Num2 * | coord, |
unsigned long | coordLen | ||
) | const |
Definition at line 308 of file BoxND.h.
bool npstat::BoxND< Numeric >::isInsideLower | ( | const Num2 * | coord, |
unsigned long | coordLen | ||
) | const |
This method return "true" if the corresponding function of the Interval returns "true" for every coordinate. There must be an automatic conversion from Num2 type into Numeric.
Definition at line 266 of file BoxND.h.
bool npstat::BoxND< Numeric >::isInsideUpper | ( | const Num2 * | coord, |
unsigned long | coordLen | ||
) | const |
Definition at line 280 of file BoxND.h.
bool npstat::BoxND< Numeric >::isInsideWithBounds | ( | const Num2 * | coord, |
unsigned long | coordLen | ||
) | const |
Definition at line 294 of file BoxND.h.
BoxND< Numeric > & npstat::BoxND< Numeric >::moveToOrigin | ( | ) |
BoxND< Numeric > & npstat::BoxND< Numeric >::operator*= | ( | double | r | ) |
BoxND< Numeric > & npstat::BoxND< Numeric >::operator*= | ( | const std::vector< double > & | scales | ) |
BoxND& npstat::BoxND< Numeric >::operator+= | ( | const std::vector< Num2 > & | shifts | ) |
Shifting this object
BoxND<Numeric>& npstat::BoxND< Numeric >::operator+= | ( | const std::vector< Num2 > & | shifts | ) |
BoxND& npstat::BoxND< Numeric >::operator-= | ( | const std::vector< Num2 > & | shifts | ) |
BoxND<Numeric>& npstat::BoxND< Numeric >::operator-= | ( | const std::vector< Num2 > & | shifts | ) |
BoxND< Numeric > & npstat::BoxND< Numeric >::operator/= | ( | double | r | ) |
BoxND< Numeric > & npstat::BoxND< Numeric >::operator/= | ( | const std::vector< double > & | scales | ) |
double npstat::BoxND< Numeric >::overlapFraction | ( | const BoxND< Numeric > & | r | ) | const |
Numeric npstat::BoxND< Numeric >::overlapVolume | ( | const BoxND< Numeric > & | r | ) | const |
|
static |
BoxND& npstat::BoxND< Numeric >::shift | ( | const Num2 * | shifts, |
unsigned long | lenShifts | ||
) |
BoxND<Numeric>& npstat::BoxND< Numeric >::shift | ( | const Num2 * | shifts, |
const unsigned long | shiftsLen | ||
) |
Definition at line 412 of file BoxND.h.
|
static |
|
static |
|
inlinestatic |
Definition at line 152 of file BoxND.h.
Referenced by validation.Sample::datasetpattern(), and validation.Sample::filename().
Numeric npstat::BoxND< Numeric >::volume | ( | void | ) | const |
bool npstat::BoxND< Numeric >::write | ( | std::ostream & | of | ) | const |