|
import tensorflow as tf |
|
import math |
|
|
|
class Circle: |
|
def __init__(self, radius, center, stroke_width = tf.constant(1.0), id = ''): |
|
self.radius = radius |
|
self.center = center |
|
self.stroke_width = stroke_width |
|
self.id = id |
|
|
|
class Ellipse: |
|
def __init__(self, radius, center, stroke_width = tf.constant(1.0), id = ''): |
|
self.radius = radius |
|
self.center = center |
|
self.stroke_width = stroke_width |
|
self.id = id |
|
|
|
class Path: |
|
def __init__(self, num_control_points, points, is_closed, stroke_width = tf.constant(1.0), id = '', use_distance_approx = False): |
|
self.num_control_points = num_control_points |
|
self.points = points |
|
self.is_closed = is_closed |
|
self.stroke_width = stroke_width |
|
self.id = id |
|
self.use_distance_approx = use_distance_approx |
|
|
|
class Polygon: |
|
def __init__(self, points, is_closed, stroke_width = tf.constant(1.0), id = ''): |
|
self.points = points |
|
self.is_closed = is_closed |
|
self.stroke_width = stroke_width |
|
self.id = id |
|
|
|
class Rect: |
|
def __init__(self, p_min, p_max, stroke_width = tf.constant(1.0), id = ''): |
|
self.p_min = p_min |
|
self.p_max = p_max |
|
self.stroke_width = stroke_width |
|
self.id = id |
|
|
|
class ShapeGroup: |
|
def __init__(self, |
|
shape_ids, |
|
fill_color, |
|
use_even_odd_rule = True, |
|
stroke_color = None, |
|
shape_to_canvas = tf.eye(3), |
|
id = ''): |
|
self.shape_ids = shape_ids |
|
self.fill_color = fill_color |
|
self.use_even_odd_rule = use_even_odd_rule |
|
self.stroke_color = stroke_color |
|
self.shape_to_canvas = shape_to_canvas |
|
self.id = id |
|
|