Quantum GIS API Documentation  1.7.5-Wroclaw
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
qgsoverlayobject.cpp
Go to the documentation of this file.
1 /***************************************************************************
2  qgsoverlayobject.cpp - description
3  ------------------------------
4  begin : January 2007
5  copyright : (C) 2007 by Marco Hugentobler
6  email : marco dot hugentobler at karto dot baug dot ethz dot ch
7  ***************************************************************************/
8 
9 /***************************************************************************
10  * *
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. *
15  * *
16  ***************************************************************************/
17 
18 #include "qgsoverlayobject.h"
19 #include "qgsgeometry.h"
20 
21 QgsOverlayObject::QgsOverlayObject( int width, int height, double rotation, QgsGeometry* geometry ): mWidth( width ), mHeight( height ), mRotation( rotation ), mGeometry( geometry )
22 {
23 
24 }
25 
27 {
28  delete mGeometry;
29 }
30 
31 QgsOverlayObject::QgsOverlayObject( const QgsOverlayObject& other ): mWidth( other.width() ), mHeight( other.height() ), mPositions( other.positions() ), mRotation( other.rotation() )
32 {
33  mGeometry = new QgsGeometry( *( other.geometry() ) );
34 }
35 
37 {
38  mWidth = other.width();
39  mHeight = other.height();
40  mPositions = other.positions();
41  mRotation = other.rotation();
42  mGeometry = new QgsGeometry( *( other.geometry() ) );
43  return *this;
44 }
45 
47 {
48  if ( !mGeometry )
49  {
50  return 0;
51  }
52 
53  return mGeometry->asGeos();
54 }
55 
56 void QgsOverlayObject::addPosition( const QgsPoint& position )
57 {
58  mPositions.push_back( position );
59 }
60 
62 {
63  delete mGeometry;
64  mGeometry = g;
65 }
66 
68 {
69  if ( mPositions.size() > 0 )
70  {
71  return mPositions.at( 0 );
72  }
73  else
74  {
75  return QgsPoint( 0.0, 0.0 );
76  }
77 }