Scene

class huira.visible8.Scene
__init__(self: huira._huira.visible8.Scene) → None
add_bsdf(self: huira._huira.visible8.Scene, bsdf: huira::BSDF<huira::SpectralBins<8ul, 380, 750> >, name: str = '') → huira._huira.visible8.BSDFHandle

Add a BSDF from a shared pointer

add_density_field(self: huira._huira.visible8.Scene, density_field: huira::DensityField<huira::SpectralBins<8ul, 380, 750> >, name: str = '') → huira._huira.visible8.DensityFieldHandle

Add a density field from a shared pointer

add_ellipsoid(self: huira._huira.visible8.Scene, x: object, y: object, z: object, name: str = '') → huira._huira.visible8.EllipsoidHandle

Add an ellipsoid geometry (accepts any distance unit)

add_geometry(self: huira._huira.visible8.Scene, geom: huira::Geometry<huira::SpectralBins<8ul, 380, 750> >, name: str = '') → huira._huira.visible8.GeometryHandle

Add a geometry from a shared pointer

add_material(self: huira._huira.visible8.Scene, material: huira::Material<huira::SpectralBins<8ul, 380, 750> >, name: str = '') → huira._huira.visible8.MaterialHandle

Add a material from a shared pointer

add_medium(self: huira._huira.visible8.Scene, medium: huira::Medium<huira::SpectralBins<8ul, 380, 750> >, name: str = '') → huira._huira.visible8.MediumHandle

Add a medium from a shared pointer

add_mesh(*args, **kwargs)

Overloaded function.

  1. add_mesh(self: huira._huira.visible8.Scene, index_buffer: list[int], vertex_buffer: list[huira._huira.visible8.Vertex], name: str = ‘’) -> huira._huira.visible8.MeshHandle

Add a mesh from index and vertex buffers

  1. add_mesh(self: huira._huira.visible8.Scene, index_buffer: list[int], vertex_buffer: list[huira._huira.visible8.Vertex], tangent_buffer: list[huira::Tangent], name: str = ‘’) -> huira._huira.visible8.MeshHandle

Add a mesh from index, vertex, and tangent buffers

add_normal_texture(*args, **kwargs)

Overloaded function.

  1. add_normal_texture(self: huira._huira.visible8.Scene, image: huira._huira.Image_Vec3f, name: str = ‘’) -> huira._huira.TextureHandle_vec3

Add a normal map texture from a Vec3 image

  1. add_normal_texture(self: huira._huira.visible8.Scene, image: huira._huira.rgb.Image, name: str = ‘’) -> huira._huira.TextureHandle_vec3

Add a normal map texture from an RGB image

add_phase_function(self: huira._huira.visible8.Scene, phase_function: huira::PhaseFunction<huira::SpectralBins<8ul, 380, 750> >, name: str = '') → huira._huira.visible8.PhaseFunctionHandle

Add a phase function from a shared pointer

add_primitive(*args, **kwargs)

Overloaded function.

  1. add_primitive(self: huira._huira.visible8.Scene, geom: huira._huira.visible8.GeometryHandle, name: str = ‘’) -> huira._huira.visible8.PrimitiveHandle

Add a primitive from a geometry

  1. add_primitive(self: huira._huira.visible8.Scene, geom: huira._huira.visible8.GeometryHandle, mat: huira._huira.visible8.MaterialHandle, name: str = ‘’) -> huira._huira.visible8.PrimitiveHandle

Add a primitive from a geometry and material

  1. add_primitive(self: huira._huira.visible8.Scene, geom: huira._huira.visible8.GeometryHandle, medium: huira._huira.visible8.MediumHandle, name: str = ‘’) -> huira._huira.visible8.PrimitiveHandle

Add a primitive from a geometry and medium

  1. add_primitive(self: huira._huira.visible8.Scene, geom: huira._huira.visible8.GeometryHandle, mat: huira._huira.visible8.MaterialHandle, medium: huira._huira.visible8.MediumHandle, name: str = ‘’) -> huira._huira.visible8.PrimitiveHandle

Add a primitive from a geometry, material, and medium

add_texture(*args, **kwargs)

Overloaded function.

  1. add_texture(self: huira._huira.visible8.Scene, image: huira._huira.visible8.Image, name: str = ‘’) -> huira._huira.visible8.TextureHandle

Add a spectral texture from an image

  1. add_texture(self: huira._huira.visible8.Scene, image: huira._huira.Image_f32, name: str = ‘’) -> huira._huira.TextureHandle_float

Add a float texture from a single-channel image

  1. add_texture(self: huira._huira.visible8.Scene, image: huira._huira.Image_Vec3f, name: str = ‘’) -> huira._huira.TextureHandle_vec3

Add a Vec3 texture from a three-channel image

delete_camera_model(self: huira._huira.visible8.Scene, camera_model_handle: huira._huira.visible8.CameraModelHandle) → None
delete_geometry(self: huira._huira.visible8.Scene, geom_handle: huira._huira.visible8.GeometryHandle) → None

Delete a geometry from the scene

delete_light(self: huira._huira.visible8.Scene, light_handle: huira._huira.visible8.LightHandle) → None
delete_model(self: huira._huira.visible8.Scene, model_handle: huira._huira.visible8.ModelHandle) → None
delete_primitive(self: huira._huira.visible8.Scene, primitive_handle: huira._huira.visible8.PrimitiveHandle) → None

Delete a primitive from the scene

delete_unresolved_object(self: huira._huira.visible8.Scene, unresolved_object_handle: huira._huira.visible8.UnresolvedObjectHandle) → None
get_camera_model(self: huira._huira.visible8.Scene, name: str) → huira._huira.visible8.CameraModelHandle

Get a camera model handle by name

get_geometry(self: huira._huira.visible8.Scene, name: str) → huira._huira.visible8.GeometryHandle

Get a geometry handle by name

get_light(self: huira._huira.visible8.Scene, name: str) → huira._huira.visible8.LightHandle

Get a light handle by name

get_model(self: huira._huira.visible8.Scene, name: str) → huira._huira.visible8.ModelHandle

Get a model handle by name

get_primitive(self: huira._huira.visible8.Scene, name: str) → huira._huira.visible8.PrimitiveHandle

Get a primitive handle by name

get_unresolved_object(self: huira._huira.visible8.Scene, name: str) → huira._huira.visible8.UnresolvedObjectHandle

Get an unresolved object handle by name

load_dynamic_stars(self: huira._huira.visible8.Scene, star_catalog_path: os.PathLike, time: huira._huira.Time, min_magnitude: float = 100.0) → None

Load dynamic stars from a catalog file for the given observation time

load_model(self: huira._huira.visible8.Scene, file: os.PathLike, name: str = '') → huira._huira.visible8.ModelHandle

Load a model from a file

load_stars(self: huira._huira.visible8.Scene, star_catalog_path: os.PathLike, time: huira._huira.Time, min_magnitude: float = 100.0) → None

Load stars from a catalog file for the given observation time

new_bsdf_cook_torrance(self: huira._huira.visible8.Scene, name: str = '') → huira._huira.visible8.BSDFHandle

Create a Cook-Torrance BSDF

new_bsdf_hapke(self: huira._huira.visible8.Scene, h: float, B0: float, b: float, c: float, name: str = '') → huira._huira.visible8.BSDFHandle

Create a Hapke BSDF

new_bsdf_lambertian(self: huira._huira.visible8.Scene, name: str = '') → huira._huira.visible8.BSDFHandle

Create a Lambertian BSDF

new_bsdf_lommel_seeliger(self: huira._huira.visible8.Scene, name: str = '') → huira._huira.visible8.BSDFHandle

Create a Lommel-Seeliger BSDF

new_bsdf_mcewen(self: huira._huira.visible8.Scene, name: str = '') → huira._huira.visible8.BSDFHandle

Create a McEwen BSDF

new_bsdf_null(self: huira._huira.visible8.Scene, name: str = '') → huira._huira.visible8.BSDFHandle

Create a null (transparent/passthrough) BSDF

new_bsdf_oren_nayar(self: huira._huira.visible8.Scene, name: str = '') → huira._huira.visible8.BSDFHandle

Create an Oren-Nayar BSDF

new_camera_model(self: huira._huira.visible8.Scene, name: str = '') → huira._huira.visible8.CameraModelHandle

Create a new camera model and return its handle

new_constant_density_field(self: huira._huira.visible8.Scene, absorption: huira._huira.visible8.SpectralBins, scattering: huira._huira.visible8.SpectralBins, name: str = '') → huira._huira.visible8.DensityFieldHandle

Create a constant density field with the given absorption and scattering coefficients

new_isotropic_phase_function(self: huira._huira.visible8.Scene, name: str = '') → huira._huira.visible8.PhaseFunctionHandle

Create an isotropic phase function

new_material(self: huira._huira.visible8.Scene, bsdf: huira._huira.visible8.BSDFHandle, name: str = '') → huira._huira.visible8.MaterialHandle

Create a new material with the specified BSDF

new_medium(self: huira._huira.visible8.Scene, density_field_handle: huira._huira.visible8.DensityFieldHandle, phase_function_handle: huira._huira.visible8.PhaseFunctionHandle, name: str = '') → huira._huira.visible8.MediumHandle

Create a new medium from a density field and phase function

new_sphere_light(*args, **kwargs)

Overloaded function.

  1. new_sphere_light(self: huira._huira.visible8.Scene, radius: huira._huira.Meter, spectral_radiance: huira::units::SpectralQuantity<huira::units::Dimensionality<0, 1, -3, 0, 0, 0, 0, 0, -1>, std::ratio<1l, 1l>, huira::SpectralBins<8ul, 380, 750> >, name: str = ‘’) -> huira._huira.visible8.LightHandle

Create a sphere light from spectral radiance

  1. new_sphere_light(self: huira._huira.visible8.Scene, radius: huira._huira.Meter, spectral_power: huira._huira.visible8.SpectralWatts, name: str = ‘’) -> huira._huira.visible8.LightHandle

Create a sphere light from total spectral power

  1. new_sphere_light(self: huira._huira.visible8.Scene, radius: huira._huira.Meter, total_power: huira._huira.Watt, name: str = ‘’) -> huira._huira.visible8.LightHandle

Create a sphere light from total scalar power (Watts)

new_sun_light(self: huira._huira.visible8.Scene) → huira._huira.visible8.LightHandle

Create a sun light source

new_unresolved_asteroid(*args, **kwargs)

Overloaded function.

  1. new_unresolved_asteroid(self: huira._huira.visible8.Scene, H: float, G: float, sun: huira._huira.visible8.InstanceHandle, name: str = ‘’) -> huira._huira.visible8.UnresolvedObjectHandle

Create an unresolved asteroid from H, G magnitude parameters

  1. new_unresolved_asteroid(self: huira._huira.visible8.Scene, H: float, G: float, sun: huira._huira.visible8.InstanceHandle, albedo: huira._huira.visible8.SpectralBins, name: str = ‘’) -> huira._huira.visible8.UnresolvedObjectHandle

Create an unresolved asteroid with spectral albedo

  1. new_unresolved_asteroid(self: huira._huira.visible8.Scene, H: float, G: float, sun: huira._huira.visible8.InstanceHandle, scalar_albedo: float, name: str = ‘’) -> huira._huira.visible8.UnresolvedObjectHandle

Create an unresolved asteroid with scalar albedo

new_unresolved_emitter(*args, **kwargs)

Overloaded function.

  1. new_unresolved_emitter(self: huira._huira.visible8.Scene, spectral_power: huira._huira.visible8.SpectralWatts, name: str = ‘’) -> huira._huira.visible8.UnresolvedObjectHandle

Create an unresolved emitter from spectral power

  1. new_unresolved_emitter(self: huira._huira.visible8.Scene, power: object, name: str = ‘’) -> huira._huira.visible8.UnresolvedObjectHandle

Create an unresolved emitter from total power (any power unit)

new_unresolved_object(*args, **kwargs)

Overloaded function.

  1. new_unresolved_object(self: huira._huira.visible8.Scene, spectral_irradiance: huira._huira.visible8.SpectralWattsPerMeterSquared, name: str = ‘’) -> huira._huira.visible8.UnresolvedObjectHandle

Create an unresolved object from spectral irradiance

  1. new_unresolved_object(self: huira._huira.visible8.Scene, irradiance: object, name: str = ‘’) -> huira._huira.visible8.UnresolvedObjectHandle

Create an unresolved object from scalar irradiance (any irradiance unit)

new_unresolved_object_from_magnitude(*args, **kwargs)

Overloaded function.

  1. new_unresolved_object_from_magnitude(self: huira._huira.visible8.Scene, visual_magnitude: float, name: str = ‘’) -> huira._huira.visible8.UnresolvedObjectHandle

Create an unresolved object from visual magnitude

  1. new_unresolved_object_from_magnitude(self: huira._huira.visible8.Scene, visual_magnitude: float, albedo: huira._huira.visible8.SpectralBins, name: str = ‘’) -> huira._huira.visible8.UnresolvedObjectHandle

Create an unresolved object from visual magnitude with spectral albedo

new_unresolved_sphere(*args, **kwargs)

Overloaded function.

  1. new_unresolved_sphere(self: huira._huira.visible8.Scene, radius: object, sun: huira._huira.visible8.InstanceHandle, name: str = ‘’) -> huira._huira.visible8.UnresolvedObjectHandle

Create an unresolved sphere (accepts any distance unit for radius)

  1. new_unresolved_sphere(self: huira._huira.visible8.Scene, radius: object, sun: huira._huira.visible8.InstanceHandle, albedo: huira._huira.visible8.SpectralBins, name: str = ‘’) -> huira._huira.visible8.UnresolvedObjectHandle

Create an unresolved sphere with spectral albedo

  1. new_unresolved_sphere(self: huira._huira.visible8.Scene, radius: object, sun: huira._huira.visible8.InstanceHandle, scalar_albedo: float, name: str = ‘’) -> huira._huira.visible8.UnresolvedObjectHandle

Create an unresolved sphere with scalar albedo

print_camera_models(self: huira._huira.visible8.Scene) → None
print_contents(self: huira._huira.visible8.Scene) → None
print_graph(self: huira._huira.visible8.Scene) → None
print_lights(self: huira._huira.visible8.Scene) → None
print_meshes(self: huira._huira.visible8.Scene) → None
print_models(self: huira._huira.visible8.Scene) → None
print_unresolved_objects(self: huira._huira.visible8.Scene) → None
prune_unreferenced_assets(self: huira._huira.visible8.Scene) → None

Remove any assets that are no longer referenced by the scene graph

property root
set_background_radiance(*args, **kwargs)

Overloaded function.

  1. set_background_radiance(self: huira._huira.visible8.Scene, background: huira._huira.visible8.Image) -> None

Set the background radiance from an equirectangular Image, looked up by the direction a ray leaves the scene in. With PSF convolution enabled, it is convolved with the rest of the frame as it is, and so darkens toward the frame’s edges. A 1 x 1 image is a uniform sky.

  1. set_background_radiance(self: huira._huira.visible8.Scene, background: huira._huira.visible8.SpectralBins) -> None

Set a uniform background radiance from a spectral value. With PSF convolution enabled, the sky is convolved as if it continued beyond the frame’s edges, which leaves it as it is. Only the light that geometry adds to the sky, or blocks from it, is spread by the PSF, and with nothing but sky in view the convolution is skipped.

  1. set_background_radiance(self: huira._huira.visible8.Scene, background: float) -> None

Set a uniform background radiance from its total, spread over the spectrum. See the spectral overload for how it meets the PSF convolution.

set_camera_model_name(self: huira._huira.visible8.Scene, camera_model_handle: huira._huira.visible8.CameraModelHandle, name: str) → None

Set the name of a camera model

set_geometry_name(self: huira._huira.visible8.Scene, geom_handle: huira._huira.visible8.GeometryHandle, name: str) → None

Set the name of a geometry

set_light_name(self: huira._huira.visible8.Scene, light_handle: huira._huira.visible8.LightHandle, name: str) → None

Set the name of a light

set_model_name(self: huira._huira.visible8.Scene, model_handle: huira._huira.visible8.ModelHandle, name: str) → None

Set the name of a model

set_primitive_name(self: huira._huira.visible8.Scene, primitive_handle: huira._huira.visible8.PrimitiveHandle, name: str) → None

Set the name of a primitive

set_unresolved_object_name(self: huira._huira.visible8.Scene, unresolved_object_handle: huira._huira.visible8.UnresolvedObjectHandle, name: str) → None

Set the name of an unresolved object

update_star_epoch(self: huira._huira.visible8.Scene, time: huira._huira.Time) → None

Update the epoch time for dynamic stars, causing their positions to be updated accordingly