SourceXtractorPlusPlus
0.10
Please provide a description of the project.
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::WriteableBufferedImage
Definition:
WriteableBufferedImage.h:33
SourceXtractor::TileManager::getInstance
static std::shared_ptr< TileManager > getInstance()
Definition:
TileManager.h:137
std::shared_ptr
STL class.
SourceXtractor::WriteableBufferedImage::setValue
virtual void setValue(int x, int y, T value) override
Definition:
WriteableBufferedImage.h:51
SourceXtractor::WriteableBufferedImage::WriteableBufferedImage
WriteableBufferedImage(std::shared_ptr< const ImageSource< T >> source, std::shared_ptr< TileManager > tile_manager)
Definition:
WriteableBufferedImage.h:37
SourceXtractor
Definition:
Aperture.h:30
WriteableImage.h
SourceXtractor::WriteableImage
Definition:
WriteableImage.h:32
SourceXtractor::BufferedImage::getWidth
int getWidth() const override
Returns the width of the image in pixels.
Definition:
BufferedImage.cpp:58
BufferedImage.h
SourceXtractor::ImageSource
Definition:
ImageSource.h:41
SourceXtractor::BufferedImage::getHeight
int getHeight() const override
Returns the height of the image in pixels.
Definition:
BufferedImage.cpp:64
SourceXtractor::WriteableBufferedImage::~WriteableBufferedImage
virtual ~WriteableBufferedImage()=default
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
x
std::shared_ptr< DependentParameter< std::shared_ptr< EngineParameter > > > x
Definition:
MoffatModelFittingTask.cpp:93
SourceXtractor::BufferedImage::m_current_tile
std::shared_ptr< ImageTile< T > > m_current_tile
Definition:
BufferedImage.h:66
y
std::shared_ptr< DependentParameter< std::shared_ptr< EngineParameter > > > y
Definition:
MoffatModelFittingTask.cpp:93
SourceXtractor::BufferedImage
Definition:
BufferedImage.h:39
Generated by
1.8.17