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
*/
41
class
TERPEXPORT
SegmenterSegmentsBlock
42
{
43
public :
44
45
/*! Block status flag. */
46
enum
BlockStatus
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*/
60
BlockStatus
m_status
;
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*/
75
unsigned
int
m_segmentsMatrixXIndex
;
76
77
/*! Block Y index inside the segments matrix - default:0*/
78
unsigned
int
m_segmentsMatrixYIndex
;
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
96
SegmenterSegmentsBlock
();
97
98
~SegmenterSegmentsBlock
();
99
100
/*! Clear all internal data */
101
void
clear
();
102
103
protected :
104
105
SegmenterSegmentsBlock
(
const
SegmenterSegmentsBlock
& );
106
107
const
SegmenterSegmentsBlock
& operator= (
108
const
SegmenterSegmentsBlock
& );
109
};
110
}
// namespace rp
111
}
// namespace te
112
113
#endif
te
TerraLib.
Definition:
AddressGeocodingOp.h:52
te::rp::SegmenterSegmentsBlock::SegmenterSegmentsBlock
SegmenterSegmentsBlock(const SegmenterSegmentsBlock &)
te::rp::SegmenterSegmentsBlock::m_startX
unsigned int m_startX
Definition:
SegmenterSegmentsBlock.h:63
te::rp::SegmenterSegmentsBlock::m_topCutOffProfile
std::vector< unsigned int > m_topCutOffProfile
Definition:
SegmenterSegmentsBlock.h:82
te::rp::SegmenterSegmentsBlock::SegmenterSegmentsBlock
SegmenterSegmentsBlock()
te::rp::SegmenterSegmentsBlock::SegmentIdDataType
unsigned int SegmentIdDataType
Definition:
SegmenterSegmentsBlock.h:57
te::rp::SegmenterSegmentsBlock::m_startY
unsigned int m_startY
Definition:
SegmenterSegmentsBlock.h:66
te::rp::SegmenterSegmentsBlock::m_segmentsMatrixYIndex
unsigned int m_segmentsMatrixYIndex
Definition:
SegmenterSegmentsBlock.h:78
te::rp::SegmenterSegmentsBlock::m_status
BlockStatus m_status
Definition:
SegmenterSegmentsBlock.h:60
TERPEXPORT
#define TERPEXPORT
You can use this macro in order to export/import classes and functions from this module.
Definition:
Config.h:139
te::rp::SegmenterSegmentsBlock::m_width
unsigned int m_width
Definition:
SegmenterSegmentsBlock.h:69
te::rp::SegmenterSegmentsBlock::~SegmenterSegmentsBlock
~SegmenterSegmentsBlock()
te::rp::SegmenterSegmentsBlock::m_rightCutOffProfile
std::vector< unsigned int > m_rightCutOffProfile
Definition:
SegmenterSegmentsBlock.h:94
te::rp::SegmenterSegmentsBlock::m_height
unsigned int m_height
Definition:
SegmenterSegmentsBlock.h:72
Config.h
Proxy configuration file for TerraView (see terraview_config.h).
te::rp::SegmenterSegmentsBlock::BlockStatus
BlockStatus
Definition:
SegmenterSegmentsBlock.h:47
te::rp::SegmenterSegmentsBlock
Segmenter segments block description class.
Definition:
SegmenterSegmentsBlock.h:42
te::rp::SegmenterSegmentsBlock::m_segmentsMatrixXIndex
unsigned int m_segmentsMatrixXIndex
Definition:
SegmenterSegmentsBlock.h:75
te::rp::SegmenterSegmentsBlock::clear
void clear()
te::rp::SegmenterSegmentsBlock::m_bottomCutOffProfile
std::vector< unsigned int > m_bottomCutOffProfile
Definition:
SegmenterSegmentsBlock.h:86
te::rp::SegmenterSegmentsBlock::m_leftCutOffProfile
std::vector< unsigned int > m_leftCutOffProfile
Definition:
SegmenterSegmentsBlock.h:90
git_release
src
terralib
rp
SegmenterSegmentsBlock.h
Generated on Fri Dec 4 2020 09:43:37 for TerraLib by
1.8.20