Fix for invalid break statement outside loop.
[blender-addons-contrib.git] / mesh_tinyCAD / __init__.py
1 '''
2 BEGIN GPL LICENSE BLOCK
3
4 This program is free software; you can redistribute it and/or
5 modify it under the terms of the GNU General Public License
6 as published by the Free Software Foundation; either version 2
7 of the License, or (at your option) any later version.
8
9 This program is distributed in the hope that it will be useful,
10 but WITHOUT ANY WARRANTY; without even the implied warranty of
11 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.    See the
12 GNU General Public License for more details.
13
14 You should have received a copy of the GNU General Public License
15 along with this program; if not, write to the Free Software Foundation,
16 Inc., 59 Temple Place - Suite 330, Boston, MA  02111-1307, USA.
17
18 END GPL LICENCE BLOCK
19 '''
20
21 bl_info = {
22     "name": "tinyCAD Mesh tools",
23     "author": "zeffii (aka Dealga McArdle)",
24     "version": (1, 0, 6),
25     "blender": (2, 7, 1),
26     "category": "Mesh",
27     "location": "View3D > EditMode > (w) Specials",
28     "wiki_url": "",
29     "tracker_url": ""
30 }
31
32
33 if "bpy" in locals():
34     import imp
35
36 import bpy
37 from mesh_tinyCAD.VTX import AutoVTX
38 from mesh_tinyCAD.V2X import Vert2Intersection
39 from mesh_tinyCAD.EXM import ExtendEdgesMulti
40 from mesh_tinyCAD.XALL import IntersectAllEdges
41 from mesh_tinyCAD.BIX import LineOnBisection
42 from mesh_tinyCAD.PERP import CutOnPerpendicular
43
44 vtx_classes = (
45     [AutoVTX, "tinyCAD autoVTX"],
46     [Vert2Intersection, "tinyCAD V2X"],
47     [IntersectAllEdges, "tinyCAD XALL"],
48     [ExtendEdgesMulti, "tinyCAD EXM"],
49     [LineOnBisection, "tinyCAD BIX"],
50     [CutOnPerpendicular, "tinyCAD PERP CUT"]
51 )
52
53
54 class VIEW3D_MT_edit_mesh_tinycad(bpy.types.Menu):
55     bl_label = "TinyCAD"
56
57     def draw(self, context):
58         for i, text in vtx_classes:
59             self.layout.operator(i.bl_idname, text=text)
60
61
62 def menu_func(self, context):
63     self.layout.menu("VIEW3D_MT_edit_mesh_tinycad")
64     self.layout.separator()
65
66
67 def register():
68     for i, _ in vtx_classes:
69         bpy.utils.register_class(i)
70     bpy.utils.register_class(VIEW3D_MT_edit_mesh_tinycad)
71     bpy.types.VIEW3D_MT_edit_mesh_specials.prepend(menu_func)
72
73
74 def unregister():
75     for i, _ in vtx_classes:
76         bpy.utils.unregister_class(i)
77     bpy.utils.unregister_class(VIEW3D_MT_edit_mesh_tinycad)
78     bpy.types.VIEW3D_MT_edit_mesh_specials.remove(menu_func)