Source code for plato.draw.pythreejs.ConvexSpheropolyhedra

import numpy as np

from ... import draw
from ... import mesh
from .internal import ThreeJSPrimitive

[docs]class ConvexSpheropolyhedra(draw.ConvexSpheropolyhedra, ThreeJSPrimitive): __doc__ = draw.ConvexSpheropolyhedra.__doc__ def update_arrays(self): if not self._dirty_attributes: return vertices = self.vertices if len(vertices) < 4: vertices = np.concatenate([vertices, [(-1, -1, -1), (1, 1, -1), (1, -1, 1), (-1, 1, 1)]], axis=0) gen_mesh = mesh.convexSpheropolyhedronMesh(vertices, self.radius) (positions, orientations, colors, images, normals) = mesh.unfoldProperties( [self.positions, self.orientations, self.colors], [gen_mesh.image, gen_mesh.normal]) self._finalize_primitive_arrays( positions, orientations, colors, images, normals, gen_mesh.indices)