12 #ifndef __GU_TrimBasePatch_h__
13 #define __GU_TrimBasePatch_h__
39 {
return SYSsqrt((u-point.
u)*(u-point.
u) +
40 (
v-point.
v)*(
v-point.
v)); }
80 virtual void reset() = 0;
83 virtual void startPoly() = 0;
84 virtual void endPoly() = 0;
85 virtual void cancelPoly() = 0;
89 virtual void startTStrip() = 0;
90 virtual void endTStrip() = 0;
108 int newi,
int newj) = 0;
117 virtual void getCurrentIJ(
int &i,
int &
j) = 0;
119 virtual void setCurrentIJ(
int i,
int j) = 0;
133 virtual int64 getMemoryUsage(
bool inclusive)
const;
138 int closed = 0)
override;
142 int forcei,
int forcej)
override;
145 int closed = 0)
override;
152 float *uisos,
float *visos,
157 { i = curI; j = curJ; }
161 int getCellState(
int ucell,
int vcell);
164 int getTrimStateAt(
int uiso,
int viso);
172 void insertUIsection(
int i,
int j,
175 void insertVIsection(
int i,
int j,
180 float findUIsection(
int i,
183 float findVIsection(
int j,
191 int topedge,
int leftedge,
192 int topleftcorner,
int &utrimmedin,
193 int &vtrimmedin,
int i,
int j);
200 int topedge,
int leftedge,
201 int topleftcorner,
int side = 0,
204 int *utrimmed = 0,
int *vtrimmed = 0);
227 float *myUIsoparms, *myVIsoparms;
237 virtual int64 getMemoryUsage(
bool inclusive)
const;
242 int uinteriordiv,
int vinteriordiv,
250 float vmin,
float umax,
float vmax);
254 int vmin,
int vmax) = 0;
261 virtual void fillCurvePoints();
264 virtual void fillCornerPoints() = 0;
268 virtual void fillEdgePoints();
276 void traceCurve(
GD_TrimLoop *loop,
float curvelod);
void getCurrentIJ(int &i, int &j) override
GU_TrimPatchPoint * myCurveStarts
GU_TrimPatchPoint * below
GU_TrimCornerPoint * myCornerPointArray
virtual void tesselate(GU_TrimBaseTesselator *tesselator)=0
virtual int endCurve(GU_TrimPatchPoint *point, int closed=0)=0
GD_TrimLoop * myTrimLoops
virtual GU_TrimBaseRegion * addSegment(GU_TrimPatchPoint *point)=0
virtual void setCurrentIJ(int i, int j)=0
GU_TrimPatchPoint ** myEdgeListArray
virtual GU_TrimBaseRegion * newCurve(GU_TrimPatchPoint *point, int closed=0)=0
GU_TrimCoreRegion * myCoreRegion
GU_TrimPatchPointType type
virtual ~GU_TrimBaseRegion()
GU_TrimBaseRegion * myOtherRegion
GD_TrimLoop * myOriginalTrimLoops
virtual ~GU_TrimBaseTesselator()
float dist(const GU_TrimBasePoint &point) const