Cubic_Bounding_Box_Container Class Reference

#include <Cubic_Bounding_Box_Container.h>

Inherits Cubic_Bounding_Box.

Inheritance diagram for Cubic_Bounding_Box_Container:

Inheritance graph
[legend]
Collaboration diagram for Cubic_Bounding_Box_Container:

Collaboration graph
[legend]
List of all members.

Public Member Functions

unsigned int getID () const
 Cubic_Bounding_Box_Container (Cubic_Bounding_Box_Container *cbbc)
 Cubic_Bounding_Box_Container (vector< double > mins, vector< double > maxs, unsigned int i)
 Cubic_Bounding_Box_Container (Polytope p)
 Cubic_Bounding_Box_Container (Polytope *p)
virtual void writeToFile (ofstream &ofs) const

Static Public Member Functions

static Ordering< Cubic_Bounding_Box_Container > * getDefaultOrdering ()
static vector< Ordering< Cubic_Bounding_Box_Container > * > getOrderings ()

Static Public Attributes

static CubicLowCoorOrdering<
0, Cubic_Bounding_Box_Container
LCXC_ORDERING = CubicLowCoorOrdering< 0, Cubic_Bounding_Box_Container >()
static CubicLowCoorOrdering<
1, Cubic_Bounding_Box_Container
LCYC_ORDERING = CubicLowCoorOrdering< 1, Cubic_Bounding_Box_Container >()
static CubicLowCoorOrdering<
2, Cubic_Bounding_Box_Container
LCZC_ORDERING = CubicLowCoorOrdering< 2, Cubic_Bounding_Box_Container >()
static DistOrdering< Cubic_Bounding_Box_ContainerDISTC_ORDERING = DistOrdering< Cubic_Bounding_Box_Container >()
static HilbertOrdering3D<
Cubic_Bounding_Box_Container
HILC_ORDERING = HilbertOrdering3D< Cubic_Bounding_Box_Container >()
static CURRENTORDERING< Cubic_Bounding_Box_ContainerNO_ORDERING = CURRENTORDERING< Cubic_Bounding_Box_Container >()

Protected Attributes

unsigned int index

Friends

class CubicLowCoorOrdering< 0, Cubic_Bounding_Box_Container >
class CubicLowCoorOrdering< 1, Cubic_Bounding_Box_Container >
class CubicLowCoorOrdering< 2, Cubic_Bounding_Box_Container >
class DistOrdering< Cubic_Bounding_Box_Container >

Detailed Description

Definition of a hypercubic bounding box.

Definition at line 19 of file Cubic_Bounding_Box_Container.h.


Constructor & Destructor Documentation

Cubic_Bounding_Box_Container::Cubic_Bounding_Box_Container ( Cubic_Bounding_Box_Container cbbc  )  [inline]

Copy constructor

Definition at line 56 of file Cubic_Bounding_Box_Container.h.

References Cubic_Bounding_Box::_maxs, Cubic_Bounding_Box::_mins, and index.

Cubic_Bounding_Box_Container::Cubic_Bounding_Box_Container ( vector< double >  mins,
vector< double >  maxs,
unsigned int  i 
) [inline]

Base constructor.

Parameters:
mins The minimum coordinates of the bounding box to-be constructed.
maxs The maximum coordinates of the bounding box to-be constructed.
i The identification number of the element for which the to-be constructed bounding box is its container.

Definition at line 67 of file Cubic_Bounding_Box_Container.h.

References Cubic_Bounding_Box::_maxs, Cubic_Bounding_Box::_mins, and index.

Cubic_Bounding_Box_Container::Cubic_Bounding_Box_Container ( Polytope  p  )  [inline]

Alternative constructor of a hypercubic bounding box. Takes as input a Polytope. Uses the base constructor.

Parameters:
p The Polytope on which we would like to find the cubic bounding box.

Definition at line 77 of file Cubic_Bounding_Box_Container.h.

References Cubic_Bounding_Box::_maxs, Cubic_Bounding_Box::_mins, Polytope::getDimension(), Polytope::getIdentification(), Polytope::getMaxCoordinateOnDimension(), Polytope::getMinCoordinateOnDimension(), and index.

Cubic_Bounding_Box_Container::Cubic_Bounding_Box_Container ( Polytope p  )  [inline]

Alternative constructor of a hypercubic bounding box. Takes as input a Polytope. Uses the base constructor.

Parameters:
p A pointer to the Polytope on which we would like to find the cubic bounding box.

Definition at line 115 of file Cubic_Bounding_Box_Container.h.

References Cubic_Bounding_Box::_maxs, Cubic_Bounding_Box::_mins, Polytope::getDimension(), Polytope::getIdentification(), Polytope::getMaxCoordinateOnDimension(), Polytope::getMinCoordinateOnDimension(), and index.


Member Function Documentation

unsigned int Cubic_Bounding_Box_Container::getID (  )  const [inline]

Gets the ID of the underlying data element.

Returns:
The ID number.

Definition at line 53 of file Cubic_Bounding_Box_Container.h.

References index.

Referenced by TGS_tree< base_tree >::remove(), RTGS_tree< base_tree >::remove(), FPB_tree< base_tree >::remove(), Basic_R_tree::remove(), TGS_tree< base_tree >::search(), RTGS_tree< base_tree >::search(), FPB_tree< base_tree >::search(), and Basic_R_tree::search().

virtual void Cubic_Bounding_Box_Container::writeToFile ( ofstream &  ofs  )  const [inline, virtual]

Outputs the ID and first 2 coordinate pairs to a single line to a given stream as follows: "id min_0 min_1 min_2 max_0 max_1 max_2"

Parameters:
ofs Reference to the output file stream
WARNING: Only works for three-dimensional data!

Reimplemented from Cubic_Bounding_Box.

Definition at line 157 of file Cubic_Bounding_Box_Container.h.

References Cubic_Bounding_Box::_maxs, Cubic_Bounding_Box::_mins, and index.

Ordering< Cubic_Bounding_Box_Container > * Cubic_Bounding_Box_Container::getDefaultOrdering (  )  [static]

Function that returns the default value for this bounding box.

Returns:
A pointer to the default ordering of this bounding box.

Reimplemented from Cubic_Bounding_Box.

Definition at line 20 of file Cubic_Bounding_Box_Container.cpp.

References HILC_ORDERING.

Referenced by TGS_tree< base_tree >::useOrderings(), and RTGS_tree< base_tree >::useOrderings().

vector< Ordering< Cubic_Bounding_Box_Container > * > Cubic_Bounding_Box_Container::getOrderings (  )  [static]

Function returning a set of orderings on this type of bounding box; typically used by the TGS bulk-loading algorithm.

Returns:
A vector of pointers to orderings.

Reimplemented from Cubic_Bounding_Box.

Definition at line 24 of file Cubic_Bounding_Box_Container.cpp.

References LCXC_ORDERING, LCYC_ORDERING, and LCZC_ORDERING.

Referenced by TGS_tree< base_tree >::useOrderings(), and RTGS_tree< base_tree >::useOrderings().


Friends And Related Function Documentation

friend class CubicLowCoorOrdering< 0, Cubic_Bounding_Box_Container > [friend]

The bounding box semi-orderings need to be able to access protected elements

Definition at line 24 of file Cubic_Bounding_Box_Container.h.

friend class CubicLowCoorOrdering< 1, Cubic_Bounding_Box_Container > [friend]

The bounding box semi-orderings need to be able to access protected elements

Definition at line 29 of file Cubic_Bounding_Box_Container.h.

friend class CubicLowCoorOrdering< 2, Cubic_Bounding_Box_Container > [friend]

The bounding box semi-orderings need to be able to access protected elements

Definition at line 34 of file Cubic_Bounding_Box_Container.h.

friend class DistOrdering< Cubic_Bounding_Box_Container > [friend]

The bounding box semi-orderings need to be able to access protected elements

Definition at line 39 of file Cubic_Bounding_Box_Container.h.


Member Data Documentation

unsigned int Cubic_Bounding_Box_Container::index [protected]

The identification number of the data element this container represents

Definition at line 44 of file Cubic_Bounding_Box_Container.h.

Referenced by Cubic_Bounding_Box_Container(), getID(), and writeToFile().

CubicLowCoorOrdering< 0, Cubic_Bounding_Box_Container > Cubic_Bounding_Box_Container::LCXC_ORDERING = CubicLowCoorOrdering< 0, Cubic_Bounding_Box_Container >() [static]

The low-coordinate ordering in the x-direction

Definition at line 180 of file Cubic_Bounding_Box_Container.h.

Referenced by getOrderings().

CubicLowCoorOrdering< 1, Cubic_Bounding_Box_Container > Cubic_Bounding_Box_Container::LCYC_ORDERING = CubicLowCoorOrdering< 1, Cubic_Bounding_Box_Container >() [static]

The low-coordinate ordering in the y-direction

Definition at line 183 of file Cubic_Bounding_Box_Container.h.

Referenced by getOrderings().

CubicLowCoorOrdering< 2, Cubic_Bounding_Box_Container > Cubic_Bounding_Box_Container::LCZC_ORDERING = CubicLowCoorOrdering< 2, Cubic_Bounding_Box_Container >() [static]

The low-coordinate ordering in the z-direction

Definition at line 186 of file Cubic_Bounding_Box_Container.h.

Referenced by getOrderings().

DistOrdering< Cubic_Bounding_Box_Container > Cubic_Bounding_Box_Container::DISTC_ORDERING = DistOrdering< Cubic_Bounding_Box_Container >() [static]

The "distance from (0,0,0)"-ordering

Definition at line 189 of file Cubic_Bounding_Box_Container.h.

HilbertOrdering3D< Cubic_Bounding_Box_Container > Cubic_Bounding_Box_Container::HILC_ORDERING = HilbertOrdering3D< Cubic_Bounding_Box_Container >() [static]

The 3D Hilbert curve ordering

Definition at line 192 of file Cubic_Bounding_Box_Container.h.

Referenced by getDefaultOrdering(), FPB_tree< base_tree >::useOrdering(), RHTGS_tree< base_tree >::useOrderings(), and Hilbert_TGS_tree< base_tree >::useOrderings().

CURRENTORDERING< Cubic_Bounding_Box_Container > Cubic_Bounding_Box_Container::NO_ORDERING = CURRENTORDERING< Cubic_Bounding_Box_Container >() [static]

The non-ordering

Definition at line 195 of file Cubic_Bounding_Box_Container.h.

Referenced by Hilbert_TGSinsert_tree< base_tree >::useOrderings().


The documentation for this class was generated from the following files:
Generated on Sat Oct 13 17:34:43 2007 for R-Tree by  doxygen 1.5.2