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