Returns TRUE if the 3D points are equal within the tolerance.
FUNCTION EqPt3D(
pt1 : VECTOR;
pt2 : VECTOR;
tolerance : REAL): BOOLEAN;def vs.EqPt3D(pt1, pt2, tolerance):
return BOOLEAN| Name | Type | Description |
|---|---|---|
| pt1 | VECTOR | |
| pt2 | VECTOR | |
| tolerance | REAL |
(_c_, 2022.01.22) :
- Python: contrary to most Pascal-derived vectorial routines, it accepts also bidimensional tuples or even a 2/3-dimensional mix
- Python and Pascal: Don't pass 0 to the tolerance, or the routine will always return false.
PROCEDURE Example;
VAR
v1, v2 : VECTOR;
BEGIN
v1.x := 12; v1.y := 1; v1.z := 999;
v2.x := 12; v2.y := 1; v2.z := 999.01;
Message(Concat( EqPt3D(v1, v2, 0.1) )); { returns true }
Message(Concat( EqPt3D(v1, v2, 0.01) )); { returns false }
Message(Concat( EqPt3D(v1, v2, 0) )); { always returns false! Don't use tolerance zero }
END;
Run(Example);v1 = (12, 1, 999) # also accepts bidimensional tuples
v2 = (12, 1, 999)
vs.Message( str(vs.EqPt3D(v1, v2, 0.01)) ) # returns true
# example with faulty tolerance
v1 = (12, 1, 999)
v2 = (12, 1, 999)
vs.Message( str(vs.EqPt3D(v1, v2, 0)) ) # always returns false! Don't use tolerance zeroresultOK := EqPt3D(pt1, pt2, 1.0);import vs
# Returns TRUE if the 3D points are equal within the tolerance.
pt1 = (0, 0)
pt2 = (1, 1)
tolerance = 1.0
ok = vs.EqPt3D(pt1, pt2, tolerance)
if ok:
vs.Message('EqPt3D succeeded')
else:
vs.Message('EqPt3D failed')VS Functions:
Availability: from Vectorworks 2014