Blender  V3.3
Public Types | Public Member Functions | Static Public Member Functions | Public Attributes | Friends | List of all members
blender::float3x3 Struct Reference

#include <BLI_float3x3.hh>

Public Types

using c_style_float3x3 = float[3][3]
 

Public Member Functions

 float3x3 ()=default
 
 float3x3 (const float *matrix)
 
 float3x3 (const float matrix[3][3])
 
 operator float * ()
 
 operator const float * () const
 
floatoperator[] (const int64_t index)
 
const floatoperator[] (const int64_t index) const
 
c_style_float3x3ptr ()
 
const c_style_float3x3ptr () const
 
void operator*= (const float3x3 &other)
 
float3x3 transposed () const
 
float3x3 inverted () const
 

Static Public Member Functions

static float3x3 zero ()
 
static float3x3 identity ()
 
static float3x3 from_translation (const float2 translation)
 
static float3x3 from_rotation (float rotation)
 
static float3x3 from_translation_rotation_scale (const float2 translation, float rotation, const float2 scale)
 
static float3x3 from_normalized_axes (const float2 translation, const float2 horizontal, const float2 vertical)
 
static float3x3 from_origin_transformation (const float3x3 &transformation, const float2 origin)
 

Public Attributes

float values [3][3]
 

Friends

float3x3 operator* (const float3x3 &a, const float3x3 &b)
 
float3 operator* (const float3x3 &a, const float3 &b)
 
float2 operator* (const float3x3 &transformation, const float2 &vector)
 
float2 operator* (const float3x3 &transformation, const float(*vector)[2])
 
bool operator== (const float3x3 &a, const float3x3 &b)
 

Detailed Description

Definition at line 16 of file BLI_float3x3.hh.

Member Typedef Documentation

◆ c_style_float3x3

Definition at line 137 of file BLI_float3x3.hh.

Constructor & Destructor Documentation

◆ float3x3() [1/3]

blender::float3x3::float3x3 ( )
default

◆ float3x3() [2/3]

blender::float3x3::float3x3 ( const float matrix)
inline

Definition at line 22 of file BLI_float3x3.hh.

References values.

◆ float3x3() [3/3]

blender::float3x3::float3x3 ( const float  matrix[3][3])
inline

Definition at line 27 of file BLI_float3x3.hh.

Member Function Documentation

◆ from_normalized_axes()

static float3x3 blender::float3x3::from_normalized_axes ( const float2  translation,
const float2  horizontal,
const float2  vertical 
)
inlinestatic

Definition at line 85 of file BLI_float3x3.hh.

References BLI_ASSERT_UNIT_V2, and result.

Referenced by blender::tests::TEST().

◆ from_origin_transformation()

static float3x3 blender::float3x3::from_origin_transformation ( const float3x3 transformation,
const float2  origin 
)
inlinestatic

Definition at line 108 of file BLI_float3x3.hh.

References from_translation().

Referenced by blender::tests::TEST().

◆ from_rotation()

static float3x3 blender::float3x3::from_rotation ( float  rotation)
inlinestatic

Definition at line 53 of file BLI_float3x3.hh.

References KDL::cos(), result, KDL::sin(), and zero().

Referenced by blender::tests::TEST().

◆ from_translation()

static float3x3 blender::float3x3::from_translation ( const float2  translation)
inlinestatic

Definition at line 45 of file BLI_float3x3.hh.

References identity(), and result.

Referenced by from_origin_transformation(), and blender::tests::TEST().

◆ from_translation_rotation_scale()

static float3x3 blender::float3x3::from_translation_rotation_scale ( const float2  translation,
float  rotation,
const float2  scale 
)
inlinestatic

Definition at line 66 of file BLI_float3x3.hh.

References KDL::cos(), result, and KDL::sin().

Referenced by blender::tests::TEST().

◆ identity()

static float3x3 blender::float3x3::identity ( )
inlinestatic

Definition at line 38 of file BLI_float3x3.hh.

References result, and unit_m3().

Referenced by from_translation(), and blender::tests::TEST().

◆ inverted()

float3x3 blender::float3x3::inverted ( ) const
inline

◆ operator const float *()

blender::float3x3::operator const float * ( ) const
inline

Definition at line 118 of file BLI_float3x3.hh.

References values.

◆ operator float *()

blender::float3x3::operator float * ( )
inline

Definition at line 113 of file BLI_float3x3.hh.

References values.

◆ operator*=()

void blender::float3x3::operator*= ( const float3x3 other)
inline

Definition at line 162 of file BLI_float3x3.hh.

References mul_m3_m3_post(), and values.

◆ operator[]() [1/2]

float* blender::float3x3::operator[] ( const int64_t  index)
inline

Definition at line 123 of file BLI_float3x3.hh.

References BLI_assert, and values.

◆ operator[]() [2/2]

const float* blender::float3x3::operator[] ( const int64_t  index) const
inline

Definition at line 130 of file BLI_float3x3.hh.

References BLI_assert, and values.

◆ ptr() [1/2]

c_style_float3x3& blender::float3x3::ptr ( )
inline

Definition at line 138 of file BLI_float3x3.hh.

References values.

◆ ptr() [2/2]

const c_style_float3x3& blender::float3x3::ptr ( ) const
inline

Definition at line 143 of file BLI_float3x3.hh.

References values.

◆ transposed()

float3x3 blender::float3x3::transposed ( ) const
inline

Definition at line 179 of file BLI_float3x3.hh.

References result, transpose_m3_m3(), and values.

◆ zero()

static float3x3 blender::float3x3::zero ( )
inlinestatic

Definition at line 31 of file BLI_float3x3.hh.

References result, and zero_m3().

Referenced by from_rotation().

Friends And Related Function Documentation

◆ operator* [1/4]

float3 operator* ( const float3x3 a,
const float3 b 
)
friend

Definition at line 155 of file BLI_float3x3.hh.

◆ operator* [2/4]

float3x3 operator* ( const float3x3 a,
const float3x3 b 
)
friend

Definition at line 148 of file BLI_float3x3.hh.

◆ operator* [3/4]

float2 operator* ( const float3x3 transformation,
const float(*)  vector[2] 
)
friend

Definition at line 174 of file BLI_float3x3.hh.

◆ operator* [4/4]

float2 operator* ( const float3x3 transformation,
const float2 vector 
)
friend

Definition at line 167 of file BLI_float3x3.hh.

◆ operator==

bool operator== ( const float3x3 a,
const float3x3 b 
)
friend

Definition at line 193 of file BLI_float3x3.hh.

Member Data Documentation

◆ values

float blender::float3x3::values[3][3]

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