jaulib v1.3.0
Jau Support Library (C++, Java, ..)
Public Types | Public Member Functions | List of all members
jau::math::util::MatrixStack< Value_type, > Class Template Reference

A Matrix stack of compounds, each consisting of 16 * T More...

#include <sstack.hpp>

Inheritance diagram for jau::math::util::MatrixStack< Value_type, >:
Collaboration diagram for jau::math::util::MatrixStack< Value_type, >:

Public Types

typedef Matrix4< value_typematrix_t
 
typedef Value_type value_type
 

Public Member Functions

constexpr_cxx20 MatrixStack () noexcept
 Start w/ zero size and growSize is 16, half GL-min size (32) More...
 
constexpr_cxx20 MatrixStack (int initialSize, int growSize_) noexcept
 
constexpr_cxx20 void growIfNecessary (int length) noexcept
 
constexpr_cxx20 void pop (matrix_t &dest) noexcept
 
constexpr_cxx20 void push (const matrix_t &src) noexcept
 

Detailed Description

template<typename Value_type, std::enable_if_t< std::is_floating_point_v< Value_type >||std::is_integral_v< Value_type >, bool > = true>
class jau::math::util::MatrixStack< Value_type, >

A Matrix stack of compounds, each consisting of 16 * T

Template Parameters
Ttype of one element used in each compound

Definition at line 119 of file sstack.hpp.

Member Typedef Documentation

◆ value_type

template<typename Value_type , std::enable_if_t< std::is_floating_point_v< Value_type >||std::is_integral_v< Value_type >, bool > = true>
typedef Value_type jau::math::util::MatrixStack< Value_type, >::value_type

Definition at line 121 of file sstack.hpp.

◆ matrix_t

template<typename Value_type , std::enable_if_t< std::is_floating_point_v< Value_type >||std::is_integral_v< Value_type >, bool > = true>
typedef Matrix4<value_type> jau::math::util::MatrixStack< Value_type, >::matrix_t

Definition at line 122 of file sstack.hpp.

Constructor & Destructor Documentation

◆ MatrixStack() [1/2]

template<typename Value_type , std::enable_if_t< std::is_floating_point_v< Value_type >||std::is_integral_v< Value_type >, bool > = true>
constexpr_cxx20 jau::math::util::MatrixStack< Value_type, >::MatrixStack ( )
inlinenoexcept

Start w/ zero size and growSize is 16, half GL-min size (32)

Definition at line 132 of file sstack.hpp.

◆ MatrixStack() [2/2]

template<typename Value_type , std::enable_if_t< std::is_floating_point_v< Value_type >||std::is_integral_v< Value_type >, bool > = true>
constexpr_cxx20 jau::math::util::MatrixStack< Value_type, >::MatrixStack ( int  initialSize,
int  growSize_ 
)
inlinenoexcept
Parameters
initialSizeinitial size
growSizegrow size if position() is reached, maybe 0

Definition at line 139 of file sstack.hpp.

Member Function Documentation

◆ growIfNecessary()

template<typename Value_type , std::enable_if_t< std::is_floating_point_v< Value_type >||std::is_integral_v< Value_type >, bool > = true>
constexpr_cxx20 void jau::math::util::MatrixStack< Value_type, >::growIfNecessary ( int  length)
inlinenoexcept

Definition at line 142 of file sstack.hpp.

Here is the caller graph for this function:

◆ push()

template<typename Value_type , std::enable_if_t< std::is_floating_point_v< Value_type >||std::is_integral_v< Value_type >, bool > = true>
constexpr_cxx20 void jau::math::util::MatrixStack< Value_type, >::push ( const matrix_t src)
inlinenoexcept

Definition at line 149 of file sstack.hpp.

Here is the caller graph for this function:

◆ pop()

template<typename Value_type , std::enable_if_t< std::is_floating_point_v< Value_type >||std::is_integral_v< Value_type >, bool > = true>
constexpr_cxx20 void jau::math::util::MatrixStack< Value_type, >::pop ( matrix_t dest)
inlinenoexcept

Definition at line 154 of file sstack.hpp.

Here is the caller graph for this function:

The documentation for this class was generated from the following file: