Loading...
Searching...
No Matches
SegmenterSegmentsBlock.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/rp/SegmenterSegmentsBlock.h
22 \brief Segments block.
23 */
24
25#ifndef __TERRALIB_RP_INTERNAL_SEGMENTERSEGMENTSBLOCK_H
26#define __TERRALIB_RP_INTERNAL_SEGMENTERSEGMENTSBLOCK_H
27
28 #include "Config.h"
29
30 #include <vector>
31
32 namespace te
33 {
34 namespace rp
35 {
36
37 /*!
38 \class SegmenterSegmentsBlock
39 \brief Segmenter segments block description class.
40 */
42 {
43 public :
44
45 /*! Block status flag. */
47 {
48 /*! This block was not processed yet */
49 BlockNotProcessed = 0,
50 /*! This block is under segmentation */
51 BlockUnderSegmentation = 1,
52 /*! This block already was segmented */
53 BlockSegmented = 2
54 };
55
56 /*! Segment ID data type definition - (zero: means invalid ID) */
57 typedef unsigned int SegmentIdDataType;
58
59 /*! Block status - default:BlockNotProcessed*/
61
62 /*! Block upper left X over input full image - default:UINT_MAX*/
63 unsigned int m_startX;
64
65 /*! Block upper left Y over input full image - default:UINT_MAX*/
66 unsigned int m_startY;
67
68 /*! Block width - default:0*/
69 unsigned int m_width;
70
71 /*! Block height - default:0*/
72 unsigned int m_height;
73
74 /*! Block X index inside the segments matrix - default:0*/
76
77 /*! Block Y index inside the segments matrix - default:0*/
79
80 /*! Top cut off profile - a vector of block line numbers (all pixels
81 above this line must be ignored - the size of this vector is m_width - default:empty vector*/
82 std::vector< unsigned int > m_topCutOffProfile;
83
84 /*! Bottom cut off profile - a vector of block line number (all pixels
85 below this line must be ignored - the size of this vector is m_width - default:empty vector*/
86 std::vector< unsigned int > m_bottomCutOffProfile;
87
88 /*! Left cut off profile - a vector of block column numbers (all pixels
89 to the left of this line must be ignored - the size of this vector is m_height - default:empty vector*/
90 std::vector< unsigned int > m_leftCutOffProfile;
91
92 /*! Right cut off profile - a vector of block column numbers (all pixels
93 to the right of this line must be ignored - the size of this vector is m_height - default:empty vector*/
94 std::vector< unsigned int > m_rightCutOffProfile;
95
97
99
100 /*! Clear all internal data */
101 void clear();
102
103 protected :
104
106
107 const SegmenterSegmentsBlock& operator= (
108 const SegmenterSegmentsBlock& );
109 };
110 } // namespace rp
111 } // namespace te
112
113#endif
Segmenter segments block description class.
std::vector< unsigned int > m_topCutOffProfile
std::vector< unsigned int > m_bottomCutOffProfile
std::vector< unsigned int > m_rightCutOffProfile
SegmenterSegmentsBlock(const SegmenterSegmentsBlock &)
std::vector< unsigned int > m_leftCutOffProfile
TerraLib.
#define TERPEXPORT
You can use this macro in order to export/import classes and functions from this module.
Definition: Config.h:139
Proxy configuration file for TerraView (see terraview_config.h).