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 BCMatrix(), and 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 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(), BCMatrix(), 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(), BCMatrix(), 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(), 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, i, and pow.

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

◆ 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, i, 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 BCMatrix(), distance(), fabs(), and i.

Referenced by bc_is_animated().

◆ location()

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

Definition at line 212 of file BCMath.cpp.

References location().

Referenced by BCSample::get_value(), and location().

◆ quat()

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

Definition at line 227 of file BCMath.cpp.

References quat().

Referenced by BCSample::get_value(), and quat().

◆ rotation()

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

Definition at line 217 of file BCMath.cpp.

References rotation().

Referenced by BCSample::get_value(), and rotation().

◆ 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 scale().

Referenced by BCSample::get_value(), and scale().

◆ 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: