10 #ifndef HYPERCUBOID_HH 11 #define HYPERCUBOID_HH 39 mutable std::vector<HyperPlane>
_faces;
50 HyperCuboid(
int dimension,
double low,
double high);
52 void print(std::ostream& os = std::cout,
int endline=1)
const;
100 void split(
int dimension,
double fractionalSplitPoint,
HyperVolume& set)
const;
HyperPoint & getLowCorner()
HyperPointSet getVertices() const
HyperPoint getRandomPoint(TRandom *random=gRandom) const
HyperPoint getOppositePoint(const HyperPoint &point) const
HyperCuboid splitAbove(int dimension, double fractionalSplitPoint) const
HyperPointSet getConnectedVerticies(const HyperPointSet &pointSet) const
HyperPoint getNegativeIntersectionPoint(const HyperLine &line) const
double getNegativeIntersectionParameter(const HyperLine &line) const
HyperPointSet getEdgeCenters() const
HyperCuboid(int dimension)
bool setCorners(const HyperPoint &lowCorner, const HyperPoint &highCorner)
bool operator !=(const HyperCuboid &other) const
const int & getDimension() const
HyperPointSet getRandomPoints(int nPoints=100, TRandom *random=gRandom) const
void updateFaceCash() const
HyperPoint getCenter() const
const HyperPoint & getHighCorner() const
std::vector< HyperPlane > _faces
double getPositiveIntersectionParameter(const HyperLine &line) const
HyperPoint & getHighCorner()
HyperPoint getWidth() const
void print(std::ostream &os=std::cout, int endline=1) const
HyperPoint getPositiveIntersectionPoint(const HyperLine &line) const
bool operator==(const HyperCuboid &other) const
const HyperPoint & getLowCorner() const
std::vector< HyperPlane > getBoundaryHyperPlanes() const
HyperCuboid splitBelow(int dimension, double fractionalSplitPoint) const
HyperCuboid projectOpposite(std::vector< int > dims) const
std::vector< HyperPlane > getConnectedHyperPlanes(const HyperPoint &point) const
HyperVolume split(int dimension, double fractionalSplitPoint) const
const HyperCuboid & inflateCuboid(double percent)
HyperCuboid project(std::vector< int > dims) const
bool inVolume(const HyperPoint &coords) const