42 if (myWeights != myBuffer)
47 float radius,
int res,
51 template <UT_FilterWrap>
53 float radius,
int res);
59 template <UT_FilterWrap>
61 float radius,
int res);
71 if (myWeights[0] == 0 || myWeights[mySize-1] == 0)
77 int getEnd()
const {
return myStart + mySize - 1; }
81 void dump(
const char *msg=
"")
const;
84 void pruneZeroWeights();
90 void resizeWeights(
int prevsize=0)
92 if (mySize > myCapacity)
95 myWeights =
new float[mySize];
98 memcpy(myWeights, weights, prevsize*
sizeof(
float));
99 if (weights != myBuffer)
105 static const int BUFSIZE = 16;
107 float myBuffer[BUFSIZE];
132 static UT_Filter *getFilter(
float (*evalfunc)(
float,
void *),
133 int size,
int support = 2,
147 virtual void fillWeights(
float umin,
float radius,
148 float *weights,
int size)
const;
152 virtual float getWeight(
float l,
float r)
const = 0;
155 virtual float getArea(
float l)
const = 0;
GLuint const GLchar * name
const float * getWeights() const
GLint GLint GLint GLint GLint GLint GLint GLbitfield GLenum filter
GLint GLenum GLsizei GLint GLsizei const void * data
GLuint GLuint GLsizei GLenum type
UT_FilterType getType() const
GLdouble GLdouble GLdouble r