Welcome to mirror list, hosted at ThFree Co, Russian Federation.

git.blender.org/blender.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'source/blender/compositor/operations/COM_KeyingScreenOperation.h')
-rw-r--r--source/blender/compositor/operations/COM_KeyingScreenOperation.h31
1 files changed, 19 insertions, 12 deletions
diff --git a/source/blender/compositor/operations/COM_KeyingScreenOperation.h b/source/blender/compositor/operations/COM_KeyingScreenOperation.h
index 9d3f44f6be2..95815cd3930 100644
--- a/source/blender/compositor/operations/COM_KeyingScreenOperation.h
+++ b/source/blender/compositor/operations/COM_KeyingScreenOperation.h
@@ -39,39 +39,46 @@ extern "C" {
}
/**
- * Class with implementation of green screen gradient rasterization
- */
+ * Class with implementation of green screen gradient rasterization
+ */
class KeyingScreenOperation : public NodeOperation {
protected:
typedef struct TriangulationData {
VoronoiTriangulationPoint *triangulated_points;
int (*triangles)[3];
int triangulated_points_total, triangles_total;
+ rctf *triangles_AABB;
} TriangulationData;
- MovieClip *movieClip;
- int framenumber;
- TriangulationData *cachedTriangulation;
- char trackingObject[64];
+ typedef struct TileData {
+ int *triangles;
+ int triangles_total;
+ } TileData;
+
+ MovieClip *m_movieClip;
+ int m_framenumber;
+ TriangulationData *m_cachedTriangulation;
+ char m_trackingObject[64];
/**
- * Determine the output resolution. The resolution is retrieved from the Renderer
- */
+ * Determine the output resolution. The resolution is retrieved from the Renderer
+ */
void determineResolution(unsigned int resolution[], unsigned int preferredResolution[]);
TriangulationData *buildVoronoiTriangulation();
- public:
+public:
KeyingScreenOperation();
void initExecution();
void deinitExecution();
void *initializeTileData(rcti *rect, MemoryBuffer **memoryBuffers);
+ void deinitializeTileData(rcti *rect, MemoryBuffer **memoryBuffers, void *data);
- void setMovieClip(MovieClip *clip) {this->movieClip = clip;}
- void setTrackingObject(char *object) {strncpy(this->trackingObject, object, sizeof(this->trackingObject));}
- void setFramenumber(int framenumber) {this->framenumber = framenumber;}
+ void setMovieClip(MovieClip *clip) {this->m_movieClip = clip;}
+ void setTrackingObject(const char *object) {strncpy(this->m_trackingObject, object, sizeof(this->m_trackingObject));}
+ void setFramenumber(int framenumber) {this->m_framenumber = framenumber;}
void executePixel(float *color, int x, int y, MemoryBuffer *inputBuffers[], void *data);
};