52 template<
typename T,
size_t M>
55 if(
getUri().getDimensions() != 1 )
57 std::cerr <<
"URI " <<
Str(
getUri() ).
cStr() <<
" is not 1D." << std::endl;
60 else if(
getUri().getDimension1() != M )
79 if(
getUri().getDimensions() != 1 )
81 std::cerr <<
"URI " <<
Str(
getUri() ).
cStr() <<
" is not 1D." << std::endl;
93 template<
typename T,
size_t M,
size_t N>
96 if(
getUri().getDimensions() != 2 )
98 std::cerr <<
"URI " <<
Str(
getUri() ).
cStr() <<
" is not 2D." << std::endl;
101 else if(
getUri().getDimension1() != M ||
getUri().getDimension2() != N )
125 if(
getUri().getDimensions() != 2 )
127 std::cerr <<
"URI " <<
Str(
getUri() ).
cStr() <<
" is not 2D." << std::endl;
130 else if(
getUri().getDimension1() != m ||
getUri().getDimension2() != n )
144 template<
typename T,
size_t M,
size_t N,
size_t O>
147 if(
getUri().getDimensions() != 3 )
149 std::cerr <<
"URI " <<
Str(
getUri() ).
cStr() <<
" is not 3D." << std::endl;
152 else if(
getUri().getDimension1() != M ||
getUri().getDimension2() != N ||
getUri().getDimension3() != O )
176 if(
getUri().getDimensions() != 3 )
178 std::cerr <<
"URI " <<
Str(
getUri() ).
cStr() <<
" is not 3D." << std::endl;
181 else if(
getUri().getDimension1() != m ||
getUri().getDimension2() != n ||
getUri().getDimension3() != o )
242 const Unit& defaultUnit )
int read1DClass(const Unit &unit, I1D< T > &i1d)
Definition: BlobReader.h:70
const unsigned short getDimension2() const
Definition: ElementURI.h:136
virtual bool read(DataValue &readTo)=0
void * getBytes()
Definition: BlobValue.h:227
Contains the DataReader class definition.
BlobReader(Component *owner, DataElement &element, const Unit &defaultUnit)
Definition: BlobReader.h:240
const unsigned short getDimension1() const
Definition: ElementURI.h:131
A DataAccessor that reads values from the Slate Contains a default dataValue that must not be NULL...
Definition: DataReader.h:30
virtual int getM() const =0
int read1DPtr(const Unit &unit, T *values, int m)
Definition: BlobReader.h:77
#define MIN(a, b)
Minimum of two values – also available as AuvMath::Min() template function If either argument is a N...
Definition: AuvMath.h:49
BlobValue readBlob(bool &success)
Definition: BlobReader.h:45
Definition: BlobReader.h:212
virtual int getM() const =0
BlobValue blobValue_
Definition: BlobReader.h:196
virtual ~AbstractBlobReader()
Abstract parent class that adds the capability of reading BlobValues to a "normal" DataReader See bel...
Definition: BlobReader.h:35
virtual const ElementURI & getUri(void) const =0
virtual const ElementURI & getUri(void) const
Definition: DataAccessor.cpp:49
A DataValue is an abstract base class for a data value and associated engineering units of the value...
Definition: DataValue.h:35
int read2DClass(const Unit &unit, I2D< T > &i2d)
Definition: BlobReader.h:116
size_t getElements()
Definition: BlobValue.h:217
int read1DArray(const Unit &unit, T(&x)[M])
Definition: BlobReader.h:53
virtual const ElementURI & getUri(void) const
Definition: BlobReader.h:231
const unsigned short getDimension3() const
Definition: ElementURI.h:141
virtual bool read(DataValue &readTo)
A DataReader for reading BlobValues, normally created via Component::newBlobReader() ...
Definition: BlobReader.h:225
int copyTo(const Unit &unit, T *array, size_t elements)
Definition: BlobValue.cpp:272
virtual int getN() const =0
virtual int getM() const =0
Replacement for standard template class string.
Definition: Str.h:12
int read2DPtr(const Unit &unit, T **values, int m, int n)
Definition: BlobReader.h:123
Abstract Base class for software components.
Definition: Component.h:53
Wraps a StrValue as an arbitrary collection of binary values, with units.
Definition: BlobValue.h:26
bool read(const Unit &unit, unsigned char &readTo)
Get functions.
Definition: DataReader.cpp:82
Definition: BlobReader.h:21
const char * cStr() const
Definition: Str.h:188
virtual int getO() const =0
virtual T *** getPtr3d()=0
AbstractBlobReader(const ElementURI &uri)
Definition: BlobReader.h:198
virtual T ** getPtr2d()=0
Code unit that represents a unique name for a DataElement.
Definition: ElementURI.h:27
int read2DArray(const Unit &unit, T(&x)[M][N])
Definition: BlobReader.h:94
int read3DPtr(const Unit &unit, T ***values, int m, int n, int o)
Definition: BlobReader.h:174
int read3DClass(const Unit &unit, I3D< T > &i3d)
Definition: BlobReader.h:167
Code that represents an engineering unit.
Definition: Unit.h:24
Contains the BlobValue class definition.
int read3DArray(const Unit &unit, T(&x)[M][N][O])
Definition: BlobReader.h:145
virtual int getN() const =0
Abstact base class for one "element" of the Slate.
Definition: DataElement.h:37