Geometrize  1.0
An application for geometrizing images into geometric primitives
synchronousimagetask.h
Go to the documentation of this file.
1 #pragma once
2 
3 #include <memory>
4 #include <vector>
5 
6 #include <QObject>
7 
9 
10 namespace geometrize
11 {
12 class Bitmap;
13 struct ShapeResult;
14 }
15 
16 namespace geometrize
17 {
18 
19 namespace task
20 {
21 
27 class SynchronousImageTask : public QObject
28 {
29  Q_OBJECT
30 public:
31  SynchronousImageTask(Bitmap& target);
32  virtual ~SynchronousImageTask();
35 
40  Bitmap& getTarget();
41 
46  Bitmap& getCurrent();
47 
51  void stepModel();
52 
57 
63 
69 
74  std::vector<geometrize::ShapeResult> getShapes() const;
75 
76 private:
78  std::unique_ptr<SynchronousImageTaskImpl> d;
79 };
80 
81 }
82 
83 }
geometrize::task::SynchronousImageTask::SynchronousImageTaskImpl::drawBackgroundRectangle
void drawBackgroundRectangle()
Definition: synchronousimagetask.cpp:57
geometrize::task::SynchronousImageTask::SynchronousImageTaskImpl::SynchronousImageTaskImpl
SynchronousImageTaskImpl(const SynchronousImageTaskImpl &)=delete
geometrize::task::SynchronousImageTask::drawBackgroundRectangle
void drawBackgroundRectangle()
drawBackgroundRectangle Convenience function that draws a background rectangle shape using the target...
Definition: synchronousimagetask.cpp:109
geometrize::task::SynchronousImageTask::SynchronousImageTask
SynchronousImageTask(const SynchronousImageTask &)=delete
geometrize::task::SynchronousImageTask::getTarget
Bitmap & getTarget()
getTarget Gets the target bitmap.
Definition: synchronousimagetask.cpp:94
geometrize::task::SynchronousImageTask::stepModel
void stepModel()
stepModel Steps the internal model, typically adding a shape.
Definition: synchronousimagetask.cpp:104
geometrize::task::SynchronousImageTask::SynchronousImageTaskImpl
Definition: synchronousimagetask.cpp:24
geometrize::task::SynchronousImageTask::SynchronousImageTask
SynchronousImageTask(Bitmap &target)
Definition: synchronousimagetask.cpp:86
geometrize::task::SynchronousImageTask::SynchronousImageTaskImpl::m_preferences
geometrize::preferences::ImageTaskPreferences m_preferences
Definition: synchronousimagetask.cpp:81
synchronousimagetask.h
geometrize::task::SynchronousImageTask::SynchronousImageTaskImpl::q
SynchronousImageTask * q
Definition: synchronousimagetask.cpp:79
geometrize::task::SynchronousImageTask::getPreferences
geometrize::preferences::ImageTaskPreferences & getPreferences()
getPreferences Gets a reference to the current preferences of this task.
Definition: synchronousimagetask.cpp:114
geometrize::task::SynchronousImageTask::SynchronousImageTaskImpl::getShapes
std::vector< geometrize::ShapeResult > getShapes() const
Definition: synchronousimagetask.cpp:73
geometrize::task::SynchronousImageTask::operator=
SynchronousImageTask & operator=(const SynchronousImageTask &)=delete
geometrize::task::SynchronousImageTask::SynchronousImageTaskImpl::m_task
std::unique_ptr< geometrize::task::ImageTask > m_task
Definition: synchronousimagetask.cpp:82
geometrize::preferences::ImageTaskPreferences
The ImageTaskPreferences class models the preferences associated with an image task.
Definition: imagetaskpreferences.h:29
geometrize::task::SynchronousImageTask::d
std::unique_ptr< SynchronousImageTaskImpl > d
Definition: synchronousimagetask.h:77
geometrize::task::SynchronousImageTask::SynchronousImageTaskImpl::SynchronousImageTaskImpl
SynchronousImageTaskImpl(SynchronousImageTask *pQ, Bitmap &target)
Definition: synchronousimagetask.cpp:26
geometrize::task::SynchronousImageTask::SynchronousImageTaskImpl::step
void step()
Definition: synchronousimagetask.cpp:52
imagetaskpreferences.h
geometrize::task::SynchronousImageTask::setPreferences
void setPreferences(preferences::ImageTaskPreferences preferences)
setPreferences Sets the preferences for this task.
Definition: synchronousimagetask.cpp:119
geometrize
Definition: commandlineparser.cpp:73
geometrize::task::SynchronousImageTask::getCurrent
Bitmap & getCurrent()
getCurrent Gets the current bitmap.
Definition: synchronousimagetask.cpp:99
imagetask.h
geometrize::task::SynchronousImageTask::SynchronousImageTaskImpl::m_stepConnection
QMetaObject::Connection m_stepConnection
Definition: synchronousimagetask.cpp:83
geometrize::task::SynchronousImageTask::SynchronousImageTaskImpl::getPreferences
geometrize::preferences::ImageTaskPreferences & getPreferences()
Definition: synchronousimagetask.cpp:63
geometrize::task::SynchronousImageTask::SynchronousImageTaskImpl::m_shapes
std::vector< geometrize::ShapeResult > m_shapes
Definition: synchronousimagetask.cpp:80
geometrize::task::SynchronousImageTask::~SynchronousImageTask
virtual ~SynchronousImageTask()
Definition: synchronousimagetask.cpp:90
geometrize::task::SynchronousImageTask::SynchronousImageTaskImpl::~SynchronousImageTaskImpl
~SynchronousImageTaskImpl()
Definition: synchronousimagetask.cpp:37
geometrize::task::SynchronousImageTask::SynchronousImageTaskImpl::setPreferences
void setPreferences(preferences::ImageTaskPreferences preferences)
Definition: synchronousimagetask.cpp:68
geometrize::task::SynchronousImageTask::SynchronousImageTaskImpl::getCurrent
Bitmap & getCurrent()
Definition: synchronousimagetask.cpp:47
geometrize::task::SynchronousImageTask::SynchronousImageTaskImpl::operator=
SynchronousImageTaskImpl operator=(const SynchronousImageTaskImpl &)=delete
geometrize::task::ImageTask::signal_modelDidStep
void signal_modelDidStep(std::vector< geometrize::ShapeResult > shapes)
signal_modelDidStep Signal that is emitted immediately after the underlying image task model is stepp...
geometrize::task::SynchronousImageTask::SynchronousImageTaskImpl::getTarget
Bitmap & getTarget()
Definition: synchronousimagetask.cpp:42
geometrize::task::SynchronousImageTask::getShapes
std::vector< geometrize::ShapeResult > getShapes() const
getShapes Gets a vector of shapes generated so far by this task.
Definition: synchronousimagetask.cpp:124
geometrize::task::SynchronousImageTask
The SynchronousImageTask class transforms a source image into a collection of shapes approximating th...
Definition: synchronousimagetask.h:28