33#ifndef _R_INTERESTTILING_HH_
34#define _R_INTERESTTILING_HH_
93 const std::vector<r_Minterval> &interest_areas,
The r_Dir_Decompose class is used to specify a decomposition on an n-dimensional cube (for use in r_D...
Definition dirdecompose.hh:54
This class implements the "Interesting Areas" tiling algorithm.
Definition interesttiling.hh:76
static const char * tilesizelimit_name_regroup
Definition interesttiling.hh:187
Blocks_Type
The Block types (A, B or C)
Definition interesttiling.hh:151
@ BLOCKS_A
Definition interesttiling.hh:152
@ BLOCKS_B
Definition interesttiling.hh:153
@ BLOCKS_C
Definition interesttiling.hh:154
r_Interest_Tiling(r_Dimension dim, const std::vector< r_Minterval > &interest_areas, r_Bytes ts=r_Tiling::defaultTileSize, Tilesize_Limit strat=SUB_TILING)
static const char * tilesizelimit_name_regroupandsubtiling
Definition interesttiling.hh:189
std::vector< r_Minterval > iareas
Interest areas.
Definition interesttiling.hh:176
Tilesize_Limit ts_strat
Parameters: the block list, the lenght of the base cells and the type of the block (A,...
Definition interesttiling.hh:173
static const char * tilesizelimit_name_subtiling
Definition interesttiling.hh:188
static const char * get_name_from_tilesize_limit(Tilesize_Limit tsl)
Get a tilisize limit name for a tilesize limit.
std::vector< r_Minterval > compute_tiles(const r_Minterval &obj_domain, r_Bytes cell_size) const
Decompose an object in tiles.
static const char * tilesizelimit_name_nolimit
The names of all tilesizelimit types, to avoid redundant storage and inconsistencies.
Definition interesttiling.hh:186
virtual void print_status(std::ostream &os) const
Prints the current status of the object.
static r_Interest_Tiling::Tilesize_Limit get_tilesize_limit_from_name(const char *name)
Get a tilesize limit for a tilisize limit name.
std::vector< r_Dir_Decompose > make_partition(const r_Minterval &domain) const
Given a domain and a set of interest areas (internal) gener. partition.
r_Interest_Tiling(const char *encoded)
read everything from an encoded string e.g.
std::vector< r_Minterval > group(std::vector< r_Minterval > &blocks, r_Bytes typelen, Blocks_Type btype) const
A Blocks —> Blocks that belong to two or more interest zones (non-groupable) B Blocks —> Blocks withi...
Tilesize_Limit
Possible strategies to limit the tilesize.
Definition interesttiling.hh:80
@ REGROUP
Definition interesttiling.hh:82
@ NUMBER
Definition interesttiling.hh:85
@ SUB_TILING
Definition interesttiling.hh:83
@ REGROUP_AND_SUBTILING
Definition interesttiling.hh:84
@ NO_LIMIT
Definition interesttiling.hh:81
virtual ~r_Interest_Tiling()=default
It takes as parameter a list containing the areas of interest to the user and also the tilesize to be...
static const char * all_tilesizelimit_names[r_Interest_Tiling::NUMBER]
Definition interesttiling.hh:191
virtual r_Tiling * clone() const
This method provides the core funcionality of this class.
virtual r_Tiling_Scheme get_tiling_scheme() const
This method is similar to a copy constructor, this is, is returns a copy of the current object.
static const char * description
Definition interesttiling.hh:143
The spatial domain of an MDD is represented by an object of class r_Minterval.
Definition minterval.hh:226
The r_Tiling class is used to specify in which way the tiling is done by the system.
Definition tiling.hh:53
static const r_Bytes defaultTileSize
Definition tiling.hh:92
std::uint32_t r_Dimension
number of dimensions in r_Point and r_Minterval.
Definition mddtypes.hh:56
size_t r_Bytes
number of bytes in an tile or mdd or type.
Definition mddtypes.hh:43
r_Tiling_Scheme
Tiling of the object:
Definition mddtypes.hh:317