Source code for compas_fab.ghpython.artists


from __future__ import absolute_import
from __future__ import division
from __future__ import print_function

import compas
from compas.utilities import rgb_to_rgb
from compas_fab.artists import BaseRobotModelArtist

if compas.RHINO:
    from compas_ghpython.utilities import draw_mesh
    from compas_rhino.geometry.transformations import xtransform


__all__ = [
    'RobotArtist',
    'RobotModelArtist',
]


[docs]class RobotModelArtist(BaseRobotModelArtist): """Visualizer for robots inside a Grasshopper environment. Parameters ---------- model : :class:`compas.robots.RobotModel` Robot model. """
[docs] def __init__(self, model): super(RobotModelArtist, self).__init__(model)
[docs] def transform(self, native_mesh, transformation): xtransform(native_mesh, transformation)
[docs] def draw_geometry(self, geometry, name=None, color=None): if color: color = rgb_to_rgb(color[0], color[1], color[2]) vertices, faces = geometry.to_vertices_and_faces() mesh = draw_mesh(vertices, faces, color=color) # Try to fix invalid meshes if not mesh.IsValid: mesh.FillHoles() return mesh
# deprecated alias RobotArtist = RobotModelArtist