SourceXtractorPlusPlus
0.16
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
virtual
WriteableImage
<T> {
34
35
protected
:
36
37
WriteableBufferedImage
(
std::shared_ptr<const ImageSource>
source,
std::shared_ptr<TileManager>
tile_manager)
38
:
BufferedImage
<T>(source, tile_manager) {}
39
40
public
:
41
42
virtual
~WriteableBufferedImage
() =
default
;
43
44
static
std::shared_ptr<WriteableBufferedImage<T>
>
create
(
std::shared_ptr<const ImageSource>
source,
45
std::shared_ptr<TileManager>
tile_manager =
TileManager::getInstance
()) {
46
return
std::shared_ptr<WriteableBufferedImage<T>
>(
new
WriteableBufferedImage<T>
(source, tile_manager));
47
}
48
49
void
setValue
(
int
x
,
int
y
, T value)
override
{
50
assert(
x
>= 0 &&
y
>=0 &&
x
<
BufferedImage<T>::m_source
->
getWidth
() &&
y
<
BufferedImage<T>::m_source
->
getHeight
());
51
52
if
(
m_current_tile
==
nullptr
|| !
m_current_tile
->isPixelInTile(
x
,
y
)) {
53
m_current_tile
=
BufferedImage<T>::m_tile_manager
->getTileForPixel(
x
,
y
,
BufferedImage<T>::m_source
);
54
}
55
56
m_current_tile
->setModified(
true
);
57
m_current_tile
->setValue(
x
,
y
, value);
58
}
59
60
using
BufferedImage<T>::getRepr
;
61
62
private
:
63
mutable
std::shared_ptr<ImageTile>
m_current_tile
;
64
};
65
66
}
67
68
#endif
/* _SEFRAMEWORK_IMAGE_WRITEABLEBUFFEREDIMAGE_H_ */
BufferedImage.h
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
WriteableImage.h
SourceXtractor::BufferedImage
Definition:
BufferedImage.h:39
SourceXtractor::BufferedImage::getWidth
int getWidth() const override
Returns the width of the image in pixels.
Definition:
BufferedImage.cpp:45
SourceXtractor::BufferedImage::getHeight
int getHeight() const override
Returns the height of the image in pixels.
Definition:
BufferedImage.cpp:51
SourceXtractor::TileManager::getInstance
static std::shared_ptr< TileManager > getInstance()
Definition:
TileManager.cpp:136
SourceXtractor::WriteableBufferedImage
Definition:
WriteableBufferedImage.h:33
SourceXtractor::WriteableBufferedImage::create
static std::shared_ptr< WriteableBufferedImage< T > > create(std::shared_ptr< const ImageSource > source, std::shared_ptr< TileManager > tile_manager=TileManager::getInstance())
Definition:
WriteableBufferedImage.h:44
SourceXtractor::WriteableBufferedImage::setValue
void setValue(int x, int y, T value) override
Definition:
WriteableBufferedImage.h:49
SourceXtractor::WriteableBufferedImage::m_current_tile
std::shared_ptr< ImageTile > m_current_tile
Definition:
WriteableBufferedImage.h:63
SourceXtractor::WriteableBufferedImage::WriteableBufferedImage
WriteableBufferedImage(std::shared_ptr< const ImageSource > source, std::shared_ptr< TileManager > tile_manager)
Definition:
WriteableBufferedImage.h:37
SourceXtractor::WriteableBufferedImage::~WriteableBufferedImage
virtual ~WriteableBufferedImage()=default
SourceXtractor::WriteableImage
Definition:
WriteableImage.h:33
SourceXtractor
Definition:
Aperture.h:30
std::shared_ptr
Generated by
1.9.1