@@ -152,6 +152,9 @@ def verify_rhino_context():
152152 return False
153153
154154
155+ artists_registered = False
156+
157+
155158@plugin (category = 'drawing-utils' , pluggable_name = 'clear' , requires = ['Rhino' , verify_rhino_context ])
156159def clear_rhino ():
157160 compas_rhino .clear ()
@@ -165,26 +168,29 @@ def redraw_rhino():
165168@plugin (category = 'factories' , pluggable_name = 'new_artist' , requires = ['Rhino' , verify_rhino_context ])
166169def new_artist_rhino (cls , * args , ** kwargs ):
167170 # "lazy registration" seems necessary to avoid item-artist pairs to be overwritten unintentionally
168-
169- RhinoArtist .register (Circle , CircleArtist )
170- RhinoArtist .register (Frame , FrameArtist )
171- RhinoArtist .register (Line , LineArtist )
172- RhinoArtist .register (Plane , PlaneArtist )
173- RhinoArtist .register (Point , PointArtist )
174- RhinoArtist .register (Polygon , PolygonArtist )
175- RhinoArtist .register (Polyline , PolylineArtist )
176- RhinoArtist .register (Vector , VectorArtist )
177- RhinoArtist .register (Box , BoxArtist )
178- RhinoArtist .register (Capsule , CapsuleArtist )
179- RhinoArtist .register (Cone , ConeArtist )
180- RhinoArtist .register (Cylinder , CylinderArtist )
181- RhinoArtist .register (Polyhedron , PolyhedronArtist )
182- RhinoArtist .register (Sphere , SphereArtist )
183- RhinoArtist .register (Torus , TorusArtist )
184- RhinoArtist .register (Mesh , MeshArtist )
185- RhinoArtist .register (Network , NetworkArtist )
186- RhinoArtist .register (VolMesh , VolMeshArtist )
187- RhinoArtist .register (RobotModel , RobotModelArtist )
171+ global artists_registered
172+
173+ if not artists_registered :
174+ RhinoArtist .register (Circle , CircleArtist )
175+ RhinoArtist .register (Frame , FrameArtist )
176+ RhinoArtist .register (Line , LineArtist )
177+ RhinoArtist .register (Plane , PlaneArtist )
178+ RhinoArtist .register (Point , PointArtist )
179+ RhinoArtist .register (Polygon , PolygonArtist )
180+ RhinoArtist .register (Polyline , PolylineArtist )
181+ RhinoArtist .register (Vector , VectorArtist )
182+ RhinoArtist .register (Box , BoxArtist )
183+ RhinoArtist .register (Capsule , CapsuleArtist )
184+ RhinoArtist .register (Cone , ConeArtist )
185+ RhinoArtist .register (Cylinder , CylinderArtist )
186+ RhinoArtist .register (Polyhedron , PolyhedronArtist )
187+ RhinoArtist .register (Sphere , SphereArtist )
188+ RhinoArtist .register (Torus , TorusArtist )
189+ RhinoArtist .register (Mesh , MeshArtist )
190+ RhinoArtist .register (Network , NetworkArtist )
191+ RhinoArtist .register (VolMesh , VolMeshArtist )
192+ RhinoArtist .register (RobotModel , RobotModelArtist )
193+ artists_registered = True
188194
189195 data = args [0 ]
190196
0 commit comments