pylupnt.World

class pylupnt.World

Shared, read-only physical environment for a Simulation: epoch, reference frame, force model, optional terrain/DEM, and a truth facade (get_state_at).

dem_center(self: pylupnt._pylupnt.World) Annotated[numpy.typing.NDArray[numpy.float64], '[2, 1]']

DEM tile center [x, y] in native projected meters (the ENU East/North origin)

dem_elevation(self: pylupnt._pylupnt.World) Annotated[numpy.typing.NDArray[numpy.float64], '[m, n]']

Terrain DEM elevation grid [m]

dem_x(self: pylupnt._pylupnt.World) Annotated[numpy.typing.NDArray[numpy.float64], '[m, n]']

Terrain DEM grid x coordinates (native projected meters)

dem_y(self: pylupnt._pylupnt.World) Annotated[numpy.typing.NDArray[numpy.float64], '[m, n]']

Terrain DEM grid y coordinates (native projected meters)

enu_to_world(self: pylupnt._pylupnt.World, east_m: SupportsFloat | SupportsIndex, north_m: SupportsFloat | SupportsIndex, up_m: SupportsFloat | SupportsIndex) Annotated[numpy.typing.NDArray[numpy.float64], '[3, 1]']

Convert a local ENU offset to a world-frame position [m]

get_elevation(self: pylupnt._pylupnt.World, east_m: SupportsFloat | SupportsIndex, north_m: SupportsFloat | SupportsIndex) float

Terrain elevation at a local ENU offset from the site center [m]

get_epoch(self: pylupnt._pylupnt.World) float

TDB epoch [s past J2000] of simulation time t = 0

get_frame(self: pylupnt._pylupnt.World) pylupnt._pylupnt.Frame

Reference frame of the shared environment

get_gm(self: pylupnt._pylupnt.World) float

Central-body gravitational parameter [m^3/s^2]

get_state_at(self: pylupnt._pylupnt.World, name: str, t: SupportsFloat | SupportsIndex) Annotated[numpy.typing.NDArray[numpy.float64], '[m, 1]']

Truth state [r; v] of agent name at simulation time t [s], in the world frame

gravity(self: pylupnt._pylupnt.World, r: Annotated[numpy.typing.ArrayLike, numpy.float64, '[3, 1]']) Annotated[numpy.typing.NDArray[numpy.float64], '[3, 1]']

Point-mass central-body gravitational acceleration at r (world frame) [m/s^2]

has_force_model(self: pylupnt._pylupnt.World) bool

Whether a force_model block was provided (so an NBodyDynamics can be built)

has_terrain(self: pylupnt._pylupnt.World) bool

Whether a dem (terrain) block was provided

r_enu_to_world(self: pylupnt._pylupnt.World) Annotated[numpy.typing.NDArray[numpy.float64], '[3, 3]']

Rotation from the local ENU tangent frame to the world frame

site_center_world(self: pylupnt._pylupnt.World) Annotated[numpy.typing.NDArray[numpy.float64], '[3, 1]']

Site center (local ENU origin) position in the world frame [m]

site_lat_deg(self: pylupnt._pylupnt.World) float

Site latitude [deg]

site_lon_deg(self: pylupnt._pylupnt.World) float

Site east longitude [deg]