11 #ifndef _COP2_GENERATOR_H_
12 #define _COP2_GENERATOR_H_
20 #define CREATE_PLANE_RGBA 0
21 #define CREATE_PLANE_RGBA3 1
22 #define CREATE_PLANE_RGB 2
23 #define CREATE_PLANE_A 3
24 #define CREATE_PLANE_A3 4
25 #define CREATE_PLANE_M 5
26 #define CREATE_PLANE_M3 6
27 #define CREATE_PLANE_Z 7
28 #define CREATE_PLANE_L 8
29 #define CREATE_PLANE_B 9
30 #define CREATE_PLANE_P 10
31 #define CREATE_PLANE_N 11
32 #define CREATE_PLANE_V 12
33 #define CREATE_PLANE_TERRAIN_H 13
34 #define CREATE_PLANE_NONE 14
51 static int setResCallback(
void *,
int,
float,
const PRM_Template *);
52 static int setRateCallback(
void *,
int,
float,
const PRM_Template *);
53 static int setDepthCallback(
void *,
int,
float,
const PRM_Template*);
62 static const char * myInputLabels[];
69 setInt(
"addplanes",0,0, planes);
75 setInt(
"planes", 0, 0, planes);
81 setInt(
"depth", 0, 0, (
int) format);
87 setInt(
"addplaneop", 0, 0, op);
97 static int depthChanged(
void *,
int,
float,
const PRM_Template *);
98 static int overrideSizeChanged(
void *,
int,
float,
const PRM_Template *);
99 static int overrideAspectChanged(
void *,
int,
float,
const PRM_Template *);
100 static int overrideRangeChanged(
void *,
int,
float,
const PRM_Template *);
101 static int overrideRateChanged(
void *,
int,
float,
const PRM_Template *);
138 const char * uniqueName(
const char *
name);
144 void applyMaskBounds(
const TIL_Plane *plane,
int array,
145 float t,
int xres,
int yres,
int thread,
146 int &bx1,
int &by1,
int &bx2,
int &by2);
148 void getBounds(
const TIL_Plane *plane,
int aindex,
149 float t,
int xres,
int yres,
int thread,
150 int x1,
int y1,
int x2,
int y2,
151 int &bx1,
int &by1,
int &bx2,
int &by2);
154 {
return evalInt(
"overridesize",0,0); }
173 {
return evalInt(
"overrideaspect",0,0); }
179 {
return evalInt(
"planes", 0, 0.0
f); }
182 {
return evalInt(
"addplanes",0,0.0
f); }
185 {
return evalInt(
"addplaneop", 0, 0.0
f); }
194 {
return evalInt(
"usebwpoints",0,0.0
f); }
196 virtual void BW_POINTS(
unsigned int &
b,
unsigned int &
w);
199 {
return evalInt(
"interlace", 0,0.0
f); }
202 {
return evalInt(
"idominance", 0,0.0
f); }
205 {
return evalInt(
"singleimage",0,0.0
f); }
208 {
return evalInt(
"start", 0, 0.0
f); }
211 {
return evalInt(
"length",0,0.0
f); }
231 virtual float RATE();
237 {
return evalInt(
"prehold", 0, 0.0
f); }
243 {
return evalInt(
"posthold",0,0.0
f); }
246 {
return evalFloat(
"effectamount", 0, t); }
void getInputDependenciesForOutputArea(COP2_CookAreaInfo &output_area, const COP2_CookAreaList &input_areas, COP2_CookAreaList &needed_areas) override
virtual void CUSTOM_PLANES(UT_String &st)
virtual void SET_ADD_OP(int op)
int MASK_INPUT() override
virtual void SET_START(int start)
virtual void IMAGE_SIZE(int &x, int &y)
int getMaskInput() const override
bool isPixelBased() const override
int frameScope(UT_String &) override
float AMOUNT(float t) override
virtual OP_ERROR doCookMyTile(COP2_Context &context, TIL_TileList *tiles)=0
void computeImageBounds(COP2_Context &context) override
bool isGenerator() const override
int scope(UT_String &) override
virtual bool preferredViewPlane(UT_WorkBuffer &)
int getOpInput() const override
fpreal evalFloat(int pi, int vi, fpreal t) const
virtual int SINGLE_IMAGE()
void setString(const UT_StringRef &val, CH_StringMeaning meaning, int parmi, int vectori, fpreal t)
virtual void SET_FORMAT(TIL_DataFormat format)
bool isFrameEffectHandled() override
bool updateParmsFlags() override
virtual void SET_ADD_PLANES(int planes)
TIL_Sequence myConnectedSequence
void evalString(UT_String &val, int pi, int vi, fpreal t) const
void deAnimate(unsigned idx)
virtual void SET_PLANES(int planes)
GLint GLint GLsizei GLint GLenum format
COP2_ThreadPref getThreadPreference() const override
GLuint const GLchar * name
virtual TIL_Extend POST_EXTEND()
GLboolean GLboolean GLboolean b
bool isTimeModifier() const override
static OP_VariablePair myVariablePair
virtual void SET_YRES(int x)
**Note that the tasks the is the thread number *for the or if it s being executed by a non pool thread(this *can happen in cases where the whole pool is occupied and the calling *thread contributes to running the work load).**Thread pool.Have fun
int canAccess(unsigned mask) const
GT_API const UT_StringHolder st
virtual TIL_Extend PRE_EXTEND()
void setInt(int parmi, int vectori, fpreal t, exint value)
static OP_TemplatePair myTemplatePair
virtual void SET_CUSTOM_PLANES(const UT_String &st)
GLubyte GLubyte GLubyte GLubyte w
virtual void SET_XRES(int x)
exint evalInt(int pi, int vi, fpreal t) const
void inputConnectChanged(int which) override
GLdouble GLdouble GLdouble y2
virtual void SET_LENGTH(int len)
TIL_Sequence * cookSequenceInfo(OP_ERROR &error) override