#main_script import fmeobjects import numpy as np from fmeobjects import FMELine, FMEPoint, FMEPolygon from math import sqrt, sin, cos, pi, degrees width = 360 N = 6 d = width / N class FeatureProcessor(object): def __init__(self): pass def circle(self, tx,ty,radius): _center_point = FMEPoint() _center_point.setXYZ(float(tx)+radius/2, float(ty+radius/2), 0) newFeature = fmeobjects.FMEFeature() newFeature.setGeometry(_center_point) _circle = newFeature.buffer(float(radius), 0.0) self.pyoutput(newFeature) newFeature = fmeobjects.FMEFeature() newFeature.setGeometry(_center_point) _circle = newFeature.buffer(float(radius), 1.0) self.pyoutput(newFeature) def pattern(self, size): for i in range(N): x = d * i for j in range(N): y = d * (j) pos = (x,y) poly = self.circle(pos[0], pos[1], float(d/2)) for i in range(N+1): x = d * (i - 0.5) for j in range(N+1): y = d * (j - 0.5) pos = (x,y) poly = self.circle(pos[0], pos[1], float(d/2)) def input(self, feature: fmeobjects.FMEFeature): pass def close(self): points = self.pattern(d)