vector._compute.spatial package#
Compute functions for spatial vectors, which is to say 3D and 4D.
Each function is a module with variants for each coordinate system (or combination of coordinate systems) as functions within the module.
Each module has a dispatch_map
(dict) that maps coordinate types to the
appropriate function and its return type(s), and a dispatch
(function) uses
this information to call the right function and return the right type.
The compute functions themselves are restricted to a minimum of Python features: no statements other than assignments and one return, no assumptions about data types. In particular, if statements and loops are not allowed. The tests/test_compute_features.py suite ensures that these rules are followed (though that set of allowed features can be expanded if it doesn’t prevent the addition of new backends).
Submodules#
- vector._compute.spatial.add module
- vector._compute.spatial.costheta module
- vector._compute.spatial.cottheta module
- vector._compute.spatial.cross module
- vector._compute.spatial.deltaangle module
- vector._compute.spatial.deltaeta module
- vector._compute.spatial.deltaR module
- vector._compute.spatial.deltaR2 module
- vector._compute.spatial.dot module
- vector._compute.spatial.equal module
- vector._compute.spatial.eta module
- vector._compute.spatial.is_antiparallel module
- vector._compute.spatial.is_parallel module
- vector._compute.spatial.is_perpendicular module
- vector._compute.spatial.isclose module
- vector._compute.spatial.mag module
- vector._compute.spatial.mag2 module
- vector._compute.spatial.not_equal module
- vector._compute.spatial.rotate_axis module
- vector._compute.spatial.rotate_euler module
- vector._compute.spatial.rotate_quaternion module
- vector._compute.spatial.rotateX module
- vector._compute.spatial.rotateY module
- vector._compute.spatial.scale module
- vector._compute.spatial.subtract module
- vector._compute.spatial.theta module
- vector._compute.spatial.transform3D module
- vector._compute.spatial.unit module
- vector._compute.spatial.z module