|
64 | 64 | """ |
65 | 65 | import inspect |
66 | 66 |
|
| 67 | +import compas_blender |
| 68 | + |
67 | 69 | from compas.plugins import plugin |
68 | 70 | from compas.artists import Artist |
69 | 71 | from compas.artists import DataArtistNotRegistered |
|
94 | 96 | from .torusartist import TorusArtist |
95 | 97 |
|
96 | 98 |
|
| 99 | +@plugin(category='drawing-utils', pluggable_name='clear', requires=['bpy']) |
| 100 | +def clear_blender(): |
| 101 | + compas_blender.clear() |
| 102 | + |
| 103 | + |
| 104 | +@plugin(category='drawing-utils', pluggable_name='redraw', requires=['bpy']) |
| 105 | +def redraw_blender(): |
| 106 | + compas_blender.redraw() |
| 107 | + |
| 108 | + |
| 109 | +artists_registered = False |
| 110 | + |
| 111 | + |
97 | 112 | @plugin(category='factories', pluggable_name='new_artist', tryfirst=True, requires=['bpy']) |
98 | 113 | def new_artist_blender(cls, *args, **kwargs): |
99 | 114 | # "lazy registration" seems necessary to avoid item-artist pairs to be overwritten unintentionally |
100 | | - |
101 | | - BlenderArtist.register(Box, BoxArtist) |
102 | | - BlenderArtist.register(Capsule, CapsuleArtist) |
103 | | - BlenderArtist.register(Cone, ConeArtist) |
104 | | - BlenderArtist.register(Cylinder, CylinderArtist) |
105 | | - BlenderArtist.register(Frame, FrameArtist) |
106 | | - BlenderArtist.register(Mesh, MeshArtist) |
107 | | - BlenderArtist.register(Network, NetworkArtist) |
108 | | - BlenderArtist.register(Polyhedron, PolyhedronArtist) |
109 | | - BlenderArtist.register(RobotModel, RobotModelArtist) |
110 | | - BlenderArtist.register(Sphere, SphereArtist) |
111 | | - BlenderArtist.register(Torus, TorusArtist) |
| 115 | + global artists_registered |
| 116 | + |
| 117 | + if not artists_registered: |
| 118 | + BlenderArtist.register(Box, BoxArtist) |
| 119 | + BlenderArtist.register(Capsule, CapsuleArtist) |
| 120 | + BlenderArtist.register(Cone, ConeArtist) |
| 121 | + BlenderArtist.register(Cylinder, CylinderArtist) |
| 122 | + BlenderArtist.register(Frame, FrameArtist) |
| 123 | + BlenderArtist.register(Mesh, MeshArtist) |
| 124 | + BlenderArtist.register(Network, NetworkArtist) |
| 125 | + BlenderArtist.register(Polyhedron, PolyhedronArtist) |
| 126 | + BlenderArtist.register(RobotModel, RobotModelArtist) |
| 127 | + BlenderArtist.register(Sphere, SphereArtist) |
| 128 | + BlenderArtist.register(Torus, TorusArtist) |
| 129 | + artists_registered = True |
112 | 130 |
|
113 | 131 | data = args[0] |
114 | 132 |
|
|
0 commit comments