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]