Shape¶
giant.ray_tracer.shapes.shape
:
- class giant.ray_tracer.shapes.shape.Shape¶
This represents the minimum required interface for an object to be considered traceable in GIANT.
This is essentially an abstract base class (though abstract base classes do not actually exist as c extensions). It defines the minimum interface for geometry in GIANT to be considered traceable in the normal
Scene
setup in GIANT. All of the built in GIANT geometry that is traceable inherits from this class.In general, a user will never actually use this class unless they are (a) defining a new geometry, in which case they should inherit from this class and override its 4 methods or (b) creating something where they want to accept renderable geometry, in which case they should use this as the base class for the type of class that they accept.
- bounding_box: AxisAlignedBoundingBox¶
The
AxisAlignedBoundingBox
that fully contains this shape.
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. |