This interface represents a single circle(LCircle object). More...
Public Member Functions | |
double | Concentric (ILCircle *circle) |
void | Draw (BOOL bFill, HDC hdc, double zoomX, double zoomY, double panX, double panY) |
void | FromAnnulusRegion (ILAnnulusRegion *val) |
void | FromCircleRegion (ILCircleRegion *val) |
ILArc * | GetArc (double aStart, double aEnd) |
double | GetArea () |
ILPoint * | GetCenter () |
double | GetPerimeter () |
LPVIntersectType | IntersectLine (ILLine *line, ILPoints **intersectPoints) |
LPVPointTestResult | PointTest (ILPoint *point) |
ILPolygon * | Resample (int num) |
void | Set (double x, double y, double r) |
ILAnnulusRegion * | ToAnnulusRegion (int inExp, int outExp) |
ILCircleRegion * | ToCircleRegion () |
ILCircle * | Transform (ILTransform *tf) |
ILCircle * | Translate (double offsetX, double offsetY) |
Public Member Functions inherited from ILObject | |
ILObject * | Copy () |
LPVErrorCode | Load (LString filename) |
void | Reset () |
LPVErrorCode | Save (LString filename) |
BOOL | Valid () |
Properties | |
double | Radius [get, set] |
The radius of the circle. | |
double | X [get, set] |
The x-coordinate of the circle's center point. | |
double | Y [get, set] |
The y-coordinate of the circle's center point. | |
This interface represents a single circle(LCircle object).
double Concentric | ( | ILCircle * | circle | ) |
Evaluate whether this and the input circle are concentric
[in] | circle | The input circle |
result | Return the evaluation result, it's a value in (0, 1). For two perfect concentric circles, it's 1. |
void Draw | ( | BOOL | bFill, |
HDC | hdc, | ||
double | zoomX, | ||
double | zoomY, | ||
double | panX, | ||
double | panY | ||
) |
Draw the circle on HDC.
[in] | bFill | Whether to fill the circle using current brush. |
void FromAnnulusRegion | ( | ILAnnulusRegion * | val | ) |
Set placement of the circle from the input annulus region, the radii is set to the averaging of the inner and outer circle of the annulus region.
void FromCircleRegion | ( | ILCircleRegion * | val | ) |
Set placement of the circle from the input circle region.
ILArc* GetArc | ( | double | aStart, |
double | aEnd | ||
) |
Create an arc starts clockwise from the aStart and ends to aEnd.
[in] | aStart | The start angle in degrees |
[in] | aEnd | The end angle in degrees |
Return | the arc object |
double GetArea | ( | ) |
Get the area of the circle
val | Return the area value |
ILPoint* GetCenter | ( | ) |
Get the center point of the circle
double GetPerimeter | ( | ) |
Get the perimeter of the circle
val | Return the perimeter value |
LPVIntersectType IntersectLine | ( | ILLine * | line, |
ILPoints ** | intersectPoints | ||
) |
Determines whether this circle intersects with the given line. Return the intersection points if they are intersected.
[in] | line | The input line |
[out] | intersectPoints | Output the intersection points, it should be an empty set for not-intersected case, or 1 point for tangent case, or 2 points for intersected case. |
type | Return the intersection type depends on the count of intersection points which is on the line segment, Bounded (2), Partial (1) or Unbounded (0). |
LPVPointTestResult PointTest | ( | ILPoint * | point | ) |
Determines whether the point is inside this circle, outside, or lies on the edge
[in] | point | The input point |
val | Return the test result |
ILPolygon* Resample | ( | int | num | ) |
Resample the circle object into a closed polygon of the specified vertex count
[in] | num | The count of the resampled vertexes, at least 3 |
result | Return the resampling result polygon |
void Set | ( | double | x, |
double | y, | ||
double | r | ||
) |
Set placement of the circle
[in] | x | The x-coordinate of the circle's center point |
[in] | y | The y-coordinate of the circle's center point |
[in] | r | The radius of the circle |
ILAnnulusRegion* ToAnnulusRegion | ( | int | inExp, |
int | outExp | ||
) |
Generate an annulus region use the circle object with the given inside and outside expansion
[in] | inExp | The expansion pixels from the circle's placement that generate the inner circle of the annulus region |
[in] | outExp | The expansion pixels from the circle's placement that generate the outer circle of the annulus region |
val | Return the circle region |
ILCircleRegion* ToCircleRegion | ( | ) |
Generate a circle region use the circle object
ILCircle* Transform | ( | ILTransform * | tf | ) |
Transform the circle via the given transformation and return a new circle. Note that for an affine or perspective transformation, the result circle is the bounding circle of the mapping result which may be an ellipse.
[in] | tf | The transformation. |
Return | the new circle |
ILCircle* Translate | ( | double | offsetX, |
double | offsetY | ||
) |
Translate the circle by the given offset and return a new circle
[in] | offsetX | The x-coordinate of the offset |
[in] | offsetY | The y-coordinate of the offset |
result | Return the new circle |