rasdaman API
|
#include <dirtiling.hh>
Public Types | |
enum | SubTiling { WITHOUT_SUBTILING = 0, WITH_SUBTILING = 1, NUMBER = 2 } |
Constants that specify if subtiling will occur inside the blocks. More... | |
Public Member Functions | |
r_Dir_Tiling (const char *encoded) throw (r_Error) | |
read everything from encoded string e.g. "3;[0,2,4,5],[*],[0,10,15];100;NOSUBTILING" More... | |
r_Dir_Tiling (r_Dimension dims, const std::vector< r_Dir_Decompose > &decomp, r_Bytes ts=RMInit::clientTileSize, SubTiling sub=WITH_SUBTILING) throw (r_Error) | |
Class constructor. More... | |
virtual | ~r_Dir_Tiling () |
virtual std::vector < r_Minterval > * | compute_tiles (const r_Minterval &obj_domain, r_Bytes cell_size) const throw (r_Error) |
returns true if the cellTypeSize is smaller or equal to the tile size and the dimension fits the obj_domain More... | |
virtual bool | is_compatible (const r_Minterval &obj_domain, r_Bytes type_len) const |
returns true if the cellTypeSize is smaller or equal to the tile size and obj_domain has more than 0 dimensions More... | |
virtual void | print_status (std::ostream &os) const |
Prints the current status of the object. More... | |
virtual r_Tiling * | clone () const |
Clones this object. More... | |
virtual r_Tiling_Scheme | get_tiling_scheme () const |
![]() | |
r_Dimension_Tiling (r_Dimension dim, r_Bytes ts=RMInit::clientTileSize) | |
Constructor for this object (Takes dim (no of dimension) and tile size as parameter) More... | |
virtual | ~r_Dimension_Tiling () |
does not do anything More... | |
r_Dimension | get_dimension () const |
Gets the current dimension. More... | |
![]() | |
r_Size_Tiling (const char *encoded) throw (r_Error) | |
Constructor that reads everything from a string e.g."100". More... | |
r_Size_Tiling (r_Bytes ts=RMInit::clientTileSize) | |
Constructor for this object (Takes tile size as parameter) More... | |
virtual | ~r_Size_Tiling () |
does not do anything More... | |
r_Bytes | get_tile_size () const |
Gets the current tile size. More... | |
![]() | |
virtual | ~r_Tiling () |
does not do anything More... | |
Static Public Member Functions | |
static r_Dir_Tiling::SubTiling | get_subtiling_from_name (const char *name) |
static const char * | get_name_from_subtiling (SubTiling st) |
Static Public Attributes | |
static const char * | description |
![]() | |
static const char * | description |
![]() | |
static const char * | ASTERIX |
static const char * | TCOLON |
static const char * | TCOMMA |
static const char * | LSQRBRA |
static const char * | RSQRBRA |
static const long | DefaultBase |
Protected Attributes | |
std::vector< r_Dir_Decompose > | dim_decomp |
The decomposition to be used. More... | |
SubTiling | sub_tile |
If sub-tiling should occour. More... | |
![]() | |
r_Dimension | dimension |
dimension the mdd must have More... | |
![]() | |
r_Bytes | tile_size |
Tile size. More... | |
Static Protected Attributes | |
static const char * | subtiling_name_withoutsubtiling |
static const char * | subtiling_name_withsubtiling |
static const char * | all_subtiling_names [r_Dir_Tiling::NUMBER] |
r_Dir_Tiling::r_Dir_Tiling | ( | const char * | encoded | ) | |
throw | ( | r_Error | |||
) |
read everything from encoded string e.g. "3;[0,2,4,5],[*],[0,10,15];100;NOSUBTILING"
r_Dir_Tiling::r_Dir_Tiling | ( | r_Dimension | dims, |
const std::vector< r_Dir_Decompose > & | decomp, | ||
r_Bytes | ts = RMInit::clientTileSize , |
||
SubTiling | sub = WITH_SUBTILING |
||
) | |||
throw | ( | r_Error | |
) |
Class constructor.
|
virtual |
The user has to give the number of dimensions of the space and the decomposition wanted for that space. Note that the number of elements of decomp must be the same as the number of dimensions of the space. See { r_Dir_Decompose} for details on how to indicate a decomposition. SubTiling indicates if subtiling should occur inside the blocks specified by the user. Throws an exception when the decomp.size is not equal to the specified dimension.
|
virtual |
Clones this object.
This method provides the core funcionality of this class. All derived classes must implement it. As input parameters it takes the big object to be decomposed and returns a set of tiles that compose the big object. This method throws an exeception when the dimension specified, extend or the cell_size are incompatible with the current tiling. You can check compatibility by invoking is_compatible.
Implements r_Dimension_Tiling.
|
virtual |
returns true if the cellTypeSize is smaller or equal to the tile size and the dimension fits the obj_domain
Implements r_Dimension_Tiling.
|
static |
Get a tilisize limit name for a tilesize limit
|
static |
Get a tilesize limit for a tilisize limit name
|
virtual |
This method is similar to a copy constructor, this is, is returns a copy of the current object. Derived classes must explicitly implement this method.
Reimplemented from r_Size_Tiling.
|
virtual |
returns true if the cellTypeSize is smaller or equal to the tile size and obj_domain has more than 0 dimensions
Reimplemented from r_Dimension_Tiling.
|
virtual |
Prints the current status of the object.
Reimplemented from r_Dimension_Tiling.
|
staticprotected |
|
static |
|
protected |
The decomposition to be used.
|
protected |
If sub-tiling should occour.
|
staticprotected |
The names of all subtiling types, to avoid redundant storage and inconsistencies. The variable name convention is the prefix subtiling_name_ followed by the name of the data format in lower case, i.e. for WITH_SUBTILING subtiling_name_withsubtiling. In addition there's an array of names all_subtiling_names where the subtiling can be used as index to get the name.
|
staticprotected |