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 ILGeomObject | |
void | Drag (LPVGeomHandle geomHandle, int posX, int posY, double zoomX, double zoomY, double panX, double panY) |
void | EnableHandle (LPVGeomHandle geomHandle, BOOL enabled) |
LPVGeomHandle | HitTest (int posX, int posY, double zoomX, double zoomY, double panX, double panY) |
void | ScaleTo (double factorX, double factorY) |
void | TransformTo (ILTransform *tf) |
void | TranslateTo (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. | |
Properties inherited from ILObject | |
LString | Name [get, set] |
Name of the object. By default, the object has no name. In most cases, LPV classes don't make use of the names. The name is drawn on canvas around the object if ILDrawable::SetDrawName() is enabled. More... | |
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 |