diff options
author | Jeroen Bakker <j.bakker@atmind.nl> | 2012-05-31 14:38:11 +0400 |
---|---|---|
committer | Jeroen Bakker <j.bakker@atmind.nl> | 2012-05-31 14:38:11 +0400 |
commit | a9c4f76a6a96bcffc8d94e2da5e636d4304da345 (patch) | |
tree | 38f0d2593d5a5f704fb890cde3b8ba030bfb015d /source/blender/compositor/operations/COM_DilateErodeOperation.h | |
parent | 722ce85ff6876ab85b7e934724e89fe24241f670 (diff) |
* Added new dilate/erode function
Diffstat (limited to 'source/blender/compositor/operations/COM_DilateErodeOperation.h')
-rw-r--r-- | source/blender/compositor/operations/COM_DilateErodeOperation.h | 41 |
1 files changed, 41 insertions, 0 deletions
diff --git a/source/blender/compositor/operations/COM_DilateErodeOperation.h b/source/blender/compositor/operations/COM_DilateErodeOperation.h index 7f01ea94494..71bbab74a4b 100644 --- a/source/blender/compositor/operations/COM_DilateErodeOperation.h +++ b/source/blender/compositor/operations/COM_DilateErodeOperation.h @@ -68,6 +68,47 @@ public: }; +class DilateDistanceOperation : public NodeOperation { +private: + /** + * Cached reference to the inputProgram + */ + SocketReader * inputProgram; +protected: + float distance; + int scope; +public: + DilateDistanceOperation(); + + /** + * the inner loop of this program + */ + void executePixel(float *color, int x, int y, MemoryBuffer *inputBuffers[], void *data); + + /** + * Initialize the execution + */ + void initExecution(); + + void *initializeTileData(rcti *rect, MemoryBuffer **memoryBuffers); + /** + * Deinitialize the execution + */ + void deinitExecution(); + + void setDistance(float distance) {this->distance = distance;} + bool determineDependingAreaOfInterest(rcti *input, ReadBufferOperation *readOperation, rcti *output); +}; +class ErodeDistanceOperation : public DilateDistanceOperation { +public: + ErodeDistanceOperation(); + + /** + * the inner loop of this program + */ + void executePixel(float *color, int x, int y, MemoryBuffer *inputBuffers[], void *data); +}; + class DilateStepOperation : public NodeOperation { protected: /** |