shapes¶
This subpackage defines all shapes that are used throughout GIANT.
In GIANT, shapes are used to represent targets in a scene for rendering as well as for other analysis. Therefore, shapes enable ray tracing, finding limbs for a target, tracking the location and orientation of a target, among other things.
There are 2 primary shapes that are typically used to represent targets in GIANT. These are Ellipsoid
and
Triangle64
/ Triangle32
. Ellipsoid
are typically used for “regular” bodies (bodies that
are well modeled by a sphere/triaxial ellipsoid like planets and moons, while Triangle64
/
Triangle32
are typically used for more general terrain, as well as small patches of terrain from targets that
otherwise are globally ellipsoids. There are a few other shapes, and the following documentation discusses the typical
use case for each, but generally knowing these 2 is sufficient.
Generally a user probably won’t have much direct interaction with this subpackage, as there are many higher level
scripts and modules that handle things for you, like ingest_shape
, tile_shape
,
spc_to_feature_catalogue
, and scene
, but understanding what is going on under the hood can be beneficial
so we do recommend at least skimming through this documentation.
Modules
This cython module defines the |
|
This cython module defines the |
|
This module implements a basic point object for GIANT, used to represent objects that cannot be traced but that exist in a scene. |
|
This cython module defines what is essentially the abstract base class for all renderable objects in GIANT (defining the minimum interface required for an object to be renderable). |
|
This cython module defines the base class for all solids in GIANT. |
|
This Cython module defines base classes for surface objects and their acceleration structures in GIANT. |
|
This cython module defines surfaces for GIANT tesselated using Triangles as the geometry primitive. |