1
/***************************************************************************
2
qgsoverlayobject.cpp - description
3
------------------------------
5
copyright : (C) 2007 by Marco Hugentobler
6
email : marco dot hugentobler at karto dot baug dot ethz dot ch
7
***************************************************************************/
9
/***************************************************************************
11
* This program is free software; you can redistribute it and/or modify *
12
* it under the terms of the GNU General Public License as published by *
13
* the Free Software Foundation; either version 2 of the License, or *
14
* (at your option) any later version. *
16
***************************************************************************/
18
#include "qgsoverlayobject.h"
19
#include "qgsgeometry.h"
21
QgsOverlayObject::QgsOverlayObject( int width, int height, double rotation, QgsGeometry* geometry ): mWidth( width ), mHeight( height ), mRotation( rotation ), mGeometry( geometry )
26
QgsOverlayObject::~QgsOverlayObject()
31
QgsOverlayObject::QgsOverlayObject( const QgsOverlayObject& other ): mWidth( other.width() ), mHeight( other.height() ), mPositions( other.positions() ), mRotation( other.rotation() )
33
mGeometry = new QgsGeometry( *( other.geometry() ) );
36
QgsOverlayObject& QgsOverlayObject::operator=( const QgsOverlayObject & other )
38
mWidth = other.width();
39
mHeight = other.height();
40
mPositions = other.positions();
41
mRotation = other.rotation();
42
mGeometry = new QgsGeometry( *( other.geometry() ) );
46
GEOSGeometry* QgsOverlayObject::getGeosGeometry()
53
return mGeometry->asGeos();
56
void QgsOverlayObject::addPosition( const QgsPoint& position )
58
mPositions.push_back( position );
61
void QgsOverlayObject::setGeometry( QgsGeometry* g )
67
QgsPoint QgsOverlayObject::position() const
69
if ( mPositions.size() > 0 )
71
return mPositions.at( 0 );
75
return QgsPoint( 0.0, 0.0 );