17 "ossimAnnotationPolyObject",
28 theFillEnabled(enableFill)
33 const vector<ossimDpt>& imagePts,
40 theFillEnabled(enableFill)
49 thePolygon(rhs.thePolygon),
50 theBoundingRect(rhs.theBoundingRect),
51 theFillEnabled(rhs.theFillEnabled)
74 if(rect.
hasNans())
return false;
86 if(rect.
clip(start, end))
108 vector<ossimPolygon> result;
123 vector<ossimPolygon> resultPoly;
127 if(resultPoly.size() == 1)
149 vector<ossimPolyLine> lineListResult;
187 imageRect.
ul().
y - 10,
188 imageRect.
lr().
x + 10,
189 imageRect.
lr().
y + 10);
198 if(clipRect.clip(start, end))
208 if(clipRect.clip(start, end))
221 if(clipRect.clip(start, end))
236 if(clipRect.clip(start, end))
244 }
while(i < vertexCount);
249 vector<ossimPolygon> result;
252 for(
int i = 0; i < (int)result.size();++i)
bool pointWithin(const ossimDpt &pt, double epsilon=0.0) const
virtual void draw(ossimRgbImage &anImage) const
virtual void setFillFlag(bool flag)
const ossimDpt & ul() const
void addPoint(const ossimDpt &pt)
virtual ossimAnnotationObject * getNewClippedObject(const ossimDrect &rect) const
const ossimPolygon & getPolygon() const
void setThickness(ossim_int32 thickness)
All the drawing algorithms have thickness.
virtual ~ossimAnnotationPolyObject()
ossimObject * dup() const
RTTI_DEF1(ossimAnnotationPolyObject, "ossimAnnotationPolyObject", ossimAnnotationObject) ossimAnnotationPolyObject
virtual void computeBoundingRect()
virtual std::ostream & print(std::ostream &out) const
Generic print method.
virtual void applyScale(double x, double y)
virtual ossimDrect getBoundingRect() const
ossimRefPtr< ossimImageData > getImageData()
Will return the image data.
ossimAnnotationPolyObject(bool enableFill=false, ossim_uint8 r=255, ossim_uint8 g=255, ossim_uint8 b=255, ossim_uint8 thickness=1)
ossim_uint32 getVertexCount() const
virtual ossimIrect getImageRectangle() const
bool intersects(const ossimDrect &rect) const
void drawLine(double x1, double y1, double x2, double y2)
About all the draw routines will call draw line.
bool clip(ossimDpt &p1, ossimDpt &p2) const
bool clipToRect(vector< ossimPolygon > &result, const ossimDrect &rect) const
Uses the ossimPolyArea2d class for the intersection.
ossim_uint32 getNumberOfVertices() const
void setDrawColor(ossim_uint8 r=255, ossim_uint8 g=255, ossim_uint8 b=255)
bool clipToRect(vector< ossimPolyLine > &result, const ossimDrect &rect) const
virtual bool intersects(const ossimDrect &rect) const
void drawFilledPolygon(const std::vector< ossimDpt > &p)
We will cut and paste the code from drawFilledPolygon(ossimIpt *p, int n).
virtual bool isPointWithin(const ossimDpt &imagePoint) const
virtual void addPoint(const ossimDpt &pt)
const ossimDpt & lr() const
ossimDrect theBoundingRect
unsigned char ossim_uint8
virtual void setPolygon(const vector< ossimDpt > &imagePoints)
std::basic_ostream< char > ostream
Base class for char output streams.