VS:PtOnArc
.VectorScript|VectorScript ..VS:Function Reference|Function Reference ..VS:Function_Reference_Appendix|Appendix
Description
Determines if a point is on an arc.
FUNCTION PtOnArc(
ptX, ptY, ptZ :REAL;
cenPtX, cenPtY, cenPtZ :REAL;
radius :REAL;
startAng :REAL;
sweepAng :REAL;
tolerance :REAL) :BOOLEAN;
def vs.PtOnArc(pt, cenPt, radius, startAng, sweepAng, tolerance): return BOOLEAN
Parameters
ptX, ptY, ptZ REAL cenPtX, cenPtY, cenPtZ REAL radius REAL startAng REAL sweepAng REAL tolerance REAL
Example
PROCEDURE Example; VAR pt, beg_pt, END_pt, cen_pt :VECTOR; startAng, sweepAng, radius :REAL; PROCEDURE ArcInfo(h :HANDLE; VAR cen_pt :vector; VAR startAng, sweepAng, Radius :REAL); BEGIN Hcenter(h, cen_pt.x, cen_pt.y); GetArc (h, startAng, sweepAng); IF GetType(h) = 6 then Radius := Hperim(h) / Deg2Rad(sweepAng) ELSE IF GetType(h) = 89 THEN Radius := 5729.28 / ((100 * Hangle(h)) / Hlength(h)); END; BEGIN CallTool(-202); ArcInfo(FSActLayer, cen_pt, startAng, sweepAng, radius); CallTool(-221); GetLocPt(FSActLayer, pt.x, pt.y); Message(PtOnArc(pt, cen_pt, radius, startAng, sweepAng, RealDialog('Fuzz:', '1'))); END; RUN(Example);
Version
Availability: from All Versions
This is drop-in function.