FiberVISH 0.2
Fish - The Fiber Bundle API for the Vish Visualization Shell
Public Member Functions | Public Attributes | List of all members
Fiber::FiberTypeIndex Struct Reference
Inheritance diagram for Fiber::FiberTypeIndex:
Fiber::FiberTypeBase Fiber::FiberType< T >

Public Member Functions

auto operator<=> (const FiberTypeIndex &) const =default
 https://en.cppreference.com/w/cpp/language/default_comparisons https://devblogs.microsoft.com/cppblog/simplify-your-code-with-rocket-science-c20s-spaceship-operator/
 
std::string description () const
 
auto value_type_size () const
 

Public Attributes

unsigned multiplicity = 0
 How many atomic elements construct this type.
 
unsigned mem_size = 0
 How many bytes this object occupies in memory.
 
int rank = 0
 For tensorial objects, specify the rank.
 
int grade = 0
 Grade of multivectors.
 
unsigned array_element_size = 0
 The size of an array element in memory if the type is an array.
 
std::string type_name
 
std::string element_type_name
 
std::string chart_name
 Return the textual naming scheme of the ith coordinate.
 
int chart_dimension = 0
 A textual description for each member, as derived from the coordinate's component names, the indexing scheme and the grade-.
 

Member Function Documentation

◆ operator<=>()

auto Fiber::FiberTypeIndex::operator<=> ( const FiberTypeIndex ) const
default

Member Data Documentation

◆ chart_dimension

int Fiber::FiberTypeIndex::chart_dimension = 0

A textual description for each member, as derived from the coordinate's component names, the indexing scheme and the grade-.

Parameters
ComponentIdAn integer between 0 and multiplicity();

◆ chart_name

std::string Fiber::FiberTypeIndex::chart_name

Return the textual naming scheme of the ith coordinate.

Parameters
avalue beteen 0 and char_dimension()

Referenced by Fiber::FiberTypeBase::coordinate_component_name().

◆ grade

int Fiber::FiberTypeIndex::grade = 0

Grade of multivectors.

Only blades (pure multivectors) can be expressed hereby.

Multivectors are classified according to their degree: Scalars have degree zero, vectors one, bivectors two, etc.

Note that the grade provides an extended type information beyond just the rank: In 3D, both vectors and bi-vectors have rank 1, but vectors are of grade 1, bi-vectors of grade 2.

Referenced by Fiber::FiberTypeBase::grade().

◆ multiplicity

unsigned Fiber::FiberTypeIndex::multiplicity = 0

How many atomic elements construct this type.

Note that in memory there might be more than that due to alignment issues, see mem_size().

Referenced by Fiber::FiberTypeBase::multiplicity().

◆ rank

int Fiber::FiberTypeIndex::rank = 0

For tensorial objects, specify the rank.

A matrix has rank two, a vector has rank one. Scalars have rank zero. The number of elements (multiplicity() ) can at most be chart_dimension() to the power of rank().

Referenced by Fiber::FiberTypeBase::rank().