| 12345678910111213141516171819202122232425262728293031323334353637 |
- from camlib import *
- from shapely.geometry import LineString, LinearRing
- s = FlatCAMRTreeStorage()
- geoms = [
- LinearRing(((0.5699056603773586, 0.7216037735849057),
- (0.9885849056603774, 0.7216037735849057),
- (0.9885849056603774, 0.6689622641509434),
- (0.5699056603773586, 0.6689622641509434),
- (0.5699056603773586, 0.7216037735849057))),
- LineString(((0.8684952830188680, 0.6952830188679245),
- (0.8680655198743615, 0.6865349890935113),
- (0.8667803692948564, 0.6778712076279851),
- (0.8646522079829676, 0.6693751114229638),
- (0.8645044888670096, 0.6689622641509434))),
- LineString(((0.9874952830188680, 0.6952830188679245),
- (0.9864925023483531, 0.6748709493942936),
- (0.9856160316877274, 0.6689622641509434))),
- ]
- for geo in geoms:
- s.insert(geo)
- current_pt = (0, 0)
- pt, geo = s.nearest(current_pt)
- while geo is not None:
- print((pt, geo))
- print(("OBJECTS BEFORE:", s.objects))
- #geo.coords = list(geo.coords[::-1])
- s.remove(geo)
- print(("OBJECTS AFTER:", s.objects))
- current_pt = geo.coords[-1]
- pt, geo = s.nearest(current_pt)
|