Blender  V3.3
Functions
collada_utils.cpp File Reference
#include "COLLADABUPlatform.h"
#include "COLLADAFWGeometry.h"
#include "COLLADAFWMeshPrimitive.h"
#include "COLLADAFWMeshVertexData.h"
#include <set>
#include <string>
#include "MEM_guardedalloc.h"
#include "DNA_armature_types.h"
#include "DNA_constraint_types.h"
#include "DNA_customdata_types.h"
#include "DNA_key_types.h"
#include "DNA_mesh_types.h"
#include "DNA_modifier_types.h"
#include "DNA_object_types.h"
#include "DNA_scene_types.h"
#include "BLI_linklist.h"
#include "BLI_listbase.h"
#include "BLI_math.h"
#include "BKE_action.h"
#include "BKE_armature.h"
#include "BKE_constraint.h"
#include "BKE_context.h"
#include "BKE_customdata.h"
#include "BKE_global.h"
#include "BKE_key.h"
#include "BKE_layer.h"
#include "BKE_lib_id.h"
#include "BKE_material.h"
#include "BKE_mesh.h"
#include "BKE_mesh_legacy_convert.h"
#include "BKE_mesh_runtime.h"
#include "BKE_mesh_wrapper.h"
#include "BKE_node.h"
#include "BKE_object.h"
#include "BKE_scene.h"
#include "ED_node.h"
#include "ED_object.h"
#include "ED_screen.h"
#include "WM_api.h"
#include "WM_types.h"
#include "bmesh.h"
#include "bmesh_tools.h"
#include "DEG_depsgraph.h"
#include "DEG_depsgraph_query.h"
#include "BlenderContext.h"
#include "ExportSettings.h"
#include "collada_utils.h"

Go to the source code of this file.

Functions

float bc_get_float_value (const COLLADAFW::FloatOrDoubleArray &array, unsigned int index)
 
int bc_test_parent_loop (Object *par, Object *ob)
 
bool bc_validateConstraints (bConstraint *con)
 
bool bc_set_parent (Object *ob, Object *par, bContext *C, bool is_parent_space)
 
std::vector< bAction * > bc_getSceneActions (const bContext *C, Object *ob, bool all_actions)
 
std::string bc_get_action_id (std::string action_name, std::string ob_name, std::string channel_type, std::string axis_name, std::string axis_separator)
 
void bc_update_scene (BlenderContext &blender_context, float ctime)
 
Object * bc_add_object (Main *bmain, Scene *scene, ViewLayer *view_layer, int type, const char *name)
 
Mesh * bc_get_mesh_copy (BlenderContext &blender_context, Object *ob, BC_export_mesh_type export_mesh_type, bool apply_modifiers, bool triangulate)
 
Object * bc_get_assigned_armature (Object *ob)
 
bool bc_has_object_type (LinkNode *export_set, short obtype)
 
void bc_bubble_sort_by_Object_name (LinkNode *export_set)
 
bool bc_is_root_bone (Bone *aBone, bool deform_bones_only)
 
int bc_get_active_UVLayer (Object *ob)
 
std::string bc_url_encode (std::string data)
 
std::string bc_replace_string (std::string data, const std::string &pattern, const std::string &replacement)
 
void bc_match_scale (Object *ob, UnitConverter &bc_unit, bool scale_to_scene)
 
void bc_match_scale (std::vector< Object * > *objects_done, UnitConverter &bc_unit, bool scale_to_scene)
 
void bc_decompose (float mat[4][4], float *loc, float eul[3], float quat[4], float *size)
 
void bc_rotate_from_reference_quat (float quat_to[4], float quat_from[4], float mat_to[4][4])
 
void bc_triangulate_mesh (Mesh *me)
 
bool bc_is_leaf_bone (Bone *bone)
 
EditBone * bc_get_edit_bone (bArmature *armature, char *name)
 
int bc_set_layer (int bitfield, int layer)
 
int bc_set_layer (int bitfield, int layer, bool enable)
 
bool isInteger (const std::string &s)
 
void bc_set_IDPropertyMatrix (EditBone *ebone, const char *key, float mat[4][4])
 
IDProperty * bc_get_IDProperty (Bone *bone, std::string key)
 
float bc_get_property (Bone *bone, std::string key, float def)
 
bool bc_get_property_matrix (Bone *bone, std::string key, float mat[4][4])
 
void bc_get_property_vector (Bone *bone, std::string key, float val[3], const float def[3])
 
static bool has_custom_props (Bone *bone, bool enabled, std::string key)
 
void bc_enable_fcurves (bAction *act, char *bone_name)
 
bool bc_bone_matrix_local_get (Object *ob, Bone *bone, Matrix &mat, bool for_opensim)
 
bool bc_is_animated (BCMatrixSampleMap &values)
 
bool bc_has_animations (Object *ob)
 
bool bc_has_animations (Scene *sce, LinkNode *export_set)
 
void bc_add_global_transform (Matrix &to_mat, const Matrix &from_mat, const BCMatrix &global_transform, const bool invert)
 
void bc_add_global_transform (Vector &to_vec, const Vector &from_vec, const BCMatrix &global_transform, const bool invert)
 
void bc_add_global_transform (Matrix &to_mat, const BCMatrix &global_transform, const bool invert)
 
void bc_add_global_transform (Vector &to_vec, const BCMatrix &global_transform, const bool invert)
 
void bc_apply_global_transform (Matrix &to_mat, const BCMatrix &global_transform, const bool invert)
 
void bc_apply_global_transform (Vector &to_vec, const BCMatrix &global_transform, const bool invert)
 
void bc_create_restpose_mat (BCExportSettings &export_settings, Bone *bone, float to_mat[4][4], float from_mat[4][4], bool use_local_space)
 
void bc_sanitize_v3 (float v[3], int precision)
 
void bc_sanitize_v3 (double v[3], int precision)
 
void bc_copy_m4_farray (float r[4][4], float *a)
 
void bc_copy_farray_m4 (float *r, float a[4][4])
 
void bc_copy_darray_m4d (double *r, double a[4][4])
 
void bc_copy_v44_m4d (std::vector< std::vector< double >> &r, double(&a)[4][4])
 
void bc_copy_m4d_v44 (double(&r)[4][4], std::vector< std::vector< double >> &a)
 
static std::string bc_get_active_uvlayer_name (Mesh *me)
 
static std::string bc_get_active_uvlayer_name (Object *ob)
 
static std::string bc_get_uvlayer_name (Mesh *me, int layer)
 
static bNodeTree * prepare_material_nodetree (Material *ma)
 
static bNode * bc_add_node (bContext *C, bNodeTree *ntree, int node_type, int locx, int locy, std::string label)
 
static bNode * bc_add_node (bContext *C, bNodeTree *ntree, int node_type, int locx, int locy)
 
static void bc_node_add_link (bNodeTree *ntree, bNode *from_node, int from_index, bNode *to_node, int to_index)
 
void bc_add_default_shader (bContext *C, Material *ma)
 
COLLADASW::ColorOrTexture bc_get_base_color (Material *ma)
 
COLLADASW::ColorOrTexture bc_get_emission (Material *ma)
 
COLLADASW::ColorOrTexture bc_get_ambient (Material *ma)
 
COLLADASW::ColorOrTexture bc_get_specular (Material *ma)
 
COLLADASW::ColorOrTexture bc_get_reflective (Material *ma)
 
double bc_get_alpha (Material *ma)
 
double bc_get_ior (Material *ma)
 
double bc_get_shininess (Material *ma)
 
double bc_get_reflectivity (Material *ma)
 
bool bc_get_float_from_shader (bNode *shader, double &val, std::string nodeid)
 
COLLADASW::ColorOrTexture bc_get_cot_from_shader (bNode *shader, std::string nodeid, Color &default_color, bool with_alpha)
 
bNode * bc_get_master_shader (Material *ma)
 
COLLADASW::ColorOrTexture bc_get_cot (float r, float g, float b, float a)
 
COLLADASW::ColorOrTexture bc_get_cot (Color col, bool with_alpha)
 

Function Documentation

◆ bc_add_default_shader()

void bc_add_default_shader ( bContext *  C,
Material *  ma 
)

◆ bc_add_global_transform() [1/4]

void bc_add_global_transform ( Matrix &  to_mat,
const BCMatrix &  global_transform,
const bool  invert 
)

Definition at line 925 of file collada_utils.cpp.

References BCMatrix::add_transform(), BCMatrix::get_matrix(), and invert().

◆ bc_add_global_transform() [2/4]

void bc_add_global_transform ( Matrix &  to_mat,
const Matrix &  from_mat,
const BCMatrix &  global_transform,
const bool  invert 
)

◆ bc_add_global_transform() [3/4]

void bc_add_global_transform ( Vector &  to_vec,
const BCMatrix &  global_transform,
const bool  invert 
)

Definition at line 932 of file collada_utils.cpp.

References copy_v3_v3(), BCMatrix::get_matrix(), invert(), and mul_v3_m4v3().

◆ bc_add_global_transform() [4/4]

void bc_add_global_transform ( Vector &  to_vec,
const Vector &  from_vec,
const BCMatrix &  global_transform,
const bool  invert 
)

Definition at line 916 of file collada_utils.cpp.

References bc_add_global_transform(), copy_v3_v3(), and invert().

◆ bc_add_node() [1/2]

static bNode* bc_add_node ( bContext *  C,
bNodeTree *  ntree,
int  node_type,
int  locx,
int  locy 
)
static

Definition at line 1137 of file collada_utils.cpp.

References bc_add_node(), C, and ntree.

◆ bc_add_node() [2/2]

static bNode* bc_add_node ( bContext *  C,
bNodeTree *  ntree,
int  node_type,
int  locx,
int  locy,
std::string  label 
)
static

Definition at line 1122 of file collada_utils.cpp.

References C, label, node, NODE_SELECT, nodeAddStaticNode(), and ntree.

Referenced by bc_add_default_shader(), and bc_add_node().

◆ bc_add_object()

Object* bc_add_object ( Main *  bmain,
Scene *  scene,
ViewLayer *  view_layer,
int  type,
const char *  name 
)

◆ bc_apply_global_transform() [1/2]

void bc_apply_global_transform ( Matrix &  to_mat,
const BCMatrix &  global_transform,
const bool  invert 
)

◆ bc_apply_global_transform() [2/2]

void bc_apply_global_transform ( Vector &  to_vec,
const BCMatrix &  global_transform,
const bool  invert 
)

Definition at line 948 of file collada_utils.cpp.

References BCMatrix::get_matrix(), mul_v3_m4v3(), and transform().

◆ bc_bone_matrix_local_get()

bool bc_bone_matrix_local_get ( Object *  ob,
Bone *  bone,
Matrix &  mat,
bool  for_opensim 
)

◆ bc_bubble_sort_by_Object_name()

void bc_bubble_sort_by_Object_name ( LinkNode *  export_set)

Definition at line 285 of file collada_utils.cpp.

References Freestyle::a, usdtokens::b(), LinkNode::link, LinkNode::next, and node.

Referenced by collada_export().

◆ bc_copy_darray_m4d()

void bc_copy_darray_m4d ( double *  r,
double  a[4][4] 
)

Definition at line 1046 of file collada_utils.cpp.

References Freestyle::a, and r.

◆ bc_copy_farray_m4()

void bc_copy_farray_m4 ( float *  r,
float  a[4][4] 
)

Definition at line 1037 of file collada_utils.cpp.

References Freestyle::a, and r.

◆ bc_copy_m4_farray()

void bc_copy_m4_farray ( float  r[4][4],
float *  a 
)

Definition at line 1028 of file collada_utils.cpp.

References Freestyle::a, and r.

◆ bc_copy_m4d_v44()

void bc_copy_m4d_v44 ( double(&)  r[4][4],
std::vector< std::vector< double >> &  a 
)

Definition at line 1064 of file collada_utils.cpp.

References Freestyle::a, and r.

◆ bc_copy_v44_m4d()

void bc_copy_v44_m4d ( std::vector< std::vector< double >> &  r,
double(&)  a[4][4] 
)

Definition at line 1055 of file collada_utils.cpp.

References Freestyle::a, and r.

◆ bc_create_restpose_mat()

void bc_create_restpose_mat ( BCExportSettings &  export_settings,
Bone *  bone,
float  to_mat[4][4],
float  from_mat[4][4],
bool  use_local_space 
)

Check if custom information about bind matrix exists and modify the from_mat accordingly.

Note
This is old style for Blender <= 2.78 only kept for compatibility.

Definition at line 955 of file collada_utils.cpp.

References usdtokens::b(), bc_decompose(), bc_get_IDProperty(), bc_get_property(), bc_get_property_vector(), copy_m4_m4(), DEG2RADF, has_custom_props(), loc_eulO_size_to_mat4(), Bone::parent, and rot.

◆ bc_decompose()

void bc_decompose ( float  mat[4][4],
float *  loc,
float  eul[3],
float  quat[4],
float *  size 
)

Convenience function to get only the needed components of a matrix.

Definition at line 372 of file collada_utils.cpp.

References copy_v3_v3(), mat4_to_eul(), mat4_to_quat(), mat4_to_size(), and size().

Referenced by TransformWriter::add_joint_transform(), TransformWriter::add_node_transform_ob(), and bc_create_restpose_mat().

◆ bc_enable_fcurves()

void bc_enable_fcurves ( bAction *  act,
char *  bone_name 
)

◆ bc_get_action_id()

std::string bc_get_action_id ( std::string  action_name,
std::string  ob_name,
std::string  channel_type,
std::string  axis_name,
std::string  axis_separator 
)

◆ bc_get_active_UVLayer()

int bc_get_active_UVLayer ( Object *  ob)

◆ bc_get_active_uvlayer_name() [1/2]

static std::string bc_get_active_uvlayer_name ( Mesh *  me)
static

Returns name of Active UV Layer or empty String if no active UV Layer defined

Definition at line 1076 of file collada_utils.cpp.

References bc_CustomData_get_active_layer_name(), CD_MLOOPUV, CustomData_number_of_layers(), and Mesh::ldata.

Referenced by bc_get_active_uvlayer_name().

◆ bc_get_active_uvlayer_name() [2/2]

static std::string bc_get_active_uvlayer_name ( Object *  ob)
static

Returns name of Active UV Layer or empty String if no active UV Layer defined. Assuming the Object is of type MESH

Definition at line 1092 of file collada_utils.cpp.

References bc_get_active_uvlayer_name(), and Object::data.

◆ bc_get_alpha()

double bc_get_alpha ( Material *  ma)

◆ bc_get_ambient()

COLLADASW::ColorOrTexture bc_get_ambient ( Material *  ma)

Definition at line 1283 of file collada_utils.cpp.

References bc_get_cot(), and Color.

◆ bc_get_assigned_armature()

Object* bc_get_assigned_armature ( Object *  ob)

◆ bc_get_base_color()

COLLADASW::ColorOrTexture bc_get_base_color ( Material *  ma)

◆ bc_get_cot() [1/2]

COLLADASW::ColorOrTexture bc_get_cot ( Color  col,
bool  with_alpha 
)

Definition at line 1387 of file collada_utils.cpp.

References col, color, and Color.

◆ bc_get_cot() [2/2]

COLLADASW::ColorOrTexture bc_get_cot ( float  r,
float  g,
float  b,
float  a 
)

◆ bc_get_cot_from_shader()

COLLADASW::ColorOrTexture bc_get_cot_from_shader ( bNode *  shader,
std::string  nodeid,
Color &  default_color,
bool  with_alpha 
)

◆ bc_get_edit_bone()

EditBone* bc_get_edit_bone ( bArmature *  armature,
char *  name 
)

Definition at line 440 of file collada_utils.cpp.

References bArmature::edbo, ListBase::first, EditBone::name, EditBone::next, and STREQ.

◆ bc_get_emission()

COLLADASW::ColorOrTexture bc_get_emission ( Material *  ma)

◆ bc_get_float_from_shader()

bool bc_get_float_from_shader ( bNode *  shader,
double &  val,
std::string  nodeid 
)

◆ bc_get_float_value()

float bc_get_float_value ( const COLLADAFW::FloatOrDoubleArray &  array,
unsigned int  index 
)

Definition at line 70 of file collada_utils.cpp.

Referenced by SkinInfo::borrow_skin_controller_data().

◆ bc_get_IDProperty()

IDProperty* bc_get_IDProperty ( Bone *  bone,
std::string  key 
)

Get a custom property when it exists. This function is also used to check if a property exists.

Definition at line 705 of file collada_utils.cpp.

References IDP_GetPropertyFromGroup(), and Bone::prop.

Referenced by bc_create_restpose_mat(), bc_get_property(), bc_get_property_matrix(), and has_custom_props().

◆ bc_get_ior()

double bc_get_ior ( Material *  ma)

◆ bc_get_master_shader()

bNode* bc_get_master_shader ( Material *  ma)

◆ bc_get_mesh_copy()

Mesh* bc_get_mesh_copy ( BlenderContext &  blender_context,
Object *  ob,
BC_export_mesh_type  export_mesh_type,
bool  apply_modifiers,
bool  triangulate 
)

◆ bc_get_property()

float bc_get_property ( Bone *  bone,
std::string  key,
float  def 
)

Read a custom bone property and convert to float Return def if the property does not exist.

Definition at line 710 of file collada_utils.cpp.

References bc_get_IDProperty(), float(), IDP_Double, IDP_DOUBLE, IDP_Float, IDP_FLOAT, IDP_Int, IDP_INT, and result.

Referenced by bc_create_restpose_mat(), and bc_get_property_vector().

◆ bc_get_property_matrix()

bool bc_get_property_matrix ( Bone *  bone,
std::string  key,
float  mat[4][4] 
)

Read a custom bone property and convert to matrix Return true if conversion was successful

Return false if:

  • the property does not exist
  • is not an array of size 16

Definition at line 732 of file collada_utils.cpp.

References bc_get_IDProperty(), IDP_Array, and IDP_ARRAY.

◆ bc_get_property_vector()

void bc_get_property_vector ( Bone *  bone,
std::string  key,
float  val[3],
const float  def[3] 
)

Get a vector that is stored in 3 custom properties (used in Blender <= 2.78).

Definition at line 747 of file collada_utils.cpp.

References bc_get_property().

Referenced by bc_create_restpose_mat().

◆ bc_get_reflective()

COLLADASW::ColorOrTexture bc_get_reflective ( Material *  ma)

Definition at line 1295 of file collada_utils.cpp.

References bc_get_cot(), and Color.

◆ bc_get_reflectivity()

double bc_get_reflectivity ( Material *  ma)

◆ bc_get_shininess()

double bc_get_shininess ( Material *  ma)

◆ bc_get_specular()

COLLADASW::ColorOrTexture bc_get_specular ( Material *  ma)

Definition at line 1289 of file collada_utils.cpp.

References bc_get_cot(), and Color.

◆ bc_get_uvlayer_name()

static std::string bc_get_uvlayer_name ( Mesh *  me,
int  layer 
)
static

Returns UV Layer name or empty string if layer index is out of range

Definition at line 1101 of file collada_utils.cpp.

References bc_CustomData_get_layer_name(), CD_MLOOPUV, CustomData_number_of_layers(), and Mesh::ldata.

◆ bc_getSceneActions()

std::vector<bAction *> bc_getSceneActions ( const bContext *  C,
Object *  ob,
bool  all_actions 
)

◆ bc_has_animations() [1/2]

bool bc_has_animations ( Object *  ob)

◆ bc_has_animations() [2/2]

bool bc_has_animations ( Scene *  sce,
LinkNode *  export_set 
)

Definition at line 892 of file collada_utils.cpp.

References bc_has_animations(), if(), and node.

◆ bc_has_object_type()

bool bc_has_object_type ( LinkNode *  export_set,
short  obtype 
)

Definition at line 271 of file collada_utils.cpp.

References Object::data, if(), node, and Object::type.

Referenced by DocumentExporter::exportCurrentScene().

◆ bc_is_animated()

bool bc_is_animated ( BCMatrixSampleMap &  values)

◆ bc_is_leaf_bone()

bool bc_is_leaf_bone ( Bone *  bone)

A bone is a leaf when it has no children or all children are not connected.

Definition at line 430 of file collada_utils.cpp.

References BONE_CONNECTED, Bone::childbase, and ListBase::first.

◆ bc_is_root_bone()

bool bc_is_root_bone ( Bone *  aBone,
bool  deform_bones_only 
)

Check if a bone is the top most exportable bone in the bone hierarchy. When deform_bones_only == false, then only bones with NO parent can be root bones. Otherwise the top most deform bones in the hierarchy are root bones.

Definition at line 309 of file collada_utils.cpp.

References BONE_NO_DEFORM, Bone::flag, and Bone::parent.

◆ bc_match_scale() [1/2]

void bc_match_scale ( Object *  ob,
UnitConverter &  bc_unit,
bool  scale_to_scene 
)

Calculate a rescale factor such that the imported scene's scale is preserved. I.e. 1 meter in the import will also be 1 meter in the current scene.

Definition at line 352 of file collada_utils.cpp.

References BKE_object_apply_mat4(), UnitConverter::get_rotation(), UnitConverter::get_scale(), mul_m4_m4m4(), and Object::obmat.

Referenced by bc_match_scale(), and DocumentImporter::finish().

◆ bc_match_scale() [2/2]

void bc_match_scale ( std::vector< Object * > *  objects_done,
UnitConverter &  bc_unit,
bool  scale_to_scene 
)

Definition at line 361 of file collada_utils.cpp.

References bc_match_scale().

◆ bc_node_add_link()

static void bc_node_add_link ( bNodeTree *  ntree,
bNode *  from_node,
int  from_index,
bNode *  to_node,
int  to_index 
)
static

Definition at line 1202 of file collada_utils.cpp.

References BLI_findlink(), bNode::inputs, nodeAddLink(), ntree, and bNode::outputs.

Referenced by bc_add_default_shader().

◆ bc_replace_string()

std::string bc_replace_string ( std::string  data,
const std::string &  pattern,
const std::string &  replacement 
)

Definition at line 340 of file collada_utils.cpp.

References data, and pos.

Referenced by bc_url_encode().

◆ bc_rotate_from_reference_quat()

void bc_rotate_from_reference_quat ( float  quat_to[4],
float  quat_from[4],
float  mat_to[4][4] 
)

Create rotation_quaternion from a delta rotation and a reference quat

Input: mat_from: The rotation matrix before rotation mat_to : The rotation matrix after rotation qref : the quat corresponding to mat_from

Output: rot : the calculated result (quaternion).

Definition at line 391 of file collada_utils.cpp.

References invert_m4_m4(), mat4_to_quat(), mul_m4_m4m4(), mul_qt_qtqt(), and quat_to_mat4().

◆ bc_sanitize_v3() [1/2]

void bc_sanitize_v3 ( double  v[3],
int  precision 
)

Definition at line 1021 of file collada_utils.cpp.

References double_round(), and v.

◆ bc_sanitize_v3() [2/2]

void bc_sanitize_v3 ( float  v[3],
int  precision 
)

Definition at line 1012 of file collada_utils.cpp.

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

Referenced by TransformWriter::add_node_transform_ob().

◆ bc_set_IDPropertyMatrix()

void bc_set_IDPropertyMatrix ( EditBone *  ebone,
const char *  key,
float  mat[4][4] 
)

Stores a 4*4 matrix as a custom bone property array of size 16.

Definition at line 660 of file collada_utils.cpp.

References IDPropertyTemplate::array, data, IDP_AddToGroup(), IDP_Array, IDP_ARRAY, IDP_FLOAT, IDP_GROUP, IDP_New(), if(), IDPropertyTemplate::len, EditBone::prop, and IDPropertyTemplate::type.

◆ bc_set_layer() [1/2]

int bc_set_layer ( int  bitfield,
int  layer 
)

Definition at line 452 of file collada_utils.cpp.

Referenced by BoneExtended::set_bone_layers().

◆ bc_set_layer() [2/2]

int bc_set_layer ( int  bitfield,
int  layer,
bool  enable 
)

Definition at line 457 of file collada_utils.cpp.

◆ bc_set_parent()

bool bc_set_parent ( Object *  ob,
Object *  par,
bContext *  C,
bool  is_parent_space 
)

◆ bc_test_parent_loop()

int bc_test_parent_loop ( Object *  par,
Object *  ob 
)

Definition at line 83 of file collada_utils.cpp.

References Object::parent.

◆ bc_triangulate_mesh()

void bc_triangulate_mesh ( Mesh *  me)

◆ bc_update_scene()

void bc_update_scene ( BlenderContext &  blender_context,
float  ctime 
)

◆ bc_url_encode()

std::string bc_url_encode ( std::string  data)

Definition at line 332 of file collada_utils.cpp.

References bc_replace_string(), and data.

Referenced by DocumentImporter::import().

◆ bc_validateConstraints()

bool bc_validateConstraints ( bConstraint *  con)

◆ has_custom_props()

static bool has_custom_props ( Bone *  bone,
bool  enabled,
std::string  key 
)
static

Check if vector exist stored in 3 custom properties (used in Blender <= 2.78)

Definition at line 757 of file collada_utils.cpp.

References bc_get_IDProperty(), and enabled.

Referenced by bc_create_restpose_mat().

◆ isInteger()

bool isInteger ( const std::string &  s)
inline

Definition at line 580 of file collada_utils.cpp.

Referenced by BoneExtended::set_bone_layers().

◆ prepare_material_nodetree()

static bNodeTree* prepare_material_nodetree ( Material *  ma)
static

Definition at line 1113 of file collada_utils.cpp.

References Material::nodetree, ntreeAddTree(), and Material::use_nodes.

Referenced by bc_add_default_shader().