SourceXtractorPlusPlus  0.15
Please provide a description of the project.
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 
29 
30 namespace SourceXtractor {
31 
32 template <typename T>
33 class WriteableBufferedImage : public BufferedImage<T>, public virtual WriteableImage<T> {
34 
35 protected:
36 
38  : BufferedImage<T>(source, tile_manager) {}
39 
40 public:
41 
42  virtual ~WriteableBufferedImage() = default;
43 
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)) {
54  }
55 
56  m_current_tile->setModified(true);
57  m_current_tile->setValue(x, y, value);
58  }
59 
61 
62 private:
64 };
65 
66 }
67 
68 #endif /* _SEFRAMEWORK_IMAGE_WRITEABLEBUFFEREDIMAGE_H_ */
std::shared_ptr< DependentParameter< std::shared_ptr< EngineParameter > > > x
std::shared_ptr< DependentParameter< std::shared_ptr< EngineParameter > > > y
int getWidth() const override
Returns the width of the image in pixels.
int getHeight() const override
Returns the height of the image in pixels.
static std::shared_ptr< TileManager > getInstance()
static std::shared_ptr< WriteableBufferedImage< T > > create(std::shared_ptr< const ImageSource > source, std::shared_ptr< TileManager > tile_manager=TileManager::getInstance())
void setValue(int x, int y, T value) override
std::shared_ptr< ImageTile > m_current_tile
WriteableBufferedImage(std::shared_ptr< const ImageSource > source, std::shared_ptr< TileManager > tile_manager)