QGIS API Documentation  2.8.2-Wien
Line3D.h
Go to the documentation of this file.
1 /***************************************************************************
2  Line3D.h - description
3  -------------------
4  copyright : (C) 2004 by Marco Hugentobler
5  email : mhugent@geo.unizh.ch
6  ***************************************************************************/
7
8 /***************************************************************************
9  * *
10  * This program is free software; you can redistribute it and/or modify *
12  * the Free Software Foundation; either version 2 of the License, or *
13  * (at your option) any later version. *
14  * *
15  ***************************************************************************/
16
17 #ifndef LINE3D_H
18 #define LINE3D_H
19
20 #include "Point3D.h"
21 #include "Node.h"
22
24 class ANALYSIS_EXPORT Line3D
25 {
26  private:
28  Line3D( const Line3D& );
30  Line3D& operator=( const Line3D& );
31  protected:
33  Node* z;
35  unsigned int size;
36  unsigned int current;
37
38  public:
39  Line3D();
40  ~Line3D();
42  bool empty() const;
44  void insertPoint( Point3D* p );
46  void removePoint();
48  Point3D* getPoint() const;
50  unsigned int getCurrent() const;
52  unsigned int getSize() const;
54  void goToBegin();
56  void goToNext();
57 };
58
59 inline Line3D::Line3D( const Line3D& )
60 {
61
62 }
63
64 inline Line3D& Line3D::operator=( const Line3D& )
65 {
66  return ( *this );
67 }
68
69 inline unsigned int Line3D::getCurrent() const
70 {
71  return current;
72 }
73
74 inline Point3D* Line3D::getPoint() const
75 {
76  return ( currentNode->getPoint() );
77 }
78
79 inline unsigned int Line3D::getSize() const
80 {
81  return size;
82 }
83
84 #endif