SourceXtractorPlusPlus
0.12
Please provide a description of the project.
Main Page
Related Pages
Namespaces
Classes
Files
File List
File Members
All
Classes
Namespaces
Files
Functions
Variables
Typedefs
Enumerations
Enumerator
Friends
Macros
Groups
Pages
SEFramework
SEFramework
Image
WriteableBufferedImage.h
Go to the documentation of this file.
1
17
/*
18
* WriteableBufferedImage.h
19
*
20
* Created on: Mar 8, 2018
21
* Author: mschefer
22
*/
23
24
#ifndef _SEFRAMEWORK_IMAGE_WRITEABLEBUFFEREDIMAGE_H_
25
#define _SEFRAMEWORK_IMAGE_WRITEABLEBUFFEREDIMAGE_H_
26
27
#include "
SEFramework/Image/WriteableImage.h
"
28
#include "
SEFramework/Image/BufferedImage.h
"
29
30
namespace
SourceXtractor {
31
32
template
<
typename
T>
33
class
WriteableBufferedImage
:
public
BufferedImage
<T>,
public
WriteableImage
<T> {
34
35
protected
:
36
37
WriteableBufferedImage
(
std::shared_ptr
<
const
ImageSource<T>
> source,
std::shared_ptr<TileManager>
tile_manager)
38
:
BufferedImage
<T>(source, tile_manager) {}
39
40
using
BufferedImage<T>::m_current_tile
;
41
42
public
:
43
44
virtual
~WriteableBufferedImage
() =
default
;
45
46
static
std::shared_ptr<WriteableBufferedImage<T>
>
create
(
std::shared_ptr
<
const
ImageSource<T>
> source,
47
std::shared_ptr<TileManager>
tile_manager =
TileManager::getInstance
()) {
48
return
std::shared_ptr<WriteableBufferedImage<T>
>(
new
WriteableBufferedImage<T>
(source, tile_manager));
49
}
50
51
virtual
void
setValue
(
int
x
,
int
y
, T value)
override
{
52
assert(x >= 0 && y >=0 && x <
BufferedImage<T>::m_source
->
getWidth
() && y <
BufferedImage<T>::m_source
->
getHeight
());
53
54
if
(
m_current_tile
==
nullptr
|| !
m_current_tile
->isPixelInTile(x, y)) {
55
m_current_tile
=
BufferedImage<T>::m_tile_manager
->getTileForPixel(x, y,
BufferedImage<T>::m_source
);
56
}
57
58
m_current_tile
->setModified(
true
);
59
m_current_tile
->setValue(x, y, value);
60
}
61
62
};
63
64
}
65
66
#endif
/* _SEFRAMEWORK_IMAGE_WRITEABLEBUFFEREDIMAGE_H_ */
SourceXtractor::WriteableImage
Definition:
WriteableImage.h:32
SourceXtractor::WriteableBufferedImage
Definition:
WriteableBufferedImage.h:33
std::shared_ptr
SourceXtractor::WriteableBufferedImage::~WriteableBufferedImage
virtual ~WriteableBufferedImage()=default
SourceXtractor::TileManager::getInstance
static std::shared_ptr< TileManager > getInstance()
Definition:
TileManager.h:137
SourceXtractor::BufferedImage::m_current_tile
std::shared_ptr< ImageTile< T > > m_current_tile
Definition:
BufferedImage.h:66
x
std::shared_ptr< DependentParameter< std::shared_ptr< EngineParameter > > > x
Definition:
MoffatModelFittingTask.cpp:94
y
std::shared_ptr< DependentParameter< std::shared_ptr< EngineParameter > > > y
Definition:
MoffatModelFittingTask.cpp:94
BufferedImage.h
SourceXtractor::WriteableBufferedImage::create
static std::shared_ptr< WriteableBufferedImage< T > > create(std::shared_ptr< const ImageSource< T >> source, std::shared_ptr< TileManager > tile_manager=TileManager::getInstance())
Definition:
WriteableBufferedImage.h:46
WriteableImage.h
SourceXtractor::BufferedImage::getHeight
int getHeight() const override
Returns the height of the image in pixels.
Definition:
BufferedImage.cpp:64
SourceXtractor::BufferedImage::getWidth
int getWidth() const override
Returns the width of the image in pixels.
Definition:
BufferedImage.cpp:58
SourceXtractor::WriteableBufferedImage::setValue
virtual void setValue(int x, int y, T value) override
Definition:
WriteableBufferedImage.h:51
SourceXtractor::ImageSource
Definition:
ImageSource.h:41
SourceXtractor::WriteableBufferedImage::WriteableBufferedImage
WriteableBufferedImage(std::shared_ptr< const ImageSource< T >> source, std::shared_ptr< TileManager > tile_manager)
Definition:
WriteableBufferedImage.h:37
SourceXtractor::BufferedImage
Definition:
BufferedImage.h:39
Generated by
1.8.5