def _scene(self): ''' A cached version of the pyembree scene. ''' scene = rtcore_scene.EmbreeScene() mesh = TriangleMesh(scene, self._geometry.triangles) return scene
def _scene(self): """ A cached version of the pyembree scene. """ scene = rtcore_scene.EmbreeScene() mesh = TriangleMesh(scene=scene, vertices=self.mesh.vertices.astype(_embree_dtype), indices=self.mesh.faces.astype(_embree_dtype)) return scene
def __init__(self, vertices, faces, scale): scaled = np.asanyarray(vertices, dtype=np.float64) self.origin = scaled.min(axis=0) self.scale = float(scale) scaled = (scaled - self.origin) * self.scale self.scene = rtcore_scene.EmbreeScene() mesh = TriangleMesh(scene=self.scene, vertices=scaled.astype(_embree_dtype), indices=faces.astype(np.int32))
def __init__(self, vertices, faces, scale): scaled = np.array(vertices, dtype=np.float64) self.origin = scaled.min(axis=0) self.scale = float(scale) scaled = (scaled - self.origin) * self.scale self.scene = rtcore_scene.EmbreeScene() # assign the geometry to the scene TriangleMesh(scene=self.scene, vertices=scaled.astype(_embree_dtype), indices=faces.view(np.ndarray).astype(np.int32))
def setUp(self): """Initialisation""" triangles = xplane(7.0) triangles = np.array(triangles, 'float32') self.embreeDevice = rtc.EmbreeDevice() self.scene = rtcs.EmbreeScene(self.embreeDevice) mesh = TriangleMesh(self.scene, triangles) origins, dirs = define_rays_origins_and_directions() self.origins = origins self.dirs = dirs
def setUp(self): """Initialisation""" points = xplane_only_points(7.0) points = np.array(points, 'float32') indices = np.array([[0, 1, 2], [1, 3, 2]], 'uint32') self.embreeDevice = rtc.EmbreeDevice() self.scene = rtcs.EmbreeScene(self.embreeDevice) mesh = TriangleMesh(self.scene, points, indices) origins, dirs = define_rays_origins_and_directions() self.origins = origins self.dirs = dirs
def setUp(self): """Initialisation""" vertices = [(0.0, 0.0, 0.0), (1.0, 0.0, 0.0), (0.0, 1.0, 0.0), (0.0, 0.0, 1.0)] vertices = np.array(vertices, 'float32') indices = np.array([[0, 1, 2, 3]], 'uint32') self.embreeDevice = rtc.EmbreeDevice() self.scene = rtcs.EmbreeScene(self.embreeDevice) mesh = ElementMesh(self.scene, vertices, indices) N = 2 self.origins = np.zeros((N, 3), dtype='float32') self.origins[0, :] = (-0.1, +0.1, +0.1) self.origins[1, :] = (-0.1, +0.2, +0.2) self.dirs = np.zeros((N, 3), dtype='float32') self.dirs[:, 0] = 1.0
from pyembree.mesh_construction import TriangleMesh N = (4 * 256)**2 R = 3 sigmas = [0.5, 2.0, 4.0] def xplane(x): return [[[x, -1.0, -1.0], [x, -1.0, 1.0], [x, 1.0, -1.0]], [[x, -1.0, 1.0], [x, 1.0, -1.0], [x, 1.0, 1.0]]] triangles = xplane(0.0) + xplane(1.0) + xplane(2.0) + xplane(3.0) triangles = np.array(triangles, 'float32') scene = rtcs.EmbreeScene() mesh = TriangleMesh(scene, triangles) xgrid = np.linspace(0.0, 3.0, 100) tally = np.zeros(len(xgrid), dtype=int) origins = np.zeros((N, 3), dtype='float64') origins[:, 0] += 1e-8 dirs = np.zeros((N, 3)) dirs[:, 0] = 1.0 maxdist = np.empty(N, dtype='float32') exists = np.arange(N) def transport_region(r, origins, maxdist, exist): n = len(origins)
def _scene(self): # set up the embree scene scene = rtcore_scene.EmbreeScene() mesh = TriangleMesh(scene, self._geometry.triangles) return scene
def test_pyembree_should_be_able_to_create_a_device_if_not_provided(self): scene = rtcs.EmbreeScene()
def test_pyembree_should_be_able_to_create_several_scenes(self): embreeDevice = rtc.EmbreeDevice() scene1 = rtcs.EmbreeScene(embreeDevice) scene2 = rtcs.EmbreeScene(embreeDevice)
def test_pyembree_should_be_able_to_create_a_scene(self): embreeDevice = rtc.EmbreeDevice() scene = rtcs.EmbreeScene(embreeDevice)