diff options
Diffstat (limited to 'solid.py')
-rw-r--r-- | solid.py | 49 |
1 files changed, 0 insertions, 49 deletions
diff --git a/solid.py b/solid.py deleted file mode 100644 index 707a786..0000000 --- a/solid.py +++ /dev/null @@ -1,49 +0,0 @@ -import numpy as np - -class Solid(object): - def __init__(self, id, mesh, rotation=np.identity(3), displacement=(0,0,0), material1=None, material2=None, surface=None, color=0xffffffff): - self.id = id - self.mesh = mesh - - if rotation.shape != (3,3): - raise ValueError('shape mismatch') - - self.rotation = rotation.astype(np.float32) - - displacement = np.asarray(displacement, dtype=np.float32) - - if displacement.shape != (3,): - raise ValueError('shape mismatch') - - self.displacement = displacement - - if np.iterable(material1): - if len(material1) != len(mesh): - raise ValueError('shape mismatch') - self.material1 = np.array(material1, dtype=np.object) - else: - self.material1 = np.tile(material1, len(self.mesh)) - - if np.iterable(material2): - if len(material2) != len(mesh): - raise ValueError('shape mismatch') - self.material2 = np.array(material2, dtype=np.object) - else: - self.material2 = np.tile(material2, len(self.mesh)) - - if np.iterable(surface): - if len(surface) != len(mesh): - raise ValueError('shape mismatch') - self.surface = np.array(surface, dtype=np.object) - else: - self.surface = np.tile(surface, len(self.mesh)) - - if np.iterable(color): - if len(color) != len(mesh): - raise ValueError('shape mismatch') - self.color = np.array(color, dtype=np.uint32) - else: - self.color = np.tile(color, len(self.mesh)).astype(np.uint32) - - def __len__(self): - return len(self.mesh) |