QgsOverlayObject Class Reference

An object that holds information about the position and bounding box size of an overlay object. More...

#include <qgsoverlayobject.h>

Collaboration diagram for QgsOverlayObject:

Collaboration graph
[legend]

List of all members.

Public Member Functions

 QgsOverlayObject (int width=0, int height=0, double rotation=0, QgsGeometry *geometry=0)
virtual ~QgsOverlayObject ()
 QgsOverlayObject (const QgsOverlayObject &other)
QgsOverlayObjectoperator= (const QgsOverlayObject &other)
GEOSGeometry * getGeosGeometry ()
 Returns the feature geometry in geos format.
void releaseGeosGeometry (GEOSGeometry *the_geom)
 Feature geometry is released when object is destructed so this function is empty.
int width () const
int height () const
double rotation () const
QgsGeometrygeometry ()
const QgsGeometrygeometry () const
QgsPoint position () const
QList< QgsPointpositions () const
void setHeight (int height)
void setWidth (int width)
void setRotation (double rotation)
void setGeometry (QgsGeometry *g)
 Set geometry.
void addPosition (const QgsPoint &position)
 Adds a position in map coordinates.

Private Attributes

int mWidth
 Width of the bounding box in pixels.
int mHeight
 Height of the bounding box in pixels.
QList< QgsPointmPositions
 Position of the object in map coordinates.
double mRotation
 Rotation of the object.
QgsGeometrymGeometry
 Copy of the feature geometry.


Detailed Description

An object that holds information about the position and bounding box size of an overlay object.

It stores a copy of the feature geometry as this information is commonly used to calculate object placement

Note:
This class has been added in version 1.1

Definition at line 32 of file qgsoverlayobject.h.


Constructor & Destructor Documentation

QgsOverlayObject::QgsOverlayObject ( int  width = 0,
int  height = 0,
double  rotation = 0,
QgsGeometry geometry = 0 
)

Definition at line 21 of file qgsoverlayobject.cpp.

QgsOverlayObject::~QgsOverlayObject (  )  [virtual]

Definition at line 26 of file qgsoverlayobject.cpp.

References mGeometry.

QgsOverlayObject::QgsOverlayObject ( const QgsOverlayObject other  ) 

Definition at line 31 of file qgsoverlayobject.cpp.

References geometry(), and mGeometry.


Member Function Documentation

QgsOverlayObject & QgsOverlayObject::operator= ( const QgsOverlayObject other  ) 

GEOSGeometry * QgsOverlayObject::getGeosGeometry (  ) 

Returns the feature geometry in geos format.

The calling function does _not_ take ownership of the generated object. The geometry is in map coordinates

Note:
: this function is deprecated. Please use geometry() and QgsGeometry::asGeos instead

Definition at line 46 of file qgsoverlayobject.cpp.

References QgsGeometry::asGeos(), and mGeometry.

void QgsOverlayObject::releaseGeosGeometry ( GEOSGeometry *  the_geom  )  [inline]

Feature geometry is released when object is destructed so this function is empty.

This function is deprecated and does nothing

Definition at line 48 of file qgsoverlayobject.h.

int QgsOverlayObject::width (  )  const [inline]

Definition at line 51 of file qgsoverlayobject.h.

Referenced by operator=().

int QgsOverlayObject::height (  )  const [inline]

Definition at line 52 of file qgsoverlayobject.h.

Referenced by operator=().

double QgsOverlayObject::rotation (  )  const [inline]

Definition at line 53 of file qgsoverlayobject.h.

Referenced by operator=().

QgsGeometry* QgsOverlayObject::geometry (  )  [inline]

Definition at line 54 of file qgsoverlayobject.h.

Referenced by QgsPALGeometry::getGeosGeometry(), operator=(), and QgsOverlayObject().

const QgsGeometry* QgsOverlayObject::geometry (  )  const [inline]

Definition at line 55 of file qgsoverlayobject.h.

QgsPoint QgsOverlayObject::position (  )  const

Definition at line 67 of file qgsoverlayobject.cpp.

References mPositions.

QList<QgsPoint> QgsOverlayObject::positions (  )  const [inline]

Definition at line 57 of file qgsoverlayobject.h.

Referenced by operator=().

void QgsOverlayObject::setHeight ( int  height  )  [inline]

Definition at line 60 of file qgsoverlayobject.h.

void QgsOverlayObject::setWidth ( int  width  )  [inline]

Definition at line 61 of file qgsoverlayobject.h.

void QgsOverlayObject::setRotation ( double  rotation  )  [inline]

Definition at line 62 of file qgsoverlayobject.h.

void QgsOverlayObject::setGeometry ( QgsGeometry g  ) 

Set geometry.

This class takes ownership of the object

Definition at line 61 of file qgsoverlayobject.cpp.

References mGeometry.

void QgsOverlayObject::addPosition ( const QgsPoint position  ) 

Adds a position in map coordinates.

Definition at line 56 of file qgsoverlayobject.cpp.

References mPositions.

Referenced by QgsPALObjectPositionManager::findObjectPositions().


Member Data Documentation

int QgsOverlayObject::mWidth [private]

Width of the bounding box in pixels.

Definition at line 72 of file qgsoverlayobject.h.

Referenced by operator=().

Height of the bounding box in pixels.

Definition at line 74 of file qgsoverlayobject.h.

Referenced by operator=().

Position of the object in map coordinates.

Note that it is possible that an object has several positions, e.g. a multiobject or an object that is split into multiple parts by the edge of the view extent. It is also possible that there is no position (e.g. geometry too small). In that case

Definition at line 79 of file qgsoverlayobject.h.

Referenced by addPosition(), operator=(), and position().

double QgsOverlayObject::mRotation [private]

Rotation of the object.

Definition at line 81 of file qgsoverlayobject.h.

Referenced by operator=().

Copy of the feature geometry.

A copy is necessary because in QGIS geometries are deleted after drawing. The geometry is in map coordinates

Definition at line 84 of file qgsoverlayobject.h.

Referenced by getGeosGeometry(), operator=(), QgsOverlayObject(), setGeometry(), and ~QgsOverlayObject().


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

Generated on Sat Feb 4 19:17:42 2012 for Quantum GIS API Documentation by  doxygen 1.5.6