Loading...
Searching...
No Matches
VectorizerPolygonStructure.h
Go to the documentation of this file.
1/* Copyright (C) 2008 National Institute For Space Research (INPE) - Brazil.
2
3 This file is part of the TerraLib - a Framework for building GIS enabled applications.
4
5 TerraLib is free software: you can redistribute it and/or modify
6 it under the terms of the GNU Lesser General Public License as published by
7 the Free Software Foundation, either version 3 of the License,
8 or (at your option) any later version.
9
10 TerraLib is distributed in the hope that it will be useful,
11 but WITHOUT ANY WARRANTY; without even the implied warranty of
12 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
13 GNU Lesser General Public License for more details.
14
15 You should have received a copy of the GNU Lesser General Public License
16 along with TerraLib. See COPYING. If not, write to
17 TerraLib Team at <terralib-team@terralib.org>.
18 */
19
20/*!
21 \file terralib/raster/VectorizerPolygonStructure.h
22
23 \brief A polygon container node class.
24*/
25
26#ifndef __TERRALIB_RASTER_INTERNAL_VECTORIZERPOLYGONSTRUCTURE_H
27#define __TERRALIB_RASTER_INTERNAL_VECTORIZERPOLYGONSTRUCTURE_H
28
29// TerraLib
30#include "../geometry/Polygon.h"
31#include "TileIndexer.h"
32#include "Config.h"
33
34#include <memory>
35
36namespace te
37{
38 namespace rst
39 {
40 /*!
41 \class VectorizerPolygonStructure
42
43 \brief A polygon container node class.
44 */
46 {
47 public:
48 /*! \brief Default constructor. */
50
51 /*!
52 \brief Copy constructor.
53
54 \param rhs The right-hand side VectorizerPolygonStructure.
55 */
57
58 /*!
59 \brief Constructor with non default parameters.
60
61 \param polPtr Polygon pointer (this structure will take the ownership of the given pointer)
62 \param v The pixel value related to the polygon.
63 \param tidy Tile indexer dy.
64 */
65 VectorizerPolygonStructure( te::gm::Polygon* polPtr, const double& v, const double& tidy);
66
67 /*! \brief Default destructor. */
69
70 /*! \brief Init internal variables. */
71 void init();
72
73 /*! \brief Init internal variables. */
74 void clear();
75
76 /*!
77 \brief Reset the current instance.
78
79 \param polPtr Polygon pointer (this structure will take the ownership of the given pointer)
80 \param v Pixel value related to the polygon.
81 \param tidy Tile indexer dy.
82
83 */
84 void reset( te::gm::Polygon* polPtr, const double& v, const double& tidy);
85
86 /*!
87 \brief Assignment operator.
88
89 \param rhs The right-hand-side copy that would be used to copy from.
90
91 \return A reference to this object.
92 */
94
95 public:
96
97 double m_value; //!< The pixel value related to a polygon.
98 double m_tileIndexerDY; //!< The polygon tile indexer Y Axis resolution.
99 std::unique_ptr< te::rst::TileIndexer > m_indexerPtr; //!< A pointer to the polygon tile indexer pointer.
100 std::unique_ptr< te::gm::Polygon > m_polygonPtr; //!< A pointer to the stored polygon instance.
101
102 };
103
104 } // end namespace rst
105} // end namespace te
106
107#endif // __TERRALIB_RASTER_INTERNAL_VECTORIZERPOLYGONSTRUCTURE_H
Polygon tile indexing class for optmized geometrical relational tests.
Polygon is a subclass of CurvePolygon whose rings are defined by linear rings.
Definition: Polygon.h:51
VectorizerPolygonStructure & operator=(const VectorizerPolygonStructure &rhs)
Assignment operator.
double m_value
The pixel value related to a polygon.
VectorizerPolygonStructure(const VectorizerPolygonStructure &rhs)
Copy constructor.
void clear()
Init internal variables.
VectorizerPolygonStructure(te::gm::Polygon *polPtr, const double &v, const double &tidy)
Constructor with non default parameters.
void init()
Init internal variables.
VectorizerPolygonStructure()
Default constructor.
std::unique_ptr< te::rst::TileIndexer > m_indexerPtr
A pointer to the polygon tile indexer pointer.
~VectorizerPolygonStructure()
Default destructor.
double m_tileIndexerDY
The polygon tile indexer Y Axis resolution.
void reset(te::gm::Polygon *polPtr, const double &v, const double &tidy)
Reset the current instance.
std::unique_ptr< te::gm::Polygon > m_polygonPtr
A pointer to the stored polygon instance.
TerraLib.
#define TERASTEREXPORT
You can use this macro in order to export/import classes and functions from this module.
Definition: Config.h:63
Proxy configuration file for TerraView (see terraview_config.h).