diff options
Diffstat (limited to 'playground/csp/main.py')
| -rw-r--r-- | playground/csp/main.py | 50 |
1 files changed, 27 insertions, 23 deletions
diff --git a/playground/csp/main.py b/playground/csp/main.py index d08f748..8aed531 100644 --- a/playground/csp/main.py +++ b/playground/csp/main.py @@ -1,38 +1,42 @@ import sys sys.path += ['../../src_py'] +from opcut import common from opcut import csp +from opcut import output def main(): panels = [ - csp.Panel(id='p1', width=100, height=100) + common.Panel(id='p1', width=100, height=65) ] items = [ - csp.Item(id='i1', width=10, height=10, rotate=True), - csp.Item(id='i2', width=10, height=9, rotate=True), - csp.Item(id='i3', width=20, height=8, rotate=True), - csp.Item(id='i4', width=10, height=20, rotate=True), - csp.Item(id='i5', width=30, height=19, rotate=True), - csp.Item(id='i6', width=10, height=18, rotate=True), - csp.Item(id='i7', width=10, height=17, rotate=True), - csp.Item(id='i8', width=20, height=16, rotate=True), - csp.Item(id='i9', width=10, height=15, rotate=True), - csp.Item(id='i10', width=30, height=14, rotate=True), - csp.Item(id='i11', width=10, height=20, rotate=True), - csp.Item(id='i12', width=30, height=19, rotate=True), - csp.Item(id='i13', width=10, height=18, rotate=True), - csp.Item(id='i14', width=10, height=17, rotate=True), - csp.Item(id='i15', width=20, height=16, rotate=True), - csp.Item(id='i16', width=10, height=15, rotate=True), - csp.Item(id='i17', width=30, height=14, rotate=True), - csp.Item(id='i18', width=10, height=20, rotate=True), - csp.Item(id='i19', width=30, height=19, rotate=True), + common.Item(id='i1', width=10, height=10, can_rotate=True), + common.Item(id='i2', width=10, height=9, can_rotate=True), + common.Item(id='i3', width=20, height=8, can_rotate=True), + common.Item(id='i4', width=10, height=20, can_rotate=True), + common.Item(id='i5', width=30, height=19, can_rotate=True), + common.Item(id='i6', width=10, height=18, can_rotate=False), + common.Item(id='i7', width=10, height=17, can_rotate=True), + common.Item(id='i8', width=20, height=16, can_rotate=True), + common.Item(id='i9', width=10, height=15, can_rotate=True), + common.Item(id='i10', width=30, height=14, can_rotate=True), + common.Item(id='i11', width=10, height=20, can_rotate=True), + common.Item(id='i12', width=19, height=30, can_rotate=False), + common.Item(id='i13', width=10, height=18, can_rotate=True), + common.Item(id='i14', width=10, height=17, can_rotate=True), + common.Item(id='i15', width=20, height=16, can_rotate=True), + common.Item(id='i16', width=10, height=15, can_rotate=True), + common.Item(id='i17', width=30, height=14, can_rotate=True), + common.Item(id='i18', width=10, height=20, can_rotate=True), + common.Item(id='i19', width=30, height=19, can_rotate=True), ] - cut_width = 1 - method = csp.Method.FORWARD_GREEDY + cut_width = 0.4 + method = common.Method.FORWARD_GREEDY result = csp.calculate(panels, items, cut_width, method) - print(result) + pdf_bytes = output.generate_pdf(result) + with open('output.pdf', 'wb') as f: + f.write(pdf_bytes) if __name__ == '__main__': |
