Solid¶
giant.ray_tracer.shapes.solid
:
- class giant.ray_tracer.shapes.solid.Solid¶
A solid represents an 3D object that can be mathematically represented without resorting to tesselation (for instance a tri-axial ellipsoid).
This is essentially an abstract base class that is primarily used to identify what are solids in GIANT. It only adds an
id
attribute above the standardShape
base class from which it is defined.In general a user should not have to interact with this class unless they are defining a new solid for GIANT, in which case they should subclass this class and ensure that they set the
id
attribute.- bounding_box: AxisAlignedBoundingBox¶
The
AxisAlignedBoundingBox
that fully contains this solid.
- id: int¶
The unique identifier for this object as an integer.
Summary of Methods
This method computes the intersections between a ray and the geometry defined by the class, returning the results as a numpy array with type |
|
This method rotates the shape in place. |
|
This method computes the intersections between a series of rays and the geometry defined by the class, returning the results as a numpy array with type |
|
This method translates the shape in place. |
|
The method determines the limb points (visible edge of the shape) that would be an observed for an observer located at |
|
This method computes the linear change in the limb location given a change in the relative position between the ellipsoid and the shape. |