|
The Vish Visualization Shell 0.3
Vish
|
The combination of a vector and a trivector yields an odd multivector, which is dual to a rotor. More...
#include <elementary/eagle/rotor3.hpp>
Public Member Functions | |
| OddMultiVector (const trivector &V, const vector &v=vector(0.0, 0.0, 0.0)) | |
| Construct rotor from trivector and vector. | |
| OddMultiVector (const vector &v, const trivector &V=trivector(0.0)) | |
| Construct rotor from vector and trivector. | |
| rotor & | operator* () |
| Applying the hodge star operator. | |
| const rotor & | operator* () const |
| Applying the hodge star operator. | |
| trivector & | trivec () |
| Retrieve trivector component, modifyable. | |
| const trivector & | trivec () const |
| Retrieve trivector component, read-only. | |
| vector & | vec () |
| Retrieve vector component, modifyable. | |
| const vector & | vec () const |
| Retrieve vector component, read-only. | |
| Public Member Functions inherited from Eagle::Vector< double, 4 > | |
| Base_t & | fixed_array () |
| Provide access to the base class, writable. | |
| Vector & | operator*= (const double &value) |
| Self-multiplication. | |
| Vector & | operator+= (const Vector &v) |
| Self-addition. | |
| Vector & | operator-= (const Vector &v) |
| Self-subtraction. | |
| Vector & | operator/= (const double &value) |
| Self-division. | |
| Vector & | operator= (const Vector &src) |
| Assignment operator. | |
| void | set (const V &value) |
| Assign all values to the same scalar. | |
| constexpr | Vector () |
| Default constructor. | |
| Public Member Functions inherited from Eagle::FixedArray< double, n > | |
| void | expandMinMax (FixedArray &MinValues, FixedArray &MaxValues) const |
| Expand a range given by MinValues,MaxValues to include the values of this array, done per component. | |
| constexpr | FixedArray () noexcept |
| Default constructor. | |
| constexpr double & | get (int i) |
| writable element access | |
| constexpr const FixedArray< double, subsize > * | get_subarray () const |
| Helper class for retrieve a subset of the current array. | |
| constexpr const FixedArray< double, SIZE-1 > & | get_subdim () const |
| Mainly introduced because of Interpolate::operator[]. | |
| const FixedArray_t & | getFixedArray () const noexcept |
| convenience function for base classes | |
| constexpr double | getMax () const |
| Compute the maximum element value of this array. | |
| constexpr double | getMin () const |
| Compute the maximum element value of this array. | |
| constexpr bool | operator!= (const FixedArray< T, N > &F) const |
| Compare two arrays. | |
| constexpr bool | operator== (const FixedArray< T, N > &F) const |
| Compare two arrays. | |
| constexpr double & | operator[] (int i) |
| writeable element access operator | |
| constexpr double * | ptr (int i=0) noexcept |
| Return a pointer to the ith element, no range checking. | |
| constexpr void | set (const Value &x) |
| Set all array elements to the same value. | |
| void | setFromArray (const double *x, int length=SIZE, int offset=0) |
| Set all array elements to an array's element value. | |
| void | sort (FixedArray< int, N > &I) const |
| Sort the elements of an array into the index array. | |
Friends | |
| OddMultiVector | operator+ (const OddMultiVector &L, const OddMultiVector &R) |
| Sum of trivector and vector. | |
| OddMultiVector | operator+ (const trivector &V, const vector &v) |
| Sum of trivector and vector. | |
| OddMultiVector | operator+ (const vector &v, const trivector &V) |
| Sum of vector and trivector. | |
Additional Inherited Members | |
| Public Types inherited from Eagle::Vector< double, 4 > | |
| enum | |
| The number of elements in this array. | |
| Public Types inherited from Eagle::FixedArray< double, n > | |
| typedef FlattenedArray_t::value_type | Element_t |
| The maximally reduced type of elements stored here. | |
| typedef GetFixedArrayType< double >::result_t | ElementAsFixedArray_t |
| Element type as fixed array, if it is convertible to a fixed array. | |
| typedef FixedArray | FixedArray_t |
| Exporting the type definition of this array cass type. | |
| typedef FixedArrayFlattener< FixedArrayOfElements_t > | FixedArrayFlattener_t |
| Internal helper class. | |
| typedef FixedArray< ElementAsFixedArray_t, N > | FixedArrayOfElements_t |
| If the value is derived from a fixed array type itself, then the FixedArrayOfElements_t is an FixedArray<FixedArray<>> type. | |
| typedef FixedArrayFlattener_t::result_t | FlattenedArray_t |
| Reduction of this array type, if it is nested, to an flattened type which contains elementary types. | |
| typedef double | value_type |
| Export the type of the respective element value type. | |
| Static Public Member Functions inherited from Eagle::FixedArray< double, n > | |
| static constexpr FixedArray | convert (const FixedArray< T, N > &F, const ConversionFunctor &CF) |
| Perform a type conversion on a given fixed array into another basis type: | |
| static constexpr dimension_t | size () |
| The number of elements here. | |
| Protected Attributes inherited from Eagle::FixedArray< double, n > | |
| double | data [SIZE] |
| The actual data values, intentional no-initialization for data member, which increases performance on vector creation. | |
The combination of a vector and a trivector yields an odd multivector, which is dual to a rotor.
The memory layout is compatible to a rotor, but the algebraic properties are not.
An odd multivector sums up the blades of odd grades, such as 1 (vectors) and 3 (trivectors). An odd multivector is dual to a rotor.