Package pygeodesy :: Module ltp :: Class Frustum |
[frames] | no frames]

# Class Frustum

      object --+
               |
    named._Named --+
                   |
    named._NamedBase --+
                       |
                      Frustum

A rectangular pyramid, typically representing a camera's field of view (fov) and the intersection with (or projection to) a local tangent plane.

See Also: Viewing frustum.

Instance Methods
__init__(self, hfov, vfov, ltp=None) New Frustum. |
footprint5(self, altitude, tilt, yaw=0, roll=0, z=0.0, ltp=None) Compute the center and corners of the intersection with (or projection to) the local tangent plane (LTP). |
Inherited from `named._NamedBase`: `__repr__`, `__str__`, `others`, `toRepr`, `toStr` Inherited from `named._Named`: `_DOT_`, `attrs`, `classof`, `copy`, `rename`, `toStr2` Inherited from `object`: `__delattr__`, `__format__`, `__getattribute__`, `__hash__`, `__new__`, `__reduce__`, `__reduce_ex__`, `__setattr__`, `__sizeof__`, `__subclasshook__`

Properties
| hfov Get the horizontal `fov` (`degrees`).
| ltp Get the local tangent plane (Ltp) or `None`.
| vfov Get the vertical `fov` (`degrees`).
Inherited from `named._Named`: `classname`, `classnaming`, `name`, `named`, `named2`, `named3`, `named4` Inherited from `object`: `__class__`

Method Details

### __init__ (self, hfov, vfov, ltp=None) (Constructor) |
New Frustum. Arguments: `hfov` - Horizontal field of view (`degrees180`). `vfov` - Vertical field of view (`degrees180`). `ltp` - Optional local tangent plane (Ltp). Raises: `UnitError` - Invalid `hfov` or `vfov`. `ValueError` - Invalid `hfov` or `vfov`. Overrides: object.__init__

### footprint5 (self, altitude, tilt, yaw=0, roll=0, z=0.0, ltp=None) |
Compute the center and corners of the intersection with (or projection to) the local tangent plane (LTP). Arguments: `altitude` - Altitude (`meter`) above local tangent plane. `tilt` - Pitch, elevation from horizontal (`degrees180`), negative down. `yaw` - Bearing, heading (compass `degrees360`), clockwise from North. `roll` - Roll, bank (`degrees`), positive to the right and down. kwarg z: Optional height of the footprint (`meter`) above local tangent plane. `ltp` - The local tangent plane (Ltp), overriding this frustum's `ltp`. Returns: A Footprint5Tuple`(center, upperleft, upperight, loweright, lowerleft)` with the `center` and 4 corners each an Xyz4Tuple. Raises: `TypeError` - Invalid `ltp`. `UnitError` - Invalid `altitude`, `tilt`, `roll` or `z`. `ValueError` - If `altitude` too low, `z` too high or `tilt` or `roll` -including `vfov` respectively `hfov`- over the horizon. See Also: Principal axes.

Property Details

### hfov Get the horizontal `fov` (`degrees`). Get method: hfov(self) - Get the horizontal `fov` (`degrees`). Set method: _fset_error(inst, val) - Throws an `AttributeError`, always. Delete Method: _fdel(inst) - Zap the cached/memoized `property` value.

### ltp Get the local tangent plane (Ltp) or `None`. Get method: ltp(self) - Get the local tangent plane (Ltp) or `None`. Set method: _fset_error(inst, val) - Throws an `AttributeError`, always. Delete Method: _fdel(inst) - Zap the cached/memoized `property` value.

### vfov Get the vertical `fov` (`degrees`). Get method: vfov(self) - Get the vertical `fov` (`degrees`). Set method: _fset_error(inst, val) - Throws an `AttributeError`, always. Delete Method: _fdel(inst) - Zap the cached/memoized `property` value.