22 #ifndef __UT_PolyRaster__
23 #define __UT_PolyRaster__
32 class UT_FilterSampleTable;
43 void setSampleTable(UT_FilterSampleTable *
table)
45 mySampleTable =
table;
50 myXSFilter =
x * 0.5F;
51 myYSFilter =
y * 0.5F;
55 myXMin = xl; myXMax = xr;
56 myYMin = yb; myYMax = yt;
69 virtual void sample(
int x,
int y,
fpreal weight);
75 const float v2[2],
int cliptowindow = 1);
81 float myXMin, myXMax,
myYMin, myYMax;
86 fpreal filterWeight(
const float v0[2],
const float v1[2],
87 const float v2[2])
const;
92 const UT_prEdge &edge)
const;
93 int genericClip(
const float vtx[][2],
int nvtx,
95 const UT_prEdge &e0)
const;
96 fpreal genericWeight(
float vtx[][2],
99 if (nvtx < 3)
return nvtx == -1;
100 return computeWeight(vtx, nvtx);
102 int toScreenX(
fpreal sx)
const
103 {
return (
int)((sx-myXMin)*myIXSinc); }
104 int floorScreenX(
fpreal sx)
const
105 {
return (
int)
SYSfloor((sx-myXMin)*myIXSinc); }
106 int ceilScreenX(
fpreal sx)
const
107 {
return (
int)
SYSceil((sx-myXMin)*myIXSinc); }
109 fpreal computeWeight(
float vtx[][2],
int nvtx)
const;
113 const UT_prEdge &edge)
const;
114 float myXSinc, myIXSinc;
115 float myYSinc, myIYSinc;
118 UT_FilterSample *mySampleTable;
void rasterize(const PointDataTreeOrGridT &points, TransferT &transfer, const FilterT &filter=NullFilter(), InterrupterT *interrupter=nullptr)
Perform potentially complex rasterization from a user defined transfer scheme.
UT_StringArray JOINTS head
**But if you need a result
GLfloat GLfloat GLfloat v2
#define UT_NON_COPYABLE(CLASS)
Define deleted copy constructor and assignment operator inside a class.
SYS_API fpreal32 SYSfloor(fpreal32 val)
OPENVDB_API void initialize()
Global registration of native Grid, Transform, Metadata and Point attribute types. Also initializes blosc (if enabled).
GLenum GLenum GLsizei void * table
void setFilterWidth(fpreal x=1, fpreal y=1)
void setWindow(fpreal xl, fpreal xr, fpreal yb, fpreal yt)
void setResolution(int xsamp, int ysamp)
SYS_API fpreal32 SYSceil(fpreal32 val)