![]() |
rasdaman client API
10.6.3
The Array Analytics Engine: Datacubes at Your Fingertips
|
The class represents a generic MDD in the sense that it is independent of the cell base type. More...
#include <gmarray.hh>
Public Member Functions | |
| r_GMarray (r_Transaction *transaction=NULL) | |
| default constructor (no memory is allocated!) More... | |
| r_GMarray (const r_Minterval &init_domain, r_Bytes type_length, r_Storage_Layout *stl=0, r_Transaction *transaction=NULL, bool initialize=true) | |
| constructor for uninitialized MDD objects More... | |
| r_GMarray (const r_GMarray &) | |
| If a storage layout pointer is provided, the object refered to is taken and memory control moves to the r_GMarray class. More... | |
| r_GMarray (r_GMarray &) | |
| constructor which doesn't copy the data More... | |
| virtual | ~r_GMarray () |
| destructor More... | |
| virtual void | r_deactivate () |
| it is called when an object leaves transient memory (internal use only) More... | |
| r_GMarray & | operator= (const r_GMarray &) |
| assignment: cleanup + copy More... | |
| const char * | operator[] (const r_Point &) const |
| subscript operator for read access of a cell. More... | |
| r_GMarray * | intersect (const r_Minterval &where) const |
| Returns a r_GMarray that is the intersection of the current domain with the specified interval. More... | |
| const r_Storage_Layout * | get_storage_layout () const |
| gets a pointer to the storage layout object More... | |
| const r_Minterval & | spatial_domain () const |
| getting the spatial domain More... | |
| char * | get_array () |
| get the internal representation of the array More... | |
| const char * | get_array () const |
| get the internal representation of the array for reading More... | |
| r_Set< r_GMarray * > * | get_tiled_array () |
| get the internal representation of the array More... | |
| const r_Set< r_GMarray * > * | get_tiled_array () const |
| get the internal representation of the array for reading More... | |
| r_Bytes | get_array_size () const |
| get size of internal array representation in byets More... | |
| r_Bytes | get_type_length () const |
| get length of cell type in bytes More... | |
| r_Data_Format | get_current_format () const |
| get current data format More... | |
| const r_Base_Type * | get_base_type_schema () |
| get base type schema More... | |
| r_Band_Iterator | get_band_iterator (unsigned int band) |
| get a band iterator More... | |
| r_Band_Linearization | get_band_linearization () const |
| r_Cell_Linearization | get_cell_linearization () const |
| void | set_storage_layout (r_Storage_Layout *) |
| sets the storage layout object and checks compatibility with the domain More... | |
| void | set_spatial_domain (const r_Minterval &domain) |
| set spatial domain More... | |
| void | set_array (char *) |
| set the internal representation of the array More... | |
| void | set_tiled_array (r_Set< r_GMarray * > *newData) |
| set the internal representation of the array More... | |
| void | set_array_size (r_Bytes) |
| set size of internal memory representation in bytes More... | |
| void | set_type_length (r_Bytes) |
| set length of cell type in bytes More... | |
| void | set_current_format (r_Data_Format) |
| set current data format More... | |
| void | set_band_linearization (r_Band_Linearization) |
| set band linearization to pixel-interleaved or channel-interleaved in case of multi-band array More... | |
| void | set_cell_linearization (r_Cell_Linearization) |
| set cell linearization. Only ColumnMajor is supported currently. More... | |
| virtual void | insert_obj_into_db () |
| inserts an object into the database More... | |
| void | insert_obj_into_db (const char *collName) |
| insert myself into a specific collection in the database More... | |
| virtual void | print_status (std::ostream &s) |
| writes the state of the object to the specified stream More... | |
| void | print_status (std::ostream &s, int hexoutput) |
| writes the state of the object to the specified stream More... | |
Public Member Functions inherited from r_Object | |
| r_Object (r_Transaction *transaction=NULL) | |
| default constructor More... | |
| r_Object (unsigned short objType, r_Transaction *transaction=NULL) | |
| constructor getting objType More... | |
| r_Object (const r_Object &, unsigned short objType=0, r_Transaction *transaction=NULL) | |
objType specifies the type of the object (1=Marray, 2=Collection). More... | |
| virtual | ~r_Object () |
objType specifies the type of the object (1=Marray, 2=Collection). More... | |
| void | mark_modified () |
| mark the object as modified More... | |
| void * | operator new (size_t size) |
| new operator for transient objects More... | |
| void * | operator new (size_t size, r_Database *database, const char *type_name=0) |
| new operator for persistent objects More... | |
| void * | operator new (size_t size, const char *type_name) |
| new operator for transient objects carrying type information More... | |
| void | operator delete (void *obj_ptr) |
| delete operator More... | |
| void | set_type_by_name (const char *name) |
| set object type by name More... | |
| void | set_type_structure (const char *name) |
| With this method a type name has to be given by the user for each object which he wants to make persistent. More... | |
| const char * | get_type_name () const |
| get object type name More... | |
| const char * | get_type_structure () const |
| get object type structure More... | |
| const r_OId & | get_oid () const |
| get oid More... | |
| const r_Type * | get_type_schema () |
| get type schema. returns NULL in case of error More... | |
| void | set_type_schema (const r_Type *type) |
| virtual void | update_obj_in_db () |
| updates an object in database More... | |
| virtual void | load_obj_from_db () |
| load an object from the database More... | |
| void | delete_obj_from_db () |
| deletes an object from the database More... | |
| void | initialize_oid (const r_OId &initOId) |
| initialize oid of the object More... | |
| virtual void | r_activate () |
| it is called when an object comes into transient memory More... | |
| bool | test_status (ObjectStatus status) |
| test object status returns 1 if it matches More... | |
| ObjectStatus | get_status () const |
| gets the status of the object More... | |
| void | set_object_name (const char *name) |
| set object name. object name should contain only [a-zA-Z0-9_] More... | |
| const char * | get_object_name () const |
| get object name More... | |
| void * | operator new (size_t size, r_Database *database, ObjectStatus status, const r_OId &oid) |
| new operator for activating an object (status = read) More... | |
| r_Transaction * | get_transaction () const |
Protected Attributes | |
| r_Minterval | domain |
| spatial domain More... | |
| char * | data {NULL} |
| pointer to the internal array representation More... | |
| r_Set< r_GMarray * > * | tiled_data {NULL} |
| array internally sub-tiled More... | |
| r_Bytes | data_size {} |
| size of internal array representation in bytes More... | |
| r_Bytes | type_length {} |
| length of the cell base type in bytes More... | |
| r_Data_Format | current_format {r_Array} |
| store current data format More... | |
| r_Storage_Layout * | storage_layout {NULL} |
| pointer to storage layout object More... | |
| r_Band_Linearization | band_linearization {r_Band_Linearization::PixelInterleaved} |
| relevant if data has multiple bands (channels) of data More... | |
| r_Cell_Linearization | cell_linearization {r_Cell_Linearization::ColumnMajor} |
| cell linearization. More... | |
Protected Attributes inherited from r_Object | |
| char * | object_name {0} |
| stores object name if it has one More... | |
| char * | type_name {0} |
| stores object type name if it has one More... | |
| char * | type_structure {0} |
| store type structure as string if it has one More... | |
| r_Type * | type_schema {0} |
| pointer to type schema (built on request) More... | |
| unsigned short | internal_obj_type {0} |
| internal object type (1 marray, 2 collection) More... | |
| r_Transaction * | transaction {NULL} |
| pointer to the transaction this object belongs to. More... | |
Additional Inherited Members | |
Public Types inherited from r_Object | |
| enum | ObjectStatus { no_status, deleted, created, modified, read, transient } |
| object life status More... | |
| enum | ObjectType { no_object, persistent_object, transient_object } |
| created - The object was created in the current transaction and has to be stored in the database. More... | |
Protected Member Functions inherited from r_Object | |
| void | update_transaction () |
| resets to the global r_Transaction::actual_transaction if necessary More... | |
| bool | test_type (ObjectType type) |
| test object type returns 1 if it matches More... | |
The class represents a generic MDD in the sense that it is independent of the cell base type.
The only information available is the length in bytes of the base type. More specific MDDs including base type information for more type safety are represented by the template subclass r_Marray. Class r_Marray provides a constructor to convert to the base type specific class.
| r_GMarray::r_GMarray | ( | r_Transaction * | transaction = NULL | ) |
default constructor (no memory is allocated!)
| r_GMarray::r_GMarray | ( | const r_Minterval & | init_domain, |
| r_Bytes | type_length, | ||
| r_Storage_Layout * | stl = 0, |
||
| r_Transaction * | transaction = NULL, |
||
| bool | initialize = true |
||
| ) |
constructor for uninitialized MDD objects
| r_GMarray::r_GMarray | ( | const r_GMarray & | ) |
If a storage layout pointer is provided, the object refered to is taken and memory control moves to the r_GMarray class.
The user has to take care, that each creation of r_GMarray objects get a new storage layout object. r_Error is throw if the storage layout does not fit the type length or the dimension of the init domain and when the dimension of the domain is 0 (uninitialised). copy constructor
| r_GMarray::r_GMarray | ( | r_GMarray & | ) |
constructor which doesn't copy the data
|
virtual |
destructor
| char* r_GMarray::get_array | ( | ) |
get the internal representation of the array
| const char* r_GMarray::get_array | ( | ) | const |
get the internal representation of the array for reading
| r_Bytes r_GMarray::get_array_size | ( | ) | const |
get size of internal array representation in byets
| r_Band_Iterator r_GMarray::get_band_iterator | ( | unsigned int | band | ) |
get a band iterator
| r_Band_Linearization r_GMarray::get_band_linearization | ( | ) | const |
| const r_Base_Type* r_GMarray::get_base_type_schema | ( | ) |
get base type schema
| r_Cell_Linearization r_GMarray::get_cell_linearization | ( | ) | const |
| r_Data_Format r_GMarray::get_current_format | ( | ) | const |
get current data format
| const r_Storage_Layout* r_GMarray::get_storage_layout | ( | ) | const |
gets a pointer to the storage layout object
get the internal representation of the array for reading
| r_Bytes r_GMarray::get_type_length | ( | ) | const |
get length of cell type in bytes
|
virtual |
inserts an object into the database
Implements r_Object.
|
virtual |
insert myself into a specific collection in the database
Implements r_Object.
| r_GMarray* r_GMarray::intersect | ( | const r_Minterval & | where | ) | const |
Returns a r_GMarray that is the intersection of the current domain with the specified interval.
| const char* r_GMarray::operator[] | ( | const r_Point & | ) | const |
subscript operator for read access of a cell.
Not supported on channel-interleaved arrays, use r_Band_Iterator in that case.
|
virtual |
writes the state of the object to the specified stream
Reimplemented in r_Marray< T >.
| void r_GMarray::print_status | ( | std::ostream & | s, |
| int | hexoutput | ||
| ) |
writes the state of the object to the specified stream
|
virtual |
it is called when an object leaves transient memory (internal use only)
Reimplemented from r_Object.
| void r_GMarray::set_array | ( | char * | ) |
set the internal representation of the array
| void r_GMarray::set_array_size | ( | r_Bytes | ) |
set size of internal memory representation in bytes
| void r_GMarray::set_band_linearization | ( | r_Band_Linearization | ) |
set band linearization to pixel-interleaved or channel-interleaved in case of multi-band array
| void r_GMarray::set_cell_linearization | ( | r_Cell_Linearization | ) |
set cell linearization. Only ColumnMajor is supported currently.
| void r_GMarray::set_current_format | ( | r_Data_Format | ) |
set current data format
| void r_GMarray::set_spatial_domain | ( | const r_Minterval & | domain | ) |
set spatial domain
| void r_GMarray::set_storage_layout | ( | r_Storage_Layout * | ) |
sets the storage layout object and checks compatibility with the domain
set the internal representation of the array
| void r_GMarray::set_type_length | ( | r_Bytes | ) |
set length of cell type in bytes
| const r_Minterval& r_GMarray::spatial_domain | ( | ) | const |
getting the spatial domain
|
protected |
relevant if data has multiple bands (channels) of data
|
protected |
cell linearization.
Note: only ColumnMajor supported currently.
|
protected |
store current data format
|
protected |
pointer to the internal array representation
|
protected |
size of internal array representation in bytes
|
protected |
spatial domain
|
protected |
pointer to storage layout object
|
protected |
length of the cell base type in bytes
1.8.17