TachyonUI 0.1.0
High-performance UI for building tools.
Loading...
Searching...
No Matches
tachyon::float3x2 Struct Reference

2D affine transform matrix (2 rows x 3 columns): x' = r0.x*x + r0.y*y + r0.z y' = r1.x*x + r1.y*y + r1.z More...

#include <gui_core/gui_base_types.h>

Public Member Functions

float3 & operator[] (int index)
const float3 & operator[] (int index) const
bool operator== (const float3x2 &other) const
bool operator!= (const float3x2 &other) const
bool IsIdentity () const
float3x2 operator* (const float3x2 &b) const
float2 TransformPoint (float2 p) const
float2 TransformVector (float2 p) const
float3x2 Inverse () const

Static Public Member Functions

static constexpr float3x2 Identity ()
static float3x2 Scale (int2 scale)
static float3x2 Scale (int x, int y)
static float3x2 Scale (int s)
static float3x2 Translate (int2 translation)
static float3x2 Translate (int x, int y)
static float3x2 Scale (float2 scale)
static float3x2 Scale (float x, float y)
static float3x2 Scale (float s)
static float3x2 Translate (float2 translation)
static float3x2 Translate (float x, float y)

Public Attributes

float3 r0 = float3 { 1,0,0 }
float3 r1 = float3 { 0,1,0 }

Detailed Description

2D affine transform matrix (2 rows x 3 columns): x' = r0.x*x + r0.y*y + r0.z y' = r1.x*x + r1.y*y + r1.z

Member Function Documentation

◆ operator[]() [1/2]

float3 & tachyon::float3x2::operator[] ( int index)
inline

◆ operator[]() [2/2]

const float3 & tachyon::float3x2::operator[] ( int index) const
inline

◆ operator==()

bool tachyon::float3x2::operator== ( const float3x2 & other) const
inline

◆ operator!=()

bool tachyon::float3x2::operator!= ( const float3x2 & other) const
inline

◆ Identity()

constexpr float3x2 tachyon::float3x2::Identity ( )
inlinestaticconstexpr

◆ IsIdentity()

bool tachyon::float3x2::IsIdentity ( ) const
inline

◆ operator*()

float3x2 tachyon::float3x2::operator* ( const float3x2 & b) const

◆ Scale() [1/6]

float3x2 tachyon::float3x2::Scale ( int2 scale)
inlinestatic

◆ Scale() [2/6]

float3x2 tachyon::float3x2::Scale ( int x,
int y )
inlinestatic

◆ Scale() [3/6]

float3x2 tachyon::float3x2::Scale ( int s)
inlinestatic

◆ Translate() [1/4]

float3x2 tachyon::float3x2::Translate ( int2 translation)
inlinestatic

◆ Translate() [2/4]

float3x2 tachyon::float3x2::Translate ( int x,
int y )
inlinestatic

◆ Scale() [4/6]

float3x2 tachyon::float3x2::Scale ( float2 scale)
inlinestatic

◆ Scale() [5/6]

float3x2 tachyon::float3x2::Scale ( float x,
float y )
inlinestatic

◆ Scale() [6/6]

float3x2 tachyon::float3x2::Scale ( float s)
inlinestatic

◆ Translate() [3/4]

float3x2 tachyon::float3x2::Translate ( float2 translation)
inlinestatic

◆ Translate() [4/4]

float3x2 tachyon::float3x2::Translate ( float x,
float y )
inlinestatic

◆ TransformPoint()

float2 tachyon::float3x2::TransformPoint ( float2 p) const

◆ TransformVector()

float2 tachyon::float3x2::TransformVector ( float2 p) const

◆ Inverse()

float3x2 tachyon::float3x2::Inverse ( ) const

Member Data Documentation

◆ r0

float3 tachyon::float3x2::r0 = float3 { 1,0,0 }

◆ r1

float3 tachyon::float3x2::r1 = float3 { 0,1,0 }

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