OSSIM - Open Source Software Image Map
Version 1.9.0 (20180803)
ossim-plugins
potrace
src
ossimPotraceTool.h
Go to the documentation of this file.
1
//**************************************************************************************************
2
//
3
// OSSIM Open Source Geospatial Data Processing Library
4
// See top level LICENSE.txt file for license information
5
//
6
//**************************************************************************************************
7
8
#ifndef ossimPotraceUtility_HEADER
9
#define ossimPotraceUtility_HEADER 1
10
11
#include <
ossim/plugin/ossimPluginConstants.h
>
12
#include <
ossim/imaging/ossimImageHandler.h
>
13
#include <
ossim/util/ossimChipProcTool.h
>
14
15
extern
"C"
{
16
#include "
potracelib.h
"
17
}
18
19
class
OSSIM_DLL
ossimPotraceTool
:
public
ossimChipProcTool
20
{
21
public
:
22
static
const
char
*
DESCRIPTION
;
23
enum
OutputMode
{
POLYGON
, LINESTRING };
24
25
ossimPotraceTool
();
26
27
virtual
~
ossimPotraceTool
();
28
29
virtual
void
setUsage
(
ossimArgumentParser
& ap);
30
31
virtual
bool
initialize
(
ossimArgumentParser
& ap);
32
33
virtual
void
initialize
(
const
ossimKeywordlist
& ap);
34
35
virtual
bool
execute
();
36
37
virtual
ossimString
getClassName
()
const
{
return
"ossimPotraceUtil"
; }
38
39
virtual
void
getKwlTemplate
(
ossimKeywordlist
& kwl);
40
41
private
:
42
class
Path
43
{
44
public
:
45
Path
() : closed(
true
) {}
46
~
Path
();
47
void
addPotraceCurve(
potrace_curve_t
& curve,
int
segment);
48
std::vector<ossimDpt>
vertices
;
49
bool
closed
;
50
};
51
52
virtual
void
initProcessingChain
();
53
virtual
void
finalizeChain
();
54
potrace_bitmap_t
* convertToBitmap(
ossimImageSource
* handler);
55
bool
writeGeoJSON(
potrace_path_t
* vectorList);
56
bool
pixelIsMasked(
const
ossimIpt
& image_pt,
potrace_bitmap_t
* bitmap)
const
;
57
void
transformLineStrings(
potrace_state_t
* pathTree);
58
void
transformPolygons(
potrace_state_t
* pathTree);
59
60
OutputMode
m_mode
;
61
double
m_alphamax
;
62
int
m_turdSize
;
63
bool
m_outputToConsole
;
64
potrace_bitmap_t
*
m_maskBitmap
;
65
potrace_bitmap_t
*
m_productBitmap
;
66
};
67
68
#endif
/* #ifndef ossimPotraceUtility_HEADER */
ossimPotraceTool::OutputMode
OutputMode
Definition:
ossimPotraceTool.h:23
potrace_state_s
Definition:
potracelib.h:106
ossimChipProcTool::initialize
virtual bool initialize(ossimArgumentParser &ap)
Initial method to be ran prior to execute.
Definition:
ossimChipProcTool.cpp:97
ossimPotraceTool::DESCRIPTION
static const char * DESCRIPTION
Definition:
ossimPotraceTool.h:22
ossimChipProcTool::initProcessingChain
virtual void initProcessingChain()=0
Derived classes initialize their custom chains here.
ossimPotraceTool::getClassName
virtual ossimString getClassName() const
Definition:
ossimPotraceTool.h:37
ossimImageHandler.h
ossimKeywordlist
Represents serializable keyword/value map.
Definition:
ossimKeywordlist.h:50
ossimPotraceTool::m_maskBitmap
potrace_bitmap_t * m_maskBitmap
Definition:
ossimPotraceTool.h:64
ossimPotraceTool::m_turdSize
int m_turdSize
Definition:
ossimPotraceTool.h:62
ossimChipProcTool.h
true
return true
Definition:
ossimGeneralRasterTileSource.cpp:987
ossimTool::getKwlTemplate
virtual void getKwlTemplate(ossimKeywordlist &kwl)
Assigns a template keywordlist to string for initializing derived classes.
Definition:
ossimTool.cpp:100
ossimPotraceTool
Definition:
ossimPotraceTool.h:19
ossimArgumentParser
Definition:
ossimArgumentParser.h:18
ossimPotraceTool::m_mode
OutputMode m_mode
Definition:
ossimPotraceTool.h:60
ossimChipProcTool::setUsage
virtual void setUsage(ossimArgumentParser &ap)
Initializes the aurgument parser with expected parameters and options.
Definition:
ossimChipProcTool.cpp:1520
ossimIpt
Definition:
ossimIpt.h:28
potrace_path_s
Definition:
potracelib.h:86
ossimChipProcTool::finalizeChain
virtual void finalizeChain()
Called after initProcessingChain() to append common items to the processing chain.
Definition:
ossimChipProcTool.cpp:354
ossimPotraceTool::POLYGON
Definition:
ossimPotraceTool.h:23
ossimPotraceTool::Path::Path
Path()
Definition:
ossimPotraceTool.h:45
ossimPotraceTool::m_alphamax
double m_alphamax
Definition:
ossimPotraceTool.h:61
ossimPotraceTool::Path::vertices
std::vector< ossimDpt > vertices
Definition:
ossimPotraceTool.h:48
ossimPotraceTool::m_outputToConsole
bool m_outputToConsole
Definition:
ossimPotraceTool.h:63
potracelib.h
potrace_bitmap_s
Definition:
potracelib.h:55
ossimChipProcTool
Definition:
ossimChipProcTool.h:42
ossimPotraceTool::Path
Definition:
ossimPotraceTool.h:42
ossimPluginConstants.h
OSSIM_DLL
#define OSSIM_DLL
Definition:
ossimConstants.h:72
potrace_curve_s
Definition:
potracelib.h:77
ossimPotraceTool::Path::closed
bool closed
Definition:
ossimPotraceTool.h:49
ossimPotraceTool::m_productBitmap
potrace_bitmap_t * m_productBitmap
Definition:
ossimPotraceTool.h:65
ossimImageSource
Definition:
ossimImageSource.h:23
ossimChipProcTool::execute
virtual bool execute()
Performs the actual product write.
Definition:
ossimChipProcTool.cpp:394
ossimString
Definition:
ossimString.h:22
Generated on Fri Aug 3 2018 08:46:52 for OSSIM - Open Source Software Image Map by
1.8.14