Source code for adam_core.orbits.openspace.renderable

from dataclasses import dataclass
from enum import Enum
from typing import List, Optional, Tuple, Union

from .lua import LuaDict
from .translation import Translation


[docs] class RenderBinMode(Enum): BACKGROUND = "Background" OPAQUE = "Opaque" PREDEFERREDTRANSPARENT = "PreDeferredTransparent" OVERLAY = "Overlay" POSTDEFERREDTRANSPARENT = "PostDeferredTransparent" STICKER = "Sticker"
[docs] class RenderableOrbitalKeplerFormat(Enum): TLE = "TLE" OMM = "OMM" SBDB = "SBDB"
[docs] class RenderableOrbitalKeplerRendering(Enum): TRAIL = "Trail" POINT = "Point" POINTS_TRAILS = "PointsTrails"
[docs] class RenderableTrailRendering(Enum): LINES = "Lines" POINTS = "Points" LINES_POINTS = "Lines+Points"
[docs] @dataclass(kw_only=True) class Resource(LuaDict): """Custom class to point to local resource files""" path: str
[docs] def to_string(self, indent: int = 0): return f'asset.resource("{self.path}")'
[docs] @dataclass(kw_only=True) class Renderable(LuaDict): ### See:https://docs.openspaceproject.com/latest/reference/asset-components/Renderable.html type: str dim_in_atmosphere: Optional[bool] = None enabled: Optional[bool] = None opacity: Optional[float] = None render_bin_mode: Optional[RenderBinMode] = None tag: Optional[Union[str, List[str]]] = None
[docs] @dataclass(kw_only=True) class RenderableOrbitalKepler(Renderable): ### See: https://docs.openspaceproject.com/latest/reference/asset-components/RenderableOrbitalKepler.html color: Tuple[float, float, float] format: RenderableOrbitalKeplerFormat path: Union[str, Resource] segment_quality: int type: str = "RenderableOrbitalKepler" contiguous_mode: Optional[bool] = None enable_max_size: Optional[bool] = None enable_outline: Optional[bool] = None max_size: Optional[float] = None outline_color: Optional[Tuple[float, float, float]] = None outline_width: Optional[float] = None point_size_exponent: Optional[float] = None rendering: Optional[RenderableOrbitalKeplerRendering] = None render_size: Optional[int] = None start_render_idx: Optional[int] = None trail_fade: Optional[float] = None trail_width: Optional[float] = None
[docs] @dataclass(kw_only=True) class RenderableTrailOrbit(Renderable): ### See: https://docs.openspaceproject.com/latest/reference/asset-components/RenderableTrailOrbit.html color: Tuple[float, float, float] period: float # In days resolution: int translation: Translation type: str = "RenderableTrailOrbit" enable_fade: Optional[bool] = None line_fade_amount: Optional[float] = None line_length: Optional[float] = None line_width: Optional[float] = None point_size: Optional[int] = None rendering: Optional[RenderableTrailRendering] = None
[docs] @dataclass(kw_only=True) class RenderableTrailTrajectory(Renderable): ### See: https://docs.openspaceproject.com/latest/reference/asset-components/RenderableTrailTrajectory.html color: Tuple[float, float, float] end_time: str start_time: str translation: Translation type: str = "RenderableTrailTrajectory" accurate_trail_positions: Optional[int] = None enable_fade: Optional[bool] = None enable_sweep_chunking: Optional[int] = None line_fade_amount: Optional[float] = None line_length: Optional[float] = None line_width: Optional[float] = None point_size: Optional[int] = None rendering: Optional[RenderableTrailRendering] = None sample_interval: Optional[float] = None show_full_trail: Optional[bool] = None sweep_chunk_size: Optional[int] = None time_stamp_subsample_factor: Optional[int] = None