def volmesh_draw_vertices(volmesh, keys=None, color=None, layer=None, clear_layer=False, redraw=True): """Draw the vertices of a volmesh. Parameters ---------- volmesh : compas.datastructures.VolMesh A volmesh object. keys : list (None) A list of vertex keys identifying which vertices to draw. Default is to draw all vertices. color : str, tuple, dict (None) The color specififcation for the vertices. Colors should be specified in the form of a string (hex colors) or as a tuple of RGB components. To apply the same color to all vertices, provide a single color specification. Individual colors can be assigned using a dictionary of key-color pairs. Missing keys will be assigned the default vertex color (``self.defaults['vertex.color']``). Default is use the color of the parent layer. layer : str (None) The layer in which the vertices are drawn. Default is to draw in the current layer. clear_layer : bool (False) Clear the drawing layer. redraw : bool (True) Redraw the view after adding the vertices. Examples -------- >>> volmesh_draw_vertices(volmesh) >>> volmesh_draw_vertices(volmesh, keys=volmesh.vertices_on_boundary()) >>> volmesh_draw_vertices(volmesh, color='#00ff00') >>> color = {key: (('#ff0000') if volmesh.vertex_is_on_boundary(key) else ('#00ff00')) for key in volmesh.vertices()} >>> volmesh_draw_vertices(volmesh, color=color) See Also -------- * compas_rhino.VolMeshArtist """ artist = VolMeshArtist(volmesh) artist.layer = layer if clear_layer: artist.clear_layer() artist.clear_vertices() artist.draw_vertices(color=color) if redraw: artist.redraw()
def volmesh_draw(volmesh, layer=None, clear_layer=False, vertexcolor=None, edgecolor=None, facecolor=None): """Draw a volmesh. Parameters ---------- volmesh : compas.datastructures.VolMesh A volmesh object. layer : str (None) The layer to draw in. Default is to draw in the current layer. clear_layer : bool (False) Clear the current layer. vertexcolor : str, tuple, list, dict (None) The vertex color specification. Default is to use the color of the parent layer. edgecolor : str, tuple, list, dict (None) The edge color specification. Default is to use the color of the parent layer. facecolor : str, tuple, list, dict (None) The face color specification. Default is to use the color of the parent layer. Examples -------- >>> volmesh_draw(volmesh) >>> volmesh_draw(volmesh, layer='SomeLayer') >>> volmesh_draw(volmesh, clear_layer=True) >>> volmesh_draw(volmesh, vertexcolor='#ff0000') >>> volmesh_draw(volmesh, edgecolor=(0, 255, 0)) >>> volmesh_draw(volmesh, facecolor={key: (0.0, 0.0, 0.5) for key in volmesh.faces()}) See Also -------- * compas_rhino.VolMeshArtist """ artist = VolMeshArtist(volmesh) artist.layer = layer if clear_layer: artist.clear_layer() artist.clear() artist.draw_vertices(color=vertexcolor) artist.draw_edges(color=edgecolor) artist.draw_faces(color=facecolor) artist.redraw()
# ============================================================================== if __name__ == "__main__": import compas from compas.datastructures import VolMesh from compas_rhino.artists import VolMeshArtist volmesh = VolMesh.from_obj(compas.get('boxes.obj')) artist = VolMeshArtist(volmesh, layer='VolMeshArtist') artist.clear_layer() artist.draw_vertices() artist.redraw(0.0) artist.draw_vertexlabels() artist.redraw(1.0) artist.draw_faces() artist.redraw(1.0) artist.draw_facelabels() artist.redraw(1.0) artist.draw_edges() artist.redraw(1.0) artist.draw_edgelabels()
def draw_vertices(self, **kwattr): artist = VolMeshArtist(self) artist.draw_vertices(**kwattr)