49 #ifndef _R_POLYGON_CUT_OUT_HH
50 #define _R_POLYGON_CUT_OUT_HH
72 class r_SegmentIterator
75 r_SegmentIterator(r_Point&,r_Point&);
81 void swap(r_Range&, r_Range&);
82 r_Point createCurrentPoint();
100 r_Line(
double,
double,
double);
101 r_Line(r_Point&,r_Point&);
105 float ecuatia(r_Point&);
115 class r_PolygonCutOut
120 void setImageSize(r_Range width, r_Range height);
122 void setMArray(r_GMarray& myArray);
123 void addPolygon(
const r_Polygon&);
125 bool fillMArrayInside(
const string& bgr =
"") throw(r_Error);
126 bool fillMArrayOutside(const
string& bgr = "") throw(r_Error);
129 void print(
int onlyLine=-1);
130 void printLine(r_Range line);
134 void eraseLine( r_Range, r_Range, r_Range y, const
string& bgr ) throw(r_Error);
136 r_Range imgWidth,imgHeight;
141 std::list<r_Polygon> polygons;
155 TablePoint& getTP(r_Range line, r_Range column);
159 int computeTableWidth();
162 int computeInside(r_Point start, r_Point end);
163 void computeOneSegment(r_Point start, r_Point end,
int inside);
164 void computeOneHorSegment(r_Point start, r_Point end);
165 void ordonateLine(
int line);
166 void minimizeLine(
int line);
167 void replacePoint(r_Range line,r_Range col,
int inside,
int cosFunc);
168 void addPoint(r_Range line,r_Range col,
int inside,
int cosFunc);
bool operator==(const OId::OIdPrimitive one, const OId &two)
template std::ostream & operator<<(const vector< KeyObject > &, std::ostream &)