140 lines
3.5 KiB
Python
140 lines
3.5 KiB
Python
"""Contains glTF examples."""
|
|
|
|
from __future__ import annotations
|
|
|
|
import pooch
|
|
|
|
from .downloads import USER_DATA_PATH
|
|
|
|
GLTF_FETCHER = pooch.create(
|
|
path=USER_DATA_PATH,
|
|
base_url='https://raw.githubusercontent.com/KhronosGroup/glTF-Sample-Models/master/2.0/',
|
|
registry={
|
|
'Avocado/glTF-Binary/Avocado.glb': None,
|
|
'CesiumMilkTruck/glTF-Binary/CesiumMilkTruck.glb': None,
|
|
'DamagedHelmet/glTF-Embedded/DamagedHelmet.gltf': None,
|
|
'GearboxAssy/glTF-Binary/GearboxAssy.glb': None,
|
|
'SheenChair/glTF-Binary/SheenChair.glb': None,
|
|
},
|
|
retry_if_failed=3,
|
|
)
|
|
|
|
|
|
def download_damaged_helmet(): # pragma: no cover
|
|
"""Download the damaged helmet example.
|
|
|
|
Files hosted at https://github.com/KhronosGroup/glTF-Sample-Models
|
|
|
|
Returns
|
|
-------
|
|
str
|
|
Filename of the gltf file.
|
|
|
|
Examples
|
|
--------
|
|
>>> import pyvista as pv
|
|
>>> from pyvista import examples
|
|
>>> gltf_file = examples.gltf.download_damaged_helmet()
|
|
>>> cubemap = examples.download_sky_box_cube_map()
|
|
>>> pl = pv.Plotter()
|
|
>>> pl.import_gltf(gltf_file)
|
|
>>> pl.set_environment_texture(cubemap)
|
|
>>> pl.show()
|
|
|
|
"""
|
|
return GLTF_FETCHER.fetch('DamagedHelmet/glTF-Embedded/DamagedHelmet.gltf')
|
|
|
|
|
|
def download_sheen_chair(): # pragma: no cover
|
|
"""Download the sheen chair example.
|
|
|
|
Files hosted at https://github.com/KhronosGroup/glTF-Sample-Models
|
|
|
|
Returns
|
|
-------
|
|
str
|
|
Filename of the gltf file.
|
|
|
|
Examples
|
|
--------
|
|
>>> import pyvista as pv
|
|
>>> from pyvista import examples
|
|
>>> gltf_file = examples.gltf.download_sheen_chair()
|
|
>>> cubemap = examples.download_sky_box_cube_map()
|
|
>>> pl = pv.Plotter() # doctest:+SKIP
|
|
>>> pl.import_gltf(gltf_file) # doctest:+SKIP
|
|
>>> pl.set_environment_texture(cubemap) # doctest:+SKIP
|
|
>>> pl.show() # doctest:+SKIP
|
|
|
|
"""
|
|
return GLTF_FETCHER.fetch('SheenChair/glTF-Binary/SheenChair.glb')
|
|
|
|
|
|
def download_gearbox(): # pragma: no cover
|
|
"""Download the gearbox example.
|
|
|
|
Files hosted at https://github.com/KhronosGroup/glTF-Sample-Models
|
|
|
|
Returns
|
|
-------
|
|
str
|
|
Filename of the gltf file.
|
|
|
|
Examples
|
|
--------
|
|
>>> import pyvista as pv
|
|
>>> from pyvista import examples
|
|
>>> gltf_file = examples.gltf.download_gearbox()
|
|
>>> pl = pv.Plotter()
|
|
>>> pl.import_gltf(gltf_file)
|
|
>>> pl.show()
|
|
|
|
"""
|
|
return GLTF_FETCHER.fetch('GearboxAssy/glTF-Binary/GearboxAssy.glb')
|
|
|
|
|
|
def download_avocado(): # pragma: no cover
|
|
"""Download the avocado example.
|
|
|
|
Files hosted at https://github.com/KhronosGroup/glTF-Sample-Models
|
|
|
|
Returns
|
|
-------
|
|
str
|
|
Filename of the gltf file.
|
|
|
|
Examples
|
|
--------
|
|
>>> import pyvista as pv
|
|
>>> from pyvista import examples
|
|
>>> gltf_file = examples.gltf.download_avocado()
|
|
>>> pl = pv.Plotter()
|
|
>>> pl.import_gltf(gltf_file)
|
|
>>> pl.show()
|
|
|
|
"""
|
|
return GLTF_FETCHER.fetch('Avocado/glTF-Binary/Avocado.glb')
|
|
|
|
|
|
def download_milk_truck(): # pragma: no cover
|
|
"""Download the milk truck example.
|
|
|
|
Files hosted at https://github.com/KhronosGroup/glTF-Sample-Models
|
|
|
|
Returns
|
|
-------
|
|
str
|
|
Filename of the gltf file.
|
|
|
|
Examples
|
|
--------
|
|
>>> import pyvista as pv
|
|
>>> from pyvista import examples
|
|
>>> gltf_file = examples.gltf.download_milk_truck()
|
|
>>> pl = pv.Plotter()
|
|
>>> pl.import_gltf(gltf_file)
|
|
>>> pl.show()
|
|
|
|
"""
|
|
return GLTF_FETCHER.fetch('CesiumMilkTruck/glTF-Binary/CesiumMilkTruck.glb')
|