SourceXtractorPlusPlus  0.14
Please provide a description of the project.
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
LockedWriteableImage.h
Go to the documentation of this file.
1 /*
2  * LockedWriteableImage.h
3  *
4  * Created on: Jul 7, 2020
5  * Author: mschefer
6  */
7 
8 #ifndef _SEIMPLEMENTATION_IMAGE_LOCKEDWRITEABLEIMAGE_H_
9 #define _SEIMPLEMENTATION_IMAGE_LOCKEDWRITEABLEIMAGE_H_
10 
13 
15 
16 namespace SourceXtractor {
17 
18 template <typename T>
19 class LockedWriteableImage: public ImageBase<T>, public WriteableImage<T> {
20 protected:
22  }
23 
24 public:
25  template<typename... Args>
27  return std::shared_ptr<LockedWriteableImage<T>>(new LockedWriteableImage{std::forward<Args>(args)...});
28  }
29 
30  std::string getRepr() const override {
31  return "LockedWriteableImage(" + m_img->getRepr() + ")";
32  }
33 
34  int getWidth() const override {
35  return m_img->getWidth();
36  }
37 
38  int getHeight() const override {
39  return m_img->getHeight();
40  }
41 
42  T getValue(int x, int y) const override {
43  return m_img->getValue(x, y);
44  }
45 
46  void setValue(int x, int y, T value) override {
47  m_img->setValue(x, y, value);
48  }
49 
50 private:
53 };
54 
55 }
56 
57 #endif /* _SEIMPLEMENTATION_IMAGE_LOCKEDWRITEABLEIMAGE_H_ */
static std::shared_ptr< LockedWriteableImage< T > > create(Args &&...args)
std::shared_ptr< DependentParameter< std::shared_ptr< EngineParameter > > > x
T getValue(int x, int y) const override
Returns the value of the pixel with the coordinates (x,y)
std::shared_ptr< DependentParameter< std::shared_ptr< EngineParameter > > > y
std::lock_guard< std::recursive_mutex > m_lock
STL class.
std::string getRepr() const override
Get a string identifying this image in a human readable manner.
int getWidth() const override
Returns the width of the image in pixels.
int getHeight() const override
Returns the height of the image in pixels.
void setValue(int x, int y, T value) override
std::shared_ptr< WriteableImage< T > > m_img
LockedWriteableImage(std::shared_ptr< WriteableImage< T >> img)