meerk40t 0.9.3001__py2.py3-none-any.whl → 0.9.7010__py2.py3-none-any.whl
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- meerk40t/__init__.py +1 -1
- meerk40t/balormk/balor_params.py +167 -167
- meerk40t/balormk/clone_loader.py +457 -457
- meerk40t/balormk/controller.py +1566 -1512
- meerk40t/balormk/cylindermod.py +64 -0
- meerk40t/balormk/device.py +966 -1959
- meerk40t/balormk/driver.py +778 -591
- meerk40t/balormk/galvo_commands.py +1195 -0
- meerk40t/balormk/gui/balorconfig.py +237 -111
- meerk40t/balormk/gui/balorcontroller.py +191 -184
- meerk40t/balormk/gui/baloroperationproperties.py +116 -115
- meerk40t/balormk/gui/corscene.py +845 -0
- meerk40t/balormk/gui/gui.py +179 -147
- meerk40t/balormk/livelightjob.py +466 -382
- meerk40t/balormk/mock_connection.py +131 -109
- meerk40t/balormk/plugin.py +133 -135
- meerk40t/balormk/usb_connection.py +306 -301
- meerk40t/camera/__init__.py +1 -1
- meerk40t/camera/camera.py +514 -397
- meerk40t/camera/gui/camerapanel.py +1241 -1095
- meerk40t/camera/gui/gui.py +58 -58
- meerk40t/camera/plugin.py +441 -399
- meerk40t/ch341/__init__.py +27 -27
- meerk40t/ch341/ch341device.py +628 -628
- meerk40t/ch341/libusb.py +595 -589
- meerk40t/ch341/mock.py +171 -171
- meerk40t/ch341/windriver.py +157 -157
- meerk40t/constants.py +13 -0
- meerk40t/core/__init__.py +1 -1
- meerk40t/core/bindalias.py +550 -539
- meerk40t/core/core.py +47 -47
- meerk40t/core/cutcode/cubiccut.py +73 -73
- meerk40t/core/cutcode/cutcode.py +315 -312
- meerk40t/core/cutcode/cutgroup.py +141 -137
- meerk40t/core/cutcode/cutobject.py +192 -185
- meerk40t/core/cutcode/dwellcut.py +37 -37
- meerk40t/core/cutcode/gotocut.py +29 -29
- meerk40t/core/cutcode/homecut.py +29 -29
- meerk40t/core/cutcode/inputcut.py +34 -34
- meerk40t/core/cutcode/linecut.py +33 -33
- meerk40t/core/cutcode/outputcut.py +34 -34
- meerk40t/core/cutcode/plotcut.py +335 -335
- meerk40t/core/cutcode/quadcut.py +61 -61
- meerk40t/core/cutcode/rastercut.py +168 -148
- meerk40t/core/cutcode/waitcut.py +34 -34
- meerk40t/core/cutplan.py +1843 -1316
- meerk40t/core/drivers.py +330 -329
- meerk40t/core/elements/align.py +801 -669
- meerk40t/core/elements/branches.py +1844 -1507
- meerk40t/core/elements/clipboard.py +229 -219
- meerk40t/core/elements/element_treeops.py +4561 -2837
- meerk40t/core/elements/element_types.py +125 -105
- meerk40t/core/elements/elements.py +4329 -3617
- meerk40t/core/elements/files.py +117 -64
- meerk40t/core/elements/geometry.py +473 -224
- meerk40t/core/elements/grid.py +467 -316
- meerk40t/core/elements/materials.py +158 -94
- meerk40t/core/elements/notes.py +50 -38
- meerk40t/core/elements/offset_clpr.py +933 -912
- meerk40t/core/elements/offset_mk.py +963 -955
- meerk40t/core/elements/penbox.py +339 -267
- meerk40t/core/elements/placements.py +300 -83
- meerk40t/core/elements/render.py +785 -687
- meerk40t/core/elements/shapes.py +2618 -2092
- meerk40t/core/elements/trace.py +651 -563
- meerk40t/core/elements/tree_commands.py +415 -409
- meerk40t/core/elements/undo_redo.py +116 -58
- meerk40t/core/elements/wordlist.py +319 -200
- meerk40t/core/exceptions.py +9 -9
- meerk40t/core/laserjob.py +220 -220
- meerk40t/core/logging.py +63 -63
- meerk40t/core/node/blobnode.py +83 -86
- meerk40t/core/node/bootstrap.py +105 -103
- meerk40t/core/node/branch_elems.py +40 -31
- meerk40t/core/node/branch_ops.py +45 -38
- meerk40t/core/node/branch_regmark.py +48 -41
- meerk40t/core/node/cutnode.py +29 -32
- meerk40t/core/node/effect_hatch.py +375 -257
- meerk40t/core/node/effect_warp.py +398 -0
- meerk40t/core/node/effect_wobble.py +441 -309
- meerk40t/core/node/elem_ellipse.py +404 -309
- meerk40t/core/node/elem_image.py +1082 -801
- meerk40t/core/node/elem_line.py +358 -292
- meerk40t/core/node/elem_path.py +259 -201
- meerk40t/core/node/elem_point.py +129 -102
- meerk40t/core/node/elem_polyline.py +310 -246
- meerk40t/core/node/elem_rect.py +376 -286
- meerk40t/core/node/elem_text.py +445 -418
- meerk40t/core/node/filenode.py +59 -40
- meerk40t/core/node/groupnode.py +138 -74
- meerk40t/core/node/image_processed.py +777 -766
- meerk40t/core/node/image_raster.py +156 -113
- meerk40t/core/node/layernode.py +31 -31
- meerk40t/core/node/mixins.py +135 -107
- meerk40t/core/node/node.py +1427 -1304
- meerk40t/core/node/nutils.py +117 -114
- meerk40t/core/node/op_cut.py +462 -335
- meerk40t/core/node/op_dots.py +296 -251
- meerk40t/core/node/op_engrave.py +414 -311
- meerk40t/core/node/op_image.py +755 -369
- meerk40t/core/node/op_raster.py +787 -522
- meerk40t/core/node/place_current.py +37 -40
- meerk40t/core/node/place_point.py +329 -126
- meerk40t/core/node/refnode.py +58 -47
- meerk40t/core/node/rootnode.py +225 -219
- meerk40t/core/node/util_console.py +48 -48
- meerk40t/core/node/util_goto.py +84 -65
- meerk40t/core/node/util_home.py +61 -61
- meerk40t/core/node/util_input.py +102 -102
- meerk40t/core/node/util_output.py +102 -102
- meerk40t/core/node/util_wait.py +65 -65
- meerk40t/core/parameters.py +709 -707
- meerk40t/core/planner.py +875 -785
- meerk40t/core/plotplanner.py +656 -652
- meerk40t/core/space.py +120 -113
- meerk40t/core/spoolers.py +706 -705
- meerk40t/core/svg_io.py +1836 -1549
- meerk40t/core/treeop.py +534 -445
- meerk40t/core/undos.py +278 -124
- meerk40t/core/units.py +784 -680
- meerk40t/core/view.py +393 -322
- meerk40t/core/webhelp.py +62 -62
- meerk40t/core/wordlist.py +513 -504
- meerk40t/cylinder/cylinder.py +247 -0
- meerk40t/cylinder/gui/cylindersettings.py +41 -0
- meerk40t/cylinder/gui/gui.py +24 -0
- meerk40t/device/__init__.py +1 -1
- meerk40t/device/basedevice.py +322 -123
- meerk40t/device/devicechoices.py +50 -0
- meerk40t/device/dummydevice.py +163 -128
- meerk40t/device/gui/defaultactions.py +618 -602
- meerk40t/device/gui/effectspanel.py +114 -0
- meerk40t/device/gui/formatterpanel.py +253 -290
- meerk40t/device/gui/warningpanel.py +337 -260
- meerk40t/device/mixins.py +13 -13
- meerk40t/dxf/__init__.py +1 -1
- meerk40t/dxf/dxf_io.py +766 -554
- meerk40t/dxf/plugin.py +47 -35
- meerk40t/external_plugins.py +79 -79
- meerk40t/external_plugins_build.py +28 -28
- meerk40t/extra/cag.py +112 -116
- meerk40t/extra/coolant.py +403 -0
- meerk40t/extra/encode_detect.py +198 -0
- meerk40t/extra/ezd.py +1165 -1165
- meerk40t/extra/hershey.py +835 -340
- meerk40t/extra/imageactions.py +322 -316
- meerk40t/extra/inkscape.py +630 -622
- meerk40t/extra/lbrn.py +424 -424
- meerk40t/extra/outerworld.py +284 -0
- meerk40t/extra/param_functions.py +1542 -1556
- meerk40t/extra/potrace.py +257 -253
- meerk40t/extra/serial_exchange.py +118 -0
- meerk40t/extra/updater.py +602 -453
- meerk40t/extra/vectrace.py +147 -146
- meerk40t/extra/winsleep.py +83 -83
- meerk40t/extra/xcs_reader.py +597 -0
- meerk40t/fill/fills.py +781 -335
- meerk40t/fill/patternfill.py +1061 -1061
- meerk40t/fill/patterns.py +614 -567
- meerk40t/grbl/control.py +87 -87
- meerk40t/grbl/controller.py +990 -903
- meerk40t/grbl/device.py +1081 -768
- meerk40t/grbl/driver.py +989 -771
- meerk40t/grbl/emulator.py +532 -497
- meerk40t/grbl/gcodejob.py +783 -767
- meerk40t/grbl/gui/grblconfiguration.py +373 -298
- meerk40t/grbl/gui/grblcontroller.py +485 -271
- meerk40t/grbl/gui/grblhardwareconfig.py +269 -153
- meerk40t/grbl/gui/grbloperationconfig.py +105 -0
- meerk40t/grbl/gui/gui.py +147 -116
- meerk40t/grbl/interpreter.py +44 -44
- meerk40t/grbl/loader.py +22 -22
- meerk40t/grbl/mock_connection.py +56 -56
- meerk40t/grbl/plugin.py +294 -264
- meerk40t/grbl/serial_connection.py +93 -88
- meerk40t/grbl/tcp_connection.py +81 -79
- meerk40t/grbl/ws_connection.py +112 -0
- meerk40t/gui/__init__.py +1 -1
- meerk40t/gui/about.py +2042 -296
- meerk40t/gui/alignment.py +1644 -1608
- meerk40t/gui/autoexec.py +199 -0
- meerk40t/gui/basicops.py +791 -670
- meerk40t/gui/bufferview.py +77 -71
- meerk40t/gui/busy.py +170 -133
- meerk40t/gui/choicepropertypanel.py +1673 -1469
- meerk40t/gui/consolepanel.py +706 -542
- meerk40t/gui/devicepanel.py +687 -581
- meerk40t/gui/dialogoptions.py +110 -107
- meerk40t/gui/executejob.py +316 -306
- meerk40t/gui/fonts.py +90 -90
- meerk40t/gui/functionwrapper.py +252 -0
- meerk40t/gui/gui_mixins.py +729 -0
- meerk40t/gui/guicolors.py +205 -182
- meerk40t/gui/help_assets/help_assets.py +218 -201
- meerk40t/gui/helper.py +154 -0
- meerk40t/gui/hersheymanager.py +1430 -846
- meerk40t/gui/icons.py +3422 -2747
- meerk40t/gui/imagesplitter.py +555 -508
- meerk40t/gui/keymap.py +354 -344
- meerk40t/gui/laserpanel.py +892 -806
- meerk40t/gui/laserrender.py +1470 -1232
- meerk40t/gui/lasertoolpanel.py +805 -793
- meerk40t/gui/magnetoptions.py +436 -0
- meerk40t/gui/materialmanager.py +2917 -0
- meerk40t/gui/materialtest.py +1722 -1694
- meerk40t/gui/mkdebug.py +646 -359
- meerk40t/gui/mwindow.py +163 -140
- meerk40t/gui/navigationpanels.py +2605 -2467
- meerk40t/gui/notes.py +143 -142
- meerk40t/gui/opassignment.py +414 -410
- meerk40t/gui/operation_info.py +310 -299
- meerk40t/gui/plugin.py +494 -328
- meerk40t/gui/position.py +714 -669
- meerk40t/gui/preferences.py +901 -650
- meerk40t/gui/propertypanels/attributes.py +1461 -1131
- meerk40t/gui/propertypanels/blobproperty.py +117 -114
- meerk40t/gui/propertypanels/consoleproperty.py +83 -80
- meerk40t/gui/propertypanels/gotoproperty.py +77 -0
- meerk40t/gui/propertypanels/groupproperties.py +223 -217
- meerk40t/gui/propertypanels/hatchproperty.py +489 -469
- meerk40t/gui/propertypanels/imageproperty.py +2244 -1384
- meerk40t/gui/propertypanels/inputproperty.py +59 -58
- meerk40t/gui/propertypanels/opbranchproperties.py +82 -80
- meerk40t/gui/propertypanels/operationpropertymain.py +1890 -1638
- meerk40t/gui/propertypanels/outputproperty.py +59 -58
- meerk40t/gui/propertypanels/pathproperty.py +389 -380
- meerk40t/gui/propertypanels/placementproperty.py +1214 -383
- meerk40t/gui/propertypanels/pointproperty.py +140 -136
- meerk40t/gui/propertypanels/propertywindow.py +313 -181
- meerk40t/gui/propertypanels/rasterwizardpanels.py +996 -912
- meerk40t/gui/propertypanels/regbranchproperties.py +76 -0
- meerk40t/gui/propertypanels/textproperty.py +770 -755
- meerk40t/gui/propertypanels/waitproperty.py +56 -55
- meerk40t/gui/propertypanels/warpproperty.py +121 -0
- meerk40t/gui/propertypanels/wobbleproperty.py +255 -204
- meerk40t/gui/ribbon.py +2468 -2210
- meerk40t/gui/scene/scene.py +1100 -1051
- meerk40t/gui/scene/sceneconst.py +22 -22
- meerk40t/gui/scene/scenepanel.py +439 -349
- meerk40t/gui/scene/scenespacewidget.py +365 -365
- meerk40t/gui/scene/widget.py +518 -505
- meerk40t/gui/scenewidgets/affinemover.py +215 -215
- meerk40t/gui/scenewidgets/attractionwidget.py +315 -309
- meerk40t/gui/scenewidgets/bedwidget.py +120 -97
- meerk40t/gui/scenewidgets/elementswidget.py +137 -107
- meerk40t/gui/scenewidgets/gridwidget.py +785 -745
- meerk40t/gui/scenewidgets/guidewidget.py +765 -765
- meerk40t/gui/scenewidgets/laserpathwidget.py +66 -66
- meerk40t/gui/scenewidgets/machineoriginwidget.py +86 -86
- meerk40t/gui/scenewidgets/nodeselector.py +28 -28
- meerk40t/gui/scenewidgets/rectselectwidget.py +589 -346
- meerk40t/gui/scenewidgets/relocatewidget.py +33 -33
- meerk40t/gui/scenewidgets/reticlewidget.py +83 -83
- meerk40t/gui/scenewidgets/selectionwidget.py +2952 -2756
- meerk40t/gui/simpleui.py +357 -333
- meerk40t/gui/simulation.py +2431 -2094
- meerk40t/gui/snapoptions.py +208 -203
- meerk40t/gui/spoolerpanel.py +1227 -1180
- meerk40t/gui/statusbarwidgets/defaultoperations.py +480 -353
- meerk40t/gui/statusbarwidgets/infowidget.py +520 -483
- meerk40t/gui/statusbarwidgets/opassignwidget.py +356 -355
- meerk40t/gui/statusbarwidgets/selectionwidget.py +172 -171
- meerk40t/gui/statusbarwidgets/shapepropwidget.py +754 -236
- meerk40t/gui/statusbarwidgets/statusbar.py +272 -260
- meerk40t/gui/statusbarwidgets/statusbarwidget.py +268 -270
- meerk40t/gui/statusbarwidgets/strokewidget.py +267 -251
- meerk40t/gui/themes.py +200 -78
- meerk40t/gui/tips.py +591 -0
- meerk40t/gui/toolwidgets/circlebrush.py +35 -35
- meerk40t/gui/toolwidgets/toolcircle.py +248 -242
- meerk40t/gui/toolwidgets/toolcontainer.py +82 -77
- meerk40t/gui/toolwidgets/tooldraw.py +97 -90
- meerk40t/gui/toolwidgets/toolellipse.py +219 -212
- meerk40t/gui/toolwidgets/toolimagecut.py +25 -132
- meerk40t/gui/toolwidgets/toolline.py +39 -144
- meerk40t/gui/toolwidgets/toollinetext.py +79 -236
- meerk40t/gui/toolwidgets/toollinetext_inline.py +296 -0
- meerk40t/gui/toolwidgets/toolmeasure.py +160 -216
- meerk40t/gui/toolwidgets/toolnodeedit.py +2088 -2074
- meerk40t/gui/toolwidgets/toolnodemove.py +92 -94
- meerk40t/gui/toolwidgets/toolparameter.py +754 -668
- meerk40t/gui/toolwidgets/toolplacement.py +108 -108
- meerk40t/gui/toolwidgets/toolpoint.py +68 -59
- meerk40t/gui/toolwidgets/toolpointlistbuilder.py +294 -0
- meerk40t/gui/toolwidgets/toolpointmove.py +183 -0
- meerk40t/gui/toolwidgets/toolpolygon.py +288 -403
- meerk40t/gui/toolwidgets/toolpolyline.py +38 -196
- meerk40t/gui/toolwidgets/toolrect.py +211 -207
- meerk40t/gui/toolwidgets/toolrelocate.py +72 -72
- meerk40t/gui/toolwidgets/toolribbon.py +598 -113
- meerk40t/gui/toolwidgets/tooltabedit.py +546 -0
- meerk40t/gui/toolwidgets/tooltext.py +98 -89
- meerk40t/gui/toolwidgets/toolvector.py +213 -204
- meerk40t/gui/toolwidgets/toolwidget.py +39 -39
- meerk40t/gui/usbconnect.py +98 -91
- meerk40t/gui/utilitywidgets/buttonwidget.py +18 -18
- meerk40t/gui/utilitywidgets/checkboxwidget.py +90 -90
- meerk40t/gui/utilitywidgets/controlwidget.py +14 -14
- meerk40t/gui/utilitywidgets/cyclocycloidwidget.py +343 -340
- meerk40t/gui/utilitywidgets/debugwidgets.py +148 -0
- meerk40t/gui/utilitywidgets/handlewidget.py +27 -27
- meerk40t/gui/utilitywidgets/harmonograph.py +450 -447
- meerk40t/gui/utilitywidgets/openclosewidget.py +40 -40
- meerk40t/gui/utilitywidgets/rotationwidget.py +54 -54
- meerk40t/gui/utilitywidgets/scalewidget.py +75 -75
- meerk40t/gui/utilitywidgets/seekbarwidget.py +183 -183
- meerk40t/gui/utilitywidgets/togglewidget.py +142 -142
- meerk40t/gui/utilitywidgets/toolbarwidget.py +8 -8
- meerk40t/gui/wordlisteditor.py +985 -931
- meerk40t/gui/wxmeerk40t.py +1444 -1169
- meerk40t/gui/wxmmain.py +5578 -4112
- meerk40t/gui/wxmribbon.py +1591 -1076
- meerk40t/gui/wxmscene.py +1635 -1453
- meerk40t/gui/wxmtree.py +2410 -2089
- meerk40t/gui/wxutils.py +1769 -1099
- meerk40t/gui/zmatrix.py +102 -102
- meerk40t/image/__init__.py +1 -1
- meerk40t/image/dither.py +429 -0
- meerk40t/image/imagetools.py +2778 -2269
- meerk40t/internal_plugins.py +150 -130
- meerk40t/kernel/__init__.py +63 -12
- meerk40t/kernel/channel.py +259 -212
- meerk40t/kernel/context.py +538 -538
- meerk40t/kernel/exceptions.py +41 -41
- meerk40t/kernel/functions.py +463 -414
- meerk40t/kernel/jobs.py +100 -100
- meerk40t/kernel/kernel.py +3809 -3571
- meerk40t/kernel/lifecycles.py +71 -71
- meerk40t/kernel/module.py +49 -49
- meerk40t/kernel/service.py +147 -147
- meerk40t/kernel/settings.py +383 -343
- meerk40t/lihuiyu/controller.py +883 -876
- meerk40t/lihuiyu/device.py +1181 -1069
- meerk40t/lihuiyu/driver.py +1466 -1372
- meerk40t/lihuiyu/gui/gui.py +127 -106
- meerk40t/lihuiyu/gui/lhyaccelgui.py +377 -363
- meerk40t/lihuiyu/gui/lhycontrollergui.py +741 -651
- meerk40t/lihuiyu/gui/lhydrivergui.py +470 -446
- meerk40t/lihuiyu/gui/lhyoperationproperties.py +238 -237
- meerk40t/lihuiyu/gui/tcpcontroller.py +226 -190
- meerk40t/lihuiyu/interpreter.py +53 -53
- meerk40t/lihuiyu/laserspeed.py +450 -450
- meerk40t/lihuiyu/loader.py +90 -90
- meerk40t/lihuiyu/parser.py +404 -404
- meerk40t/lihuiyu/plugin.py +101 -102
- meerk40t/lihuiyu/tcp_connection.py +111 -109
- meerk40t/main.py +231 -165
- meerk40t/moshi/builder.py +788 -781
- meerk40t/moshi/controller.py +505 -499
- meerk40t/moshi/device.py +495 -442
- meerk40t/moshi/driver.py +862 -696
- meerk40t/moshi/gui/gui.py +78 -76
- meerk40t/moshi/gui/moshicontrollergui.py +538 -522
- meerk40t/moshi/gui/moshidrivergui.py +87 -75
- meerk40t/moshi/plugin.py +43 -43
- meerk40t/network/console_server.py +102 -57
- meerk40t/network/kernelserver.py +10 -9
- meerk40t/network/tcp_server.py +142 -140
- meerk40t/network/udp_server.py +103 -77
- meerk40t/network/web_server.py +390 -0
- meerk40t/newly/controller.py +1158 -1144
- meerk40t/newly/device.py +874 -732
- meerk40t/newly/driver.py +540 -412
- meerk40t/newly/gui/gui.py +219 -188
- meerk40t/newly/gui/newlyconfig.py +116 -101
- meerk40t/newly/gui/newlycontroller.py +193 -186
- meerk40t/newly/gui/operationproperties.py +51 -51
- meerk40t/newly/mock_connection.py +82 -82
- meerk40t/newly/newly_params.py +56 -56
- meerk40t/newly/plugin.py +1214 -1246
- meerk40t/newly/usb_connection.py +322 -322
- meerk40t/rotary/gui/gui.py +52 -46
- meerk40t/rotary/gui/rotarysettings.py +240 -232
- meerk40t/rotary/rotary.py +202 -98
- meerk40t/ruida/control.py +291 -91
- meerk40t/ruida/controller.py +138 -1088
- meerk40t/ruida/device.py +672 -231
- meerk40t/ruida/driver.py +534 -472
- meerk40t/ruida/emulator.py +1494 -1491
- meerk40t/ruida/exceptions.py +4 -4
- meerk40t/ruida/gui/gui.py +71 -76
- meerk40t/ruida/gui/ruidaconfig.py +239 -72
- meerk40t/ruida/gui/ruidacontroller.py +187 -184
- meerk40t/ruida/gui/ruidaoperationproperties.py +48 -47
- meerk40t/ruida/loader.py +54 -52
- meerk40t/ruida/mock_connection.py +57 -109
- meerk40t/ruida/plugin.py +124 -87
- meerk40t/ruida/rdjob.py +2084 -945
- meerk40t/ruida/serial_connection.py +116 -0
- meerk40t/ruida/tcp_connection.py +146 -0
- meerk40t/ruida/udp_connection.py +73 -0
- meerk40t/svgelements.py +9671 -9669
- meerk40t/tools/driver_to_path.py +584 -579
- meerk40t/tools/geomstr.py +5583 -4680
- meerk40t/tools/jhfparser.py +357 -292
- meerk40t/tools/kerftest.py +904 -890
- meerk40t/tools/livinghinges.py +1168 -1033
- meerk40t/tools/pathtools.py +987 -949
- meerk40t/tools/pmatrix.py +234 -0
- meerk40t/tools/pointfinder.py +942 -942
- meerk40t/tools/polybool.py +940 -940
- meerk40t/tools/rasterplotter.py +1660 -547
- meerk40t/tools/shxparser.py +989 -901
- meerk40t/tools/ttfparser.py +726 -446
- meerk40t/tools/zinglplotter.py +595 -593
- {meerk40t-0.9.3001.dist-info → meerk40t-0.9.7010.dist-info}/LICENSE +21 -21
- {meerk40t-0.9.3001.dist-info → meerk40t-0.9.7010.dist-info}/METADATA +150 -139
- meerk40t-0.9.7010.dist-info/RECORD +445 -0
- {meerk40t-0.9.3001.dist-info → meerk40t-0.9.7010.dist-info}/WHEEL +1 -1
- {meerk40t-0.9.3001.dist-info → meerk40t-0.9.7010.dist-info}/top_level.txt +0 -1
- {meerk40t-0.9.3001.dist-info → meerk40t-0.9.7010.dist-info}/zip-safe +1 -1
- meerk40t/balormk/elementlightjob.py +0 -159
- meerk40t-0.9.3001.dist-info/RECORD +0 -437
- test/bootstrap.py +0 -63
- test/test_cli.py +0 -12
- test/test_core_cutcode.py +0 -418
- test/test_core_elements.py +0 -144
- test/test_core_plotplanner.py +0 -397
- test/test_core_viewports.py +0 -312
- test/test_drivers_grbl.py +0 -108
- test/test_drivers_lihuiyu.py +0 -443
- test/test_drivers_newly.py +0 -113
- test/test_element_degenerate_points.py +0 -43
- test/test_elements_classify.py +0 -97
- test/test_elements_penbox.py +0 -22
- test/test_file_svg.py +0 -176
- test/test_fill.py +0 -155
- test/test_geomstr.py +0 -1523
- test/test_geomstr_nodes.py +0 -18
- test/test_imagetools_actualize.py +0 -306
- test/test_imagetools_wizard.py +0 -258
- test/test_kernel.py +0 -200
- test/test_laser_speeds.py +0 -3303
- test/test_length.py +0 -57
- test/test_lifecycle.py +0 -66
- test/test_operations.py +0 -251
- test/test_operations_hatch.py +0 -57
- test/test_ruida.py +0 -19
- test/test_spooler.py +0 -22
- test/test_tools_rasterplotter.py +0 -29
- test/test_wobble.py +0 -133
- test/test_zingl.py +0 -124
- {test → meerk40t/cylinder}/__init__.py +0 -0
- /meerk40t/{core/element_commands.py → cylinder/gui/__init__.py} +0 -0
- {meerk40t-0.9.3001.dist-info → meerk40t-0.9.7010.dist-info}/entry_points.txt +0 -0
meerk40t/core/node/blobnode.py
CHANGED
@@ -1,86 +1,83 @@
|
|
1
|
-
from meerk40t.core.node.node import Node
|
2
|
-
|
3
|
-
|
4
|
-
class BlobNode(Node):
|
5
|
-
"""
|
6
|
-
BlobNode is a basic operation containing raw data of some type. This consists of a series of bytes.
|
7
|
-
|
8
|
-
Node type "blob"
|
9
|
-
"""
|
10
|
-
|
11
|
-
def __init__(self, **kwargs):
|
12
|
-
self.data = None
|
13
|
-
self.data_type = None
|
14
|
-
self.views = {}
|
15
|
-
self.label = "Blob"
|
16
|
-
self.output = True
|
17
|
-
super().__init__(type="blob", **kwargs)
|
18
|
-
self._formatter = "{element_type}:{data_type}:{label} @{length}"
|
19
|
-
|
20
|
-
def __len__(self):
|
21
|
-
if self.data is None:
|
22
|
-
return 0
|
23
|
-
return len(self.data)
|
24
|
-
|
25
|
-
def default_map(self, default_map=None):
|
26
|
-
default_map = super().default_map(default_map=default_map)
|
27
|
-
default_map["element_type"] = "Blob"
|
28
|
-
default_map["data_type"] = self.data_type
|
29
|
-
default_map["label"] = self.label
|
30
|
-
d = 0
|
31
|
-
if self.data is not None:
|
32
|
-
d = len(self.data)
|
33
|
-
default_map["length"] = d
|
34
|
-
return default_map
|
35
|
-
|
36
|
-
def
|
37
|
-
|
38
|
-
|
39
|
-
|
40
|
-
"""
|
41
|
-
|
42
|
-
|
43
|
-
|
44
|
-
|
45
|
-
|
46
|
-
|
47
|
-
|
48
|
-
|
49
|
-
|
50
|
-
|
51
|
-
|
52
|
-
|
53
|
-
|
54
|
-
|
55
|
-
|
56
|
-
|
57
|
-
|
58
|
-
if
|
59
|
-
|
60
|
-
|
61
|
-
|
62
|
-
|
63
|
-
|
64
|
-
|
65
|
-
|
66
|
-
|
67
|
-
|
68
|
-
|
69
|
-
|
70
|
-
|
71
|
-
|
72
|
-
|
73
|
-
|
74
|
-
|
75
|
-
|
76
|
-
|
77
|
-
|
78
|
-
|
79
|
-
|
80
|
-
|
81
|
-
|
82
|
-
|
83
|
-
|
84
|
-
def generate(self):
|
85
|
-
if self.data:
|
86
|
-
yield "blob", self.data_type, self.data
|
1
|
+
from meerk40t.core.node.node import Node
|
2
|
+
|
3
|
+
|
4
|
+
class BlobNode(Node):
|
5
|
+
"""
|
6
|
+
BlobNode is a basic operation containing raw data of some type. This consists of a series of bytes.
|
7
|
+
|
8
|
+
Node type "blob"
|
9
|
+
"""
|
10
|
+
|
11
|
+
def __init__(self, **kwargs):
|
12
|
+
self.data = None
|
13
|
+
self.data_type = None
|
14
|
+
self.views = {}
|
15
|
+
self.label = "Blob"
|
16
|
+
self.output = True
|
17
|
+
super().__init__(type="blob", **kwargs)
|
18
|
+
self._formatter = "{element_type}:{data_type}:{label} @{length}"
|
19
|
+
|
20
|
+
def __len__(self):
|
21
|
+
if self.data is None:
|
22
|
+
return 0
|
23
|
+
return len(self.data)
|
24
|
+
|
25
|
+
def default_map(self, default_map=None):
|
26
|
+
default_map = super().default_map(default_map=default_map)
|
27
|
+
default_map["element_type"] = "Blob"
|
28
|
+
default_map["data_type"] = self.data_type
|
29
|
+
default_map["label"] = self.label
|
30
|
+
d = 0
|
31
|
+
if self.data is not None:
|
32
|
+
d = len(self.data)
|
33
|
+
default_map["length"] = d
|
34
|
+
return default_map
|
35
|
+
|
36
|
+
def allow_save(self):
|
37
|
+
"""
|
38
|
+
Returns false to prevent saving of blob types into operations.
|
39
|
+
@return:
|
40
|
+
"""
|
41
|
+
return False
|
42
|
+
|
43
|
+
@staticmethod
|
44
|
+
def hex_view(data, data_type):
|
45
|
+
header1 = f"Data-Type: {data_type}, Length={len(data)}\n"
|
46
|
+
header2 = "Offset | Hex | Ascii \n"
|
47
|
+
header2 += "-------+-------------------------------------------------+----------------\n"
|
48
|
+
if isinstance(data, str):
|
49
|
+
data = data.encode("latin-1")
|
50
|
+
|
51
|
+
def create_table():
|
52
|
+
ascii_list = list()
|
53
|
+
for i, c in enumerate(data):
|
54
|
+
q = i % 16
|
55
|
+
if q == 0:
|
56
|
+
yield f"{i:06x} "
|
57
|
+
yield f"{c:02x} "
|
58
|
+
if c in (0x00, 0x0D, 0x0A, 0x09) or c > 0x80:
|
59
|
+
ascii_list.append(".")
|
60
|
+
else:
|
61
|
+
ascii_list.append(chr(c))
|
62
|
+
if q == 7:
|
63
|
+
yield " "
|
64
|
+
if q == 15:
|
65
|
+
ascii_line = "".join(ascii_list)
|
66
|
+
ascii_list.clear()
|
67
|
+
yield f" {ascii_line}\n"
|
68
|
+
|
69
|
+
hex_data = list(create_table())
|
70
|
+
return header1 + header2 + "".join(hex_data)
|
71
|
+
|
72
|
+
@staticmethod
|
73
|
+
def ascii_view(data, data_type):
|
74
|
+
header1 = f"Data-Type: {data_type}, Length={len(data)}\n"
|
75
|
+
header2 = "Offset | Hex | Ascii \n"
|
76
|
+
header2 += "-------+-------------------------------------------------+----------------\n"
|
77
|
+
if isinstance(data, str):
|
78
|
+
data = data.encode("latin-1")
|
79
|
+
return header1 + data.decode("latin-1")
|
80
|
+
|
81
|
+
def generate(self):
|
82
|
+
if self.data:
|
83
|
+
yield "blob", self.data_type, self.data
|
meerk40t/core/node/bootstrap.py
CHANGED
@@ -1,103 +1,105 @@
|
|
1
|
-
from meerk40t.core.node.blobnode import BlobNode
|
2
|
-
from meerk40t.core.node.branch_elems import BranchElementsNode
|
3
|
-
from meerk40t.core.node.branch_ops import BranchOperationsNode
|
4
|
-
from meerk40t.core.node.branch_regmark import BranchRegmarkNode
|
5
|
-
from meerk40t.core.node.cutnode import CutNode
|
6
|
-
from meerk40t.core.node.effect_hatch import HatchEffectNode
|
7
|
-
from meerk40t.core.node.
|
8
|
-
from meerk40t.core.node.
|
9
|
-
from meerk40t.core.node.
|
10
|
-
from meerk40t.core.node.
|
11
|
-
from meerk40t.core.node.
|
12
|
-
from meerk40t.core.node.
|
13
|
-
from meerk40t.core.node.
|
14
|
-
from meerk40t.core.node.
|
15
|
-
from meerk40t.core.node.
|
16
|
-
from meerk40t.core.node.
|
17
|
-
from meerk40t.core.node.
|
18
|
-
from meerk40t.core.node.
|
19
|
-
from meerk40t.core.node.
|
20
|
-
from meerk40t.core.node.
|
21
|
-
from meerk40t.core.node.
|
22
|
-
from meerk40t.core.node.
|
23
|
-
from meerk40t.core.node.
|
24
|
-
from meerk40t.core.node.
|
25
|
-
from meerk40t.core.node.
|
26
|
-
from meerk40t.core.node.
|
27
|
-
from meerk40t.core.node.
|
28
|
-
from meerk40t.core.node.
|
29
|
-
from meerk40t.core.node.
|
30
|
-
from meerk40t.core.node.
|
31
|
-
from meerk40t.core.node.
|
32
|
-
from meerk40t.core.node.
|
33
|
-
from meerk40t.core.node.
|
34
|
-
from meerk40t.core.node.
|
35
|
-
|
36
|
-
|
37
|
-
|
38
|
-
"
|
39
|
-
"op
|
40
|
-
"op
|
41
|
-
"op
|
42
|
-
"op
|
43
|
-
"
|
44
|
-
"util
|
45
|
-
"util
|
46
|
-
"util
|
47
|
-
"util
|
48
|
-
"util
|
49
|
-
"
|
50
|
-
"
|
51
|
-
"
|
52
|
-
"
|
53
|
-
"elem
|
54
|
-
"elem
|
55
|
-
"elem
|
56
|
-
"elem
|
57
|
-
"elem
|
58
|
-
"elem
|
59
|
-
"elem
|
60
|
-
"
|
61
|
-
"
|
62
|
-
"
|
63
|
-
"branch
|
64
|
-
"branch
|
65
|
-
"
|
66
|
-
}
|
67
|
-
|
68
|
-
|
69
|
-
|
70
|
-
"
|
71
|
-
"op
|
72
|
-
"op
|
73
|
-
"op
|
74
|
-
"op
|
75
|
-
"
|
76
|
-
"effect
|
77
|
-
"
|
78
|
-
"
|
79
|
-
"util
|
80
|
-
"util
|
81
|
-
"util
|
82
|
-
"util
|
83
|
-
"
|
84
|
-
"
|
85
|
-
"
|
86
|
-
"
|
87
|
-
"
|
88
|
-
"
|
89
|
-
"
|
90
|
-
"elem
|
91
|
-
"elem
|
92
|
-
"elem
|
93
|
-
"elem
|
94
|
-
"elem
|
95
|
-
"elem
|
96
|
-
"image
|
97
|
-
"
|
98
|
-
"
|
99
|
-
"
|
100
|
-
"
|
101
|
-
"branch
|
102
|
-
"
|
103
|
-
|
1
|
+
from meerk40t.core.node.blobnode import BlobNode
|
2
|
+
from meerk40t.core.node.branch_elems import BranchElementsNode
|
3
|
+
from meerk40t.core.node.branch_ops import BranchOperationsNode
|
4
|
+
from meerk40t.core.node.branch_regmark import BranchRegmarkNode
|
5
|
+
from meerk40t.core.node.cutnode import CutNode
|
6
|
+
from meerk40t.core.node.effect_hatch import HatchEffectNode
|
7
|
+
from meerk40t.core.node.effect_warp import WarpEffectNode
|
8
|
+
from meerk40t.core.node.effect_wobble import WobbleEffectNode
|
9
|
+
from meerk40t.core.node.elem_ellipse import EllipseNode
|
10
|
+
from meerk40t.core.node.elem_image import ImageNode
|
11
|
+
from meerk40t.core.node.elem_line import LineNode
|
12
|
+
from meerk40t.core.node.elem_path import PathNode
|
13
|
+
from meerk40t.core.node.elem_point import PointNode
|
14
|
+
from meerk40t.core.node.elem_polyline import PolylineNode
|
15
|
+
from meerk40t.core.node.elem_rect import RectNode
|
16
|
+
from meerk40t.core.node.elem_text import TextNode
|
17
|
+
from meerk40t.core.node.filenode import FileNode
|
18
|
+
from meerk40t.core.node.groupnode import GroupNode
|
19
|
+
from meerk40t.core.node.image_raster import ImageRasterNode
|
20
|
+
from meerk40t.core.node.layernode import LayerNode
|
21
|
+
from meerk40t.core.node.op_cut import CutOpNode
|
22
|
+
from meerk40t.core.node.op_dots import DotsOpNode
|
23
|
+
from meerk40t.core.node.op_engrave import EngraveOpNode
|
24
|
+
from meerk40t.core.node.op_image import ImageOpNode
|
25
|
+
from meerk40t.core.node.op_raster import RasterOpNode
|
26
|
+
from meerk40t.core.node.place_current import PlaceCurrentNode
|
27
|
+
from meerk40t.core.node.place_point import PlacePointNode
|
28
|
+
from meerk40t.core.node.refnode import ReferenceNode
|
29
|
+
from meerk40t.core.node.rootnode import RootNode
|
30
|
+
from meerk40t.core.node.util_console import ConsoleOperation
|
31
|
+
from meerk40t.core.node.util_goto import GotoOperation
|
32
|
+
from meerk40t.core.node.util_home import HomeOperation
|
33
|
+
from meerk40t.core.node.util_input import InputOperation
|
34
|
+
from meerk40t.core.node.util_output import OutputOperation
|
35
|
+
from meerk40t.core.node.util_wait import WaitOperation
|
36
|
+
|
37
|
+
defaults = {
|
38
|
+
"root": {},
|
39
|
+
"op cut": {"speed": 12.0, "color": "red", "frequency": 30.0},
|
40
|
+
"op engrave": {"speed": 35.0, "color": "blue", "frequency": 30.0},
|
41
|
+
"op raster": {"speed": 150.0, "dpi": 500, "color": "black", "frequency": 30.0},
|
42
|
+
"op image": {"speed": 150.0, "color": "transparent", "frequency": 30.0},
|
43
|
+
"op dots": {"speed": 150.0, "color": "transparent", "frequency": 30.0},
|
44
|
+
"util console": {},
|
45
|
+
"util wait": {},
|
46
|
+
"util home": {},
|
47
|
+
"util goto": {},
|
48
|
+
"util input": {},
|
49
|
+
"util output": {},
|
50
|
+
"blob": {},
|
51
|
+
"group": {},
|
52
|
+
"layer": {},
|
53
|
+
"elem ellipse": {},
|
54
|
+
"elem line": {},
|
55
|
+
"elem rect": {},
|
56
|
+
"elem path": {},
|
57
|
+
"elem point": {},
|
58
|
+
"elem polyline": {},
|
59
|
+
"elem image": {"dpi": 500},
|
60
|
+
"elem text": {},
|
61
|
+
"reference": {},
|
62
|
+
"cutcode": {},
|
63
|
+
"branch ops": {},
|
64
|
+
"branch elems": {},
|
65
|
+
"branch reg": {},
|
66
|
+
"file": {},
|
67
|
+
}
|
68
|
+
|
69
|
+
bootstrap = {
|
70
|
+
"root": RootNode,
|
71
|
+
"op cut": CutOpNode,
|
72
|
+
"op engrave": EngraveOpNode,
|
73
|
+
"op raster": RasterOpNode,
|
74
|
+
"op image": ImageOpNode,
|
75
|
+
"op dots": DotsOpNode,
|
76
|
+
"effect hatch": HatchEffectNode,
|
77
|
+
"effect wobble": WobbleEffectNode,
|
78
|
+
"effect warp": WarpEffectNode,
|
79
|
+
"util console": ConsoleOperation,
|
80
|
+
"util wait": WaitOperation,
|
81
|
+
"util home": HomeOperation,
|
82
|
+
"util goto": GotoOperation,
|
83
|
+
"util input": InputOperation,
|
84
|
+
"util output": OutputOperation,
|
85
|
+
"place point": PlacePointNode,
|
86
|
+
"place current": PlaceCurrentNode,
|
87
|
+
"blob": BlobNode,
|
88
|
+
"group": GroupNode,
|
89
|
+
"layer": LayerNode,
|
90
|
+
"elem ellipse": EllipseNode,
|
91
|
+
"elem line": LineNode,
|
92
|
+
"elem rect": RectNode,
|
93
|
+
"elem path": PathNode,
|
94
|
+
"elem point": PointNode,
|
95
|
+
"elem polyline": PolylineNode,
|
96
|
+
"elem image": ImageNode,
|
97
|
+
"elem text": TextNode,
|
98
|
+
"image raster": ImageRasterNode,
|
99
|
+
"reference": ReferenceNode,
|
100
|
+
"cutcode": CutNode,
|
101
|
+
"branch ops": BranchOperationsNode,
|
102
|
+
"branch elems": BranchElementsNode,
|
103
|
+
"branch reg": BranchRegmarkNode,
|
104
|
+
"file": FileNode,
|
105
|
+
}
|
@@ -1,31 +1,40 @@
|
|
1
|
-
from meerk40t.core.node.node import Node
|
2
|
-
|
3
|
-
|
4
|
-
class BranchElementsNode(Node):
|
5
|
-
"""
|
6
|
-
Branch Element Node.
|
7
|
-
Bootstrapped type: 'branch elems'
|
8
|
-
"""
|
9
|
-
|
10
|
-
def __init__(self, **kwargs):
|
11
|
-
super().__init__(type="branch elems", **kwargs)
|
12
|
-
self._formatter = "{element_type}"
|
13
|
-
|
14
|
-
def default_map(self, default_map=None):
|
15
|
-
default_map = super().default_map(default_map=default_map)
|
16
|
-
default_map["element_type"] = "Elements"
|
17
|
-
return default_map
|
18
|
-
|
19
|
-
def
|
20
|
-
|
21
|
-
|
22
|
-
|
23
|
-
|
24
|
-
|
25
|
-
|
26
|
-
|
27
|
-
|
28
|
-
|
29
|
-
|
30
|
-
|
31
|
-
|
1
|
+
from meerk40t.core.node.node import Node
|
2
|
+
|
3
|
+
|
4
|
+
class BranchElementsNode(Node):
|
5
|
+
"""
|
6
|
+
Branch Element Node.
|
7
|
+
Bootstrapped type: 'branch elems'
|
8
|
+
"""
|
9
|
+
|
10
|
+
def __init__(self, **kwargs):
|
11
|
+
super().__init__(type="branch elems", **kwargs)
|
12
|
+
self._formatter = "{element_type}"
|
13
|
+
|
14
|
+
def default_map(self, default_map=None):
|
15
|
+
default_map = super().default_map(default_map=default_map)
|
16
|
+
default_map["element_type"] = "Elements"
|
17
|
+
return default_map
|
18
|
+
|
19
|
+
def can_drop(self, drag_node):
|
20
|
+
return bool(
|
21
|
+
hasattr(drag_node, "as_geometry")
|
22
|
+
or hasattr(drag_node, "as_image")
|
23
|
+
or drag_node.type == "group"
|
24
|
+
)
|
25
|
+
|
26
|
+
def drop(self, drag_node, modify=True, flag=False):
|
27
|
+
if not self.can_drop(drag_node):
|
28
|
+
return False
|
29
|
+
if hasattr(drag_node, "as_geometry") or hasattr(drag_node, "as_image"):
|
30
|
+
if modify:
|
31
|
+
self.append_child(drag_node)
|
32
|
+
return True
|
33
|
+
elif drag_node.type == "group":
|
34
|
+
if modify:
|
35
|
+
self.append_child(drag_node)
|
36
|
+
return True
|
37
|
+
return False
|
38
|
+
|
39
|
+
def is_draggable(self):
|
40
|
+
return False
|
meerk40t/core/node/branch_ops.py
CHANGED
@@ -1,38 +1,45 @@
|
|
1
|
-
from meerk40t.core.node.node import Node
|
2
|
-
|
3
|
-
|
4
|
-
class BranchOperationsNode(Node):
|
5
|
-
"""
|
6
|
-
Branch Operations Node.
|
7
|
-
Bootstrapped type: 'branch reg'
|
8
|
-
"""
|
9
|
-
|
10
|
-
def __init__(self, **kwargs):
|
11
|
-
self.loop_enabled = False
|
12
|
-
self.loop_continuous = False
|
13
|
-
self.loop_n = 1
|
14
|
-
super().__init__(type="branch ops", **kwargs)
|
15
|
-
self._formatter = "{element_type} {loops}"
|
16
|
-
|
17
|
-
def default_map(self, default_map=None):
|
18
|
-
default_map = super().default_map(default_map=default_map)
|
19
|
-
default_map["element_type"] = "Operations"
|
20
|
-
if self.loop_continuous:
|
21
|
-
default_map["loops"] = "∞"
|
22
|
-
else:
|
23
|
-
if self.loop_enabled:
|
24
|
-
default_map["loops"] = str(self.loop_n)
|
25
|
-
else:
|
26
|
-
default_map["loops"] = ""
|
27
|
-
return default_map
|
28
|
-
|
29
|
-
def
|
30
|
-
|
31
|
-
|
32
|
-
|
33
|
-
|
34
|
-
|
35
|
-
|
36
|
-
|
37
|
-
|
38
|
-
|
1
|
+
from meerk40t.core.node.node import Node
|
2
|
+
|
3
|
+
|
4
|
+
class BranchOperationsNode(Node):
|
5
|
+
"""
|
6
|
+
Branch Operations Node.
|
7
|
+
Bootstrapped type: 'branch reg'
|
8
|
+
"""
|
9
|
+
|
10
|
+
def __init__(self, **kwargs):
|
11
|
+
self.loop_enabled = False
|
12
|
+
self.loop_continuous = False
|
13
|
+
self.loop_n = 1
|
14
|
+
super().__init__(type="branch ops", **kwargs)
|
15
|
+
self._formatter = "{element_type} {loops}"
|
16
|
+
|
17
|
+
def default_map(self, default_map=None):
|
18
|
+
default_map = super().default_map(default_map=default_map)
|
19
|
+
default_map["element_type"] = "Operations"
|
20
|
+
if self.loop_continuous:
|
21
|
+
default_map["loops"] = "∞"
|
22
|
+
else:
|
23
|
+
if self.loop_enabled:
|
24
|
+
default_map["loops"] = str(self.loop_n)
|
25
|
+
else:
|
26
|
+
default_map["loops"] = ""
|
27
|
+
return default_map
|
28
|
+
|
29
|
+
def can_drop(self, drag_node):
|
30
|
+
return bool(
|
31
|
+
drag_node.type.startswith("op ") or drag_node.type.startswith("util ")
|
32
|
+
)
|
33
|
+
|
34
|
+
def drop(self, drag_node, modify=True, flag=False):
|
35
|
+
if not self.can_drop(drag_node):
|
36
|
+
return False
|
37
|
+
if drag_node.type.startswith("op ") or drag_node.type.startswith("util "):
|
38
|
+
# Dragging operation to op branch to effectively move to bottom.
|
39
|
+
if modify:
|
40
|
+
self.append_child(drag_node)
|
41
|
+
return True
|
42
|
+
return False
|
43
|
+
|
44
|
+
def is_draggable(self):
|
45
|
+
return False
|
@@ -1,41 +1,48 @@
|
|
1
|
-
from meerk40t.core.node.node import Node
|
2
|
-
|
3
|
-
|
4
|
-
class BranchRegmarkNode(Node):
|
5
|
-
"""
|
6
|
-
Branch Regmark Node.
|
7
|
-
Bootstrapped type: 'branch reg'
|
8
|
-
"""
|
9
|
-
|
10
|
-
def __init__(self, **kwargs):
|
11
|
-
super().__init__(type="branch reg", **kwargs)
|
12
|
-
self._formatter = "{element_type}"
|
13
|
-
|
14
|
-
def default_map(self, default_map=None):
|
15
|
-
default_map = super().default_map(default_map=default_map)
|
16
|
-
default_map["element_type"] = "Regmarks"
|
17
|
-
return default_map
|
18
|
-
|
19
|
-
def remove_references(self, node):
|
20
|
-
ct = 0
|
21
|
-
for ref in list(node.references):
|
22
|
-
ct += 1
|
23
|
-
ref.remove_node(fast=False)
|
24
|
-
for ref in list(node.children):
|
25
|
-
self.remove_references(ref)
|
26
|
-
|
27
|
-
def
|
28
|
-
if drag_node.type
|
29
|
-
|
30
|
-
|
31
|
-
|
32
|
-
|
33
|
-
|
34
|
-
|
35
|
-
|
36
|
-
|
37
|
-
|
38
|
-
|
39
|
-
|
40
|
-
|
41
|
-
|
1
|
+
from meerk40t.core.node.node import Node
|
2
|
+
|
3
|
+
|
4
|
+
class BranchRegmarkNode(Node):
|
5
|
+
"""
|
6
|
+
Branch Regmark Node.
|
7
|
+
Bootstrapped type: 'branch reg'
|
8
|
+
"""
|
9
|
+
|
10
|
+
def __init__(self, **kwargs):
|
11
|
+
super().__init__(type="branch reg", **kwargs)
|
12
|
+
self._formatter = "{element_type}"
|
13
|
+
|
14
|
+
def default_map(self, default_map=None):
|
15
|
+
default_map = super().default_map(default_map=default_map)
|
16
|
+
default_map["element_type"] = "Regmarks"
|
17
|
+
return default_map
|
18
|
+
|
19
|
+
def remove_references(self, node):
|
20
|
+
ct = 0
|
21
|
+
for ref in list(node.references):
|
22
|
+
ct += 1
|
23
|
+
ref.remove_node(fast=False)
|
24
|
+
for ref in list(node.children):
|
25
|
+
self.remove_references(ref)
|
26
|
+
|
27
|
+
def can_drop(self, drag_node):
|
28
|
+
if hasattr(drag_node, "as_geometry") or hasattr(drag_node, "as_image") or drag_node.type == "group":
|
29
|
+
return True
|
30
|
+
return False
|
31
|
+
|
32
|
+
def drop(self, drag_node, modify=True, flag=False):
|
33
|
+
if not self.can_drop(drag_node):
|
34
|
+
return False
|
35
|
+
if hasattr(drag_node, "as_geometry") or hasattr(drag_node, "as_image"):
|
36
|
+
if modify:
|
37
|
+
self.remove_references(drag_node)
|
38
|
+
self.append_child(drag_node)
|
39
|
+
return True
|
40
|
+
elif drag_node.type == "group":
|
41
|
+
if modify:
|
42
|
+
self.remove_references(drag_node)
|
43
|
+
self.append_child(drag_node)
|
44
|
+
return True
|
45
|
+
return False
|
46
|
+
|
47
|
+
def is_draggable(self):
|
48
|
+
return False
|