Blender V4.5
BCMatrix Class Reference

#include <BCMath.h>

Public Member Functions

float(& location () const)[3]
 
float(& rotation () const)[3]
 
float(& scale () const)[3]
 
float(& quat () const)[4]
 
 BCMatrix (BC_global_forward_axis global_forward_axis, BC_global_up_axis global_up_axis)
 
 BCMatrix (const BCMatrix &mat)
 
 BCMatrix (Matrix &mat)
 
 BCMatrix (Object *ob)
 
 BCMatrix ()
 
void get_matrix (DMatrix &matrix, bool transposed=false, int precision=-1) const
 
void get_matrix (Matrix &matrix, bool transposed=false, int precision=-1, bool inverted=false) const
 
void set_transform (Object *ob)
 
void set_transform (Matrix &mat)
 
void add_transform (Matrix &to, const Matrix &transform, const Matrix &from, bool inverted=false)
 
void apply_transform (Matrix &to, const Matrix &transform, const Matrix &from, bool inverse=false)
 
void add_inverted_transform (Matrix &to, const Matrix &transform, const Matrix &from)
 
void add_transform (const Matrix &matrix, bool inverted=false)
 
void add_transform (const BCMatrix &matrix, bool inverted=false)
 
void apply_transform (const BCMatrix &matrix, bool inverted=false)
 
bool in_range (const BCMatrix &other, float distance) const
 

Static Public Member Functions

static void sanitize (Matrix &matrix, int precision)
 
static void sanitize (DMatrix &matrix, int precision)
 
static void transpose (Matrix &matrix)
 

Detailed Description

Definition at line 44 of file BCMath.h.

Constructor & Destructor Documentation

◆ BCMatrix() [1/5]

BCMatrix::BCMatrix ( BC_global_forward_axis global_forward_axis,
BC_global_up_axis global_up_axis )

◆ BCMatrix() [2/5]

BCMatrix::BCMatrix ( const BCMatrix & mat)

Definition at line 28 of file BCMath.cpp.

References set_transform().

◆ BCMatrix() [3/5]

BCMatrix::BCMatrix ( Matrix & mat)

Definition at line 33 of file BCMath.cpp.

References set_transform().

◆ BCMatrix() [4/5]

BCMatrix::BCMatrix ( Object * ob)

Definition at line 38 of file BCMath.cpp.

References set_transform().

◆ BCMatrix() [5/5]

BCMatrix::BCMatrix ( )

Definition at line 43 of file BCMath.cpp.

Member Function Documentation

◆ add_inverted_transform()

void BCMatrix::add_inverted_transform ( Matrix & to,
const Matrix & transform,
const Matrix & from )

Definition at line 104 of file BCMath.cpp.

References from, invert_m4_m4(), mul_m4_m4m4(), and transform().

◆ add_transform() [1/3]

void BCMatrix::add_transform ( const BCMatrix & matrix,
bool inverted = false )

Definition at line 63 of file BCMath.cpp.

References add_transform(), and this.

◆ add_transform() [2/3]

void BCMatrix::add_transform ( const Matrix & matrix,
bool inverted = false )

Definition at line 58 of file BCMath.cpp.

References add_transform().

◆ add_transform() [3/3]

void BCMatrix::add_transform ( Matrix & to,
const Matrix & transform,
const Matrix & from,
bool inverted = false )

◆ apply_transform() [1/2]

void BCMatrix::apply_transform ( const BCMatrix & matrix,
bool inverted = false )

Definition at line 68 of file BCMath.cpp.

References apply_transform(), and this.

◆ apply_transform() [2/2]

void BCMatrix::apply_transform ( Matrix & to,
const Matrix & transform,
const Matrix & from,
bool inverse = false )

Definition at line 88 of file BCMath.cpp.

References add_transform(), from, inverse, invert_m4_m4(), mul_m4_m4m4(), and transform().

Referenced by apply_transform(), and bc_apply_global_transform().

◆ get_matrix() [1/2]

void BCMatrix::get_matrix ( DMatrix & matrix,
bool transposed = false,
int precision = -1 ) const

We need double here because the OpenCollada API needs it. precision = -1 indicates to not limit the precision.

Definition at line 167 of file BCMath.cpp.

References floor, and pow.

Referenced by TransformWriter::add_node_transform_identity(), bc_add_global_transform(), bc_add_global_transform(), bc_apply_global_transform(), bc_apply_global_transform(), and BCSampleFrame::get_sample_matrix().

◆ get_matrix() [2/2]

void BCMatrix::get_matrix ( Matrix & matrix,
bool transposed = false,
int precision = -1,
bool inverted = false ) const

Definition at line 180 of file BCMath.cpp.

References floor, invert_m4(), and pow.

◆ in_range()

bool BCMatrix::in_range ( const BCMatrix & other,
float distance ) const

Definition at line 200 of file BCMath.cpp.

References distance(), and fabs().

◆ location()

float(& BCMatrix::location ( ) )[3]

Definition at line 212 of file BCMath.cpp.

◆ quat()

float(& BCMatrix::quat ( ) )[4]

Definition at line 227 of file BCMath.cpp.

◆ rotation()

float(& BCMatrix::rotation ( ) )[3]

Definition at line 217 of file BCMath.cpp.

References rot.

◆ sanitize() [1/2]

void BCMatrix::sanitize ( DMatrix & matrix,
int precision )
static

Definition at line 151 of file BCMath.cpp.

References double_round().

◆ sanitize() [2/2]

void BCMatrix::sanitize ( Matrix & matrix,
int precision )
static

Definition at line 140 of file BCMath.cpp.

References double_round().

Referenced by TransformWriter::add_node_transform_ob().

◆ scale()

float(& BCMatrix::scale ( ) )[3]

Definition at line 222 of file BCMath.cpp.

References size().

◆ set_transform() [1/2]

void BCMatrix::set_transform ( Matrix & mat)

Definition at line 122 of file BCMath.cpp.

References copy_m4_m4(), mat4_decompose(), and quat_to_eul().

◆ set_transform() [2/2]

void BCMatrix::set_transform ( Object * ob)

◆ transpose()

void BCMatrix::transpose ( Matrix & matrix)
static

Definition at line 135 of file BCMath.cpp.

References transpose_m4().


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