Ilwis-Objects  1.0
GIS and Remote Sensing framework for data access and processing
 All Classes Functions Enumerations Pages
Public Types | Public Member Functions | List of all members
Ilwis::Box< T > Class Template Reference

#include <box.h>

Inheritance diagram for Ilwis::Box< T >:
Ilwis::Range

Public Types

enum  Dimension { dim0 =0, dimX =1, dimY =2, dimZ =4 }
 

Public Member Functions

 Box (const PointType &pMin, const PointType &pMax)
 
 Box (const Box< PointType > &bx)
 
 Box (Box< PointType > &&box)
 
 Box (const QSize &sz)
 
template<typename T >
 Box (const Size< T > &sz)
 
 Box (const QString &envelope)
 
IlwisTypes valueType () const
 valueType returns the type of values contained in the range More...
 
Rangeclone () const
 
PointType min_corner () const
 
PointType max_corner () const
 
PointType & min_corner ()
 
PointType & max_corner ()
 
double xlength () const
 
double ylength () const
 
double zlength () const
 
template<typename T = quint32>
Size< T > size () const
 
bool is3D () const
 
quint64 area () const
 
quint64 volume () const
 
bool contains (const PointType &p) const
 
bool contains (Box< PointType > &box) const
 
bool contains (const QVariant &value, bool inclusive=true) const
 
bool equals (Box< PointType > &box, double delta=0) const
 
bool isValid () const
 
bool isNull () const
 
Box< PointType > & operator= (Box< PointType > &&box)
 
Box< PointType > & operator= (const Box< PointType > &box)
 
Box< PointType > & operator+= (const double &v)
 
Box< PointType > & operator*= (const double &v)
 
Box< PointType > & operator+= (const PointType &pnew)
 
Box< PointType > & operator-= (const PointType &pnew)
 
template<class T >
Box< PointType > & operator+= (const std::vector< T > &vec)
 
Box< PointType > & operator+= (const Box< PointType > &box)
 
bool operator== (const Box< PointType > &box) const
 
bool operator!= (const Box< PointType > &box) const
 
QVariant impliedValue (const QVariant &v) const
 
template<typename T >
void ensure (const Size< T > &sz)
 
void copyFrom (const Box< PointType > &box, quint32 dimensions=dimX|dimY|dimZ)
 
QString toString () const
 
- Public Member Functions inherited from Ilwis::Range
virtual IlwisTypes determineType () const
 determineType determines the minimal range needed type for this range. More...
 
template<typename T >
T * merge (const QSharedPointer< T > &range1, const QSharedPointer< T > &range2, RenumberMap *rnm=0)
 
virtual QVariant ensure (const QVariant &v, bool inclusive=true) const
 
virtual bool isContinuous () const
 
void interpolation (const QString &ip)
 
virtual QString interpolation () const
 

Additional Inherited Members

- Protected Attributes inherited from Ilwis::Range
IlwisTypes _vt
 
QString _interpolation
 

Detailed Description

template<class T>
class Ilwis::Box< T >

The box class is an abstraction for any rectangular area or volumne used in Ilwis. It is applicable for both grid like areas ( e.g. rasters) as world coordinate areas.

Constructor & Destructor Documentation

template<class T>
Ilwis::Box< T >::Box ( const QString &  envelope)
inline

Constructs a box based on a WKT bases coordinate string

Parameters
envelope,thecoordinate string marked as POLYGON

Member Function Documentation

template<class T>
Range* Ilwis::Box< T >::clone ( ) const
inlinevirtual

copies the range to a new instance. This pointer has to be deleted by the caller

Returns
the new Range

Implements Ilwis::Range.

template<class T>
bool Ilwis::Box< T >::isValid ( ) const
inlinevirtual

determines the validity of a range. This method must be implemented by each deravative

Returns
true for a valid range

Implements Ilwis::Range.

template<class T>
QString Ilwis::Box< T >::toString ( ) const
inlinevirtual

translates the string into a string representation. As each type of range has a different string representation this method has to be reimplemented by each derivative

Returns
a string

Implements Ilwis::Range.

template<class T>
IlwisTypes Ilwis::Box< T >::valueType ( ) const
inlinevirtual

valueType returns the type of values contained in the range

Returns
an ilwistype

Reimplemented from Ilwis::Range.


The documentation for this class was generated from the following files: