Files
geMoldInsight/venv/lib/python3.11/site-packages/pyvista/examples/gltf.py
T
2026-02-12 23:27:48 +08:00

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')