Scene

class huira.swir8.Scene
__init__(self: huira._huira.swir8.Scene) None
add_bsdf(self: huira._huira.swir8.Scene, bsdf: huira::BSDF<huira::SpectralBins<8ul, 900, 2500> >, name: str = '') huira._huira.swir8.BSDFHandle

Add a BSDF from a shared pointer

add_density_field(self: huira._huira.swir8.Scene, density_field: huira::DensityField<huira::SpectralBins<8ul, 900, 2500> >, name: str = '') huira._huira.swir8.DensityFieldHandle

Add a density field from a shared pointer

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

Add an ellipsoid geometry (accepts any distance unit)

add_geometry(self: huira._huira.swir8.Scene, geom: huira::Geometry<huira::SpectralBins<8ul, 900, 2500> >, name: str = '') huira._huira.swir8.GeometryHandle

Add a geometry from a shared pointer

add_material(self: huira._huira.swir8.Scene, material: huira::Material<huira::SpectralBins<8ul, 900, 2500> >, name: str = '') huira._huira.swir8.MaterialHandle

Add a material from a shared pointer

add_medium(self: huira._huira.swir8.Scene, medium: huira::Medium<huira::SpectralBins<8ul, 900, 2500> >, name: str = '') huira._huira.swir8.MediumHandle

Add a medium from a shared pointer

add_mesh(*args, **kwargs)

Overloaded function.

  1. add_mesh(self: huira._huira.swir8.Scene, index_buffer: list[int], vertex_buffer: list[huira::Vertex<huira::SpectralBins<8ul, 900, 2500> >], name: str = ‘’) -> huira._huira.swir8.MeshHandle

Add a mesh from index and vertex buffers

  1. add_mesh(self: huira._huira.swir8.Scene, index_buffer: list[int], vertex_buffer: list[huira::Vertex<huira::SpectralBins<8ul, 900, 2500> >], tangent_buffer: list[huira::Tangent], name: str = ‘’) -> huira._huira.swir8.MeshHandle

Add a mesh from index, vertex, and tangent buffers

add_normal_texture(*args, **kwargs)

Overloaded function.

  1. add_normal_texture(self: huira._huira.swir8.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.swir8.Scene, image: huira._huira.rgb.Image_huira._huira.rgb, name: str = ‘’) -> huira._huira.TextureHandle_vec3

Add a normal map texture from an RGB image

add_phase_function(self: huira._huira.swir8.Scene, phase_function: huira::PhaseFunction<huira::SpectralBins<8ul, 900, 2500> >, name: str = '') huira._huira.swir8.PhaseFunctionHandle

Add a phase function from a shared pointer

add_primitive(*args, **kwargs)

Overloaded function.

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

Add a primitive from a geometry

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

Add a primitive from a geometry and material

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

Add a primitive from a geometry and medium

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

Add a primitive from a geometry, material, and medium

add_texture(*args, **kwargs)

Overloaded function.

  1. add_texture(self: huira._huira.swir8.Scene, image: huira._huira.swir8.Image_huira._huira.swir8, name: str = ‘’) -> huira._huira.swir8.TextureHandle_huira._huira.swir8

Add a spectral texture from an image

  1. add_texture(self: huira._huira.swir8.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.swir8.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.swir8.Scene, camera_model_handle: huira._huira.swir8.CameraModelHandle) None
delete_geometry(self: huira._huira.swir8.Scene, geom_handle: huira._huira.swir8.GeometryHandle) None

Delete a geometry from the scene

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

Delete a primitive from the scene

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

Get a camera model handle by name

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

Get a geometry handle by name

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

Get a light handle by name

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

Get a model handle by name

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

Get a primitive handle by name

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

Get an unresolved object handle by name

load_dynamic_stars(self: huira._huira.swir8.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.swir8.Scene, file: os.PathLike, name: str = '') huira._huira.swir8.ModelHandle

Load a model from a file

load_stars(self: huira._huira.swir8.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.swir8.Scene, name: str = '') huira._huira.swir8.BSDFHandle

Create a Cook-Torrance BSDF

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

Create a Hapke BSDF

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

Create a Lambertian BSDF

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

Create a Lommel-Seeliger BSDF

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

Create a McEwen BSDF

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

Create a null (transparent/passthrough) BSDF

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

Create an Oren-Nayar BSDF

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

Create a new camera model and return its handle

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

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

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

Create an isotropic phase function

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

Create a new material with the specified BSDF

new_medium(self: huira._huira.swir8.Scene, density_field_handle: huira._huira.swir8.DensityFieldHandle, phase_function_handle: huira._huira.swir8.PhaseFunctionHandle, name: str = '') huira._huira.swir8.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.swir8.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, 900, 2500> >, name: str = ‘’) -> huira._huira.swir8.LightHandle

Create a sphere light from spectral radiance

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

Create a sphere light from total spectral power

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

Create a sphere light from total scalar power (Watts)

new_sun_light(self: huira._huira.swir8.Scene) huira._huira.swir8.LightHandle

Create a sun light source

new_unresolved_asteroid(*args, **kwargs)

Overloaded function.

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

Create an unresolved asteroid from H, G magnitude parameters

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

Create an unresolved asteroid with spectral albedo

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

Create an unresolved asteroid with scalar albedo

new_unresolved_emitter(*args, **kwargs)

Overloaded function.

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

Create an unresolved emitter from spectral power

  1. new_unresolved_emitter(self: huira._huira.swir8.Scene, power: object, name: str = ‘’) -> huira._huira.swir8.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.swir8.Scene, spectral_irradiance: huira._huira.swir8.SpectralWattsPerMeterSquared, name: str = ‘’) -> huira._huira.swir8.UnresolvedObjectHandle

Create an unresolved object from spectral irradiance

  1. new_unresolved_object(self: huira._huira.swir8.Scene, irradiance: object, name: str = ‘’) -> huira._huira.swir8.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.swir8.Scene, visual_magnitude: float, name: str = ‘’) -> huira._huira.swir8.UnresolvedObjectHandle

Create an unresolved object from visual magnitude

  1. new_unresolved_object_from_magnitude(self: huira._huira.swir8.Scene, visual_magnitude: float, albedo: huira._huira.swir8.SpectralBins, name: str = ‘’) -> huira._huira.swir8.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.swir8.Scene, radius: object, sun: huira._huira.swir8.InstanceHandle, name: str = ‘’) -> huira._huira.swir8.UnresolvedObjectHandle

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

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

Create an unresolved sphere with spectral albedo

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

Create an unresolved sphere with scalar albedo

print_camera_models(self: huira._huira.swir8.Scene) None
print_contents(self: huira._huira.swir8.Scene) None
print_graph(self: huira._huira.swir8.Scene) None
print_lights(self: huira._huira.swir8.Scene) None
print_meshes(self: huira._huira.swir8.Scene) None
print_models(self: huira._huira.swir8.Scene) None
print_unresolved_objects(self: huira._huira.swir8.Scene) None
prune_unreferenced_assets(self: huira._huira.swir8.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.swir8.Scene, background: huira._huira.swir8.Image_huira._huira.swir8) -> None

Set background radiance from an Image

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

Set background radiance from a spectral value

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

Set background radiance from a total power float

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

Set the name of a camera model

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

Set the name of a geometry

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

Set the name of a light

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

Set the name of a model

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

Set the name of a primitive

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

Set the name of an unresolved object

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

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