42 if (myWeights != myBuffer)
50 float radius,
int res,
54 template <UT_FilterWrap>
56 float radius,
int res);
62 template <UT_FilterWrap>
64 float radius,
int res);
74 if (myWeights[0] == 0 || myWeights[mySize-1] == 0)
80 int getEnd()
const {
return myStart + mySize - 1; }
84 void dump(
const char *msg=
"")
const;
87 void pruneZeroWeights();
93 void resizeWeights(
int prevsize=0)
95 if (mySize > myCapacity)
97 float *weights = myWeights;
98 myWeights =
new float[mySize];
101 memcpy(myWeights, weights, prevsize*
sizeof(
float));
102 if (weights != myBuffer)
108 static const int BUFSIZE = 16;
110 float myBuffer[BUFSIZE];
135 static UT_Filter *getFilter(
float (*evalfunc)(
float,
void *),
136 int size,
int support = 2,
150 virtual void fillWeights(
float umin,
float radius,
151 float *weights,
int size)
const;
155 virtual float getWeight(
float l,
float r)
const = 0;
158 virtual float getArea(
float l)
const = 0;
const float * getWeights() const
GLuint const GLchar * name
UT_FilterType getType() const
LeafData & operator=(const LeafData &)=delete
GLint GLint GLint GLint GLint GLint GLint GLbitfield GLenum filter