Blender V4.3
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 30 of file BCMath.cpp.

References set_transform().

◆ BCMatrix() [3/5]

BCMatrix::BCMatrix ( Matrix & mat)

Definition at line 35 of file BCMath.cpp.

References set_transform().

◆ BCMatrix() [4/5]

BCMatrix::BCMatrix ( Object * ob)

Definition at line 40 of file BCMath.cpp.

References set_transform().

◆ BCMatrix() [5/5]

BCMatrix::BCMatrix ( )

Definition at line 45 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 106 of file BCMath.cpp.

References invert_m4_m4(), and mul_m4_m4m4().

◆ add_transform() [1/3]

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

Definition at line 65 of file BCMath.cpp.

References add_transform().

◆ add_transform() [2/3]

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

Definition at line 60 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 70 of file BCMath.cpp.

References apply_transform().

◆ apply_transform() [2/2]

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

Definition at line 90 of file BCMath.cpp.

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

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 169 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 182 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 202 of file BCMath.cpp.

References fabs().

◆ location()

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

Definition at line 214 of file BCMath.cpp.

Referenced by BCSample::get_value().

◆ quat()

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

Definition at line 229 of file BCMath.cpp.

◆ rotation()

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

Definition at line 219 of file BCMath.cpp.

References rot.

◆ sanitize() [1/2]

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

Definition at line 153 of file BCMath.cpp.

References double_round().

◆ sanitize() [2/2]

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

Definition at line 142 of file BCMath.cpp.

References double(), double_round(), and float.

Referenced by TransformWriter::add_node_transform_ob().

◆ scale()

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

Definition at line 224 of file BCMath.cpp.

References size().

◆ set_transform() [1/2]

void BCMatrix::set_transform ( Matrix & mat)

Definition at line 124 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 137 of file BCMath.cpp.

References transpose_m4().


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