コード例 #1
0
ファイル: ray_pyembree.py プロジェクト: yw5aj/trimesh
 def _scene(self):
     '''
     A cached version of the pyembree scene.
     '''
     scene = rtcore_scene.EmbreeScene()
     mesh = TriangleMesh(scene, self._geometry.triangles)
     return scene
コード例 #2
0
 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
コード例 #3
0
    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))
コード例 #4
0
    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))
コード例 #5
0
    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
コード例 #6
0
    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
コード例 #7
0
    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
コード例 #8
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)
コード例 #9
0
ファイル: ray_pyembree.py プロジェクト: goulu/trimesh
 def _scene(self):
     # set up the embree scene
     scene = rtcore_scene.EmbreeScene()
     mesh = TriangleMesh(scene, self._geometry.triangles)
     return scene
コード例 #10
0
 def test_pyembree_should_be_able_to_create_a_device_if_not_provided(self):
     scene = rtcs.EmbreeScene()
コード例 #11
0
 def test_pyembree_should_be_able_to_create_several_scenes(self):
     embreeDevice = rtc.EmbreeDevice()
     scene1 = rtcs.EmbreeScene(embreeDevice)
     scene2 = rtcs.EmbreeScene(embreeDevice)
コード例 #12
0
 def test_pyembree_should_be_able_to_create_a_scene(self):
     embreeDevice = rtc.EmbreeDevice()
     scene = rtcs.EmbreeScene(embreeDevice)