|
Blender V4.5
|
#include "COLLADAFWMeshVertexData.h"#include "COLLADAFWNode.h"#include <set>#include <string>#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_matrix.h"#include "BLI_string.h"#include "BKE_action.hh"#include "BKE_armature.hh"#include "BKE_constraint.h"#include "BKE_context.hh"#include "BKE_customdata.hh"#include "BKE_global.hh"#include "BKE_idprop.hh"#include "BKE_key.hh"#include "BKE_layer.hh"#include "BKE_lib_id.hh"#include "BKE_material.hh"#include "BKE_mesh.hh"#include "BKE_mesh_legacy_convert.hh"#include "BKE_mesh_runtime.hh"#include "BKE_mesh_wrapper.hh"#include "BKE_node.hh"#include "BKE_node_legacy_types.hh"#include "BKE_node_runtime.hh"#include "BKE_object.hh"#include "BKE_scene.hh"#include "ANIM_action.hh"#include "ANIM_action_legacy.hh"#include "ANIM_bone_collections.hh"#include "ED_node.hh"#include "ED_object.hh"#include "ED_screen.hh"#include "WM_api.hh"#include "WM_types.hh"#include "bmesh.hh"#include "bmesh_tools.hh"#include "DEG_depsgraph.hh"#include "DEG_depsgraph_query.hh"#include "BlenderContext.h"#include "ExportSettings.h"#include "ExtraTags.h"#include "collada_utils.h"Go to the source code of this file.
Functions | |
| float | bc_get_float_value (const COLLADAFW::FloatOrDoubleArray &array, uint 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 (const std::string &action_name, const std::string &ob_name, const std::string &channel_type, const std::string &axis_name, const 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) |
| static void | bc_add_armature_collections (COLLADAFW::Node *node, ExtraTags *node_extra_tags, bArmature *arm) |
| Object * | bc_add_armature (COLLADAFW::Node *node, ExtraTags *node_extra_tags, 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 (const 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 *mesh) |
| bool | bc_is_leaf_bone (Bone *bone) |
| EditBone * | bc_get_edit_bone (bArmature *armature, const 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, const std::string &key) |
| float | bc_get_property (Bone *bone, const std::string &key, float def) |
| bool | bc_get_property_matrix (Bone *bone, const std::string &key, float mat[4][4]) |
| void | bc_get_property_vector (Bone *bone, const std::string &key, float val[3], const float def[3]) |
| static bool | has_custom_props (Bone *bone, bool enabled, const std::string &key) |
| void | bc_enable_fcurves (AnimData *adt, const 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 *mesh) |
| static std::string | bc_get_active_uvlayer_name (Object *ob) |
| static std::string | bc_get_uvlayer_name (Mesh *mesh, 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, const 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, const 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 (const Color col, bool with_alpha) |
| Object * bc_add_armature | ( | COLLADAFW::Node * | node, |
| ExtraTags * | node_extra_tags, | ||
| Main * | bmain, | ||
| Scene * | scene, | ||
| ViewLayer * | view_layer, | ||
| int | type, | ||
| const char * | name ) |
Definition at line 240 of file collada_utils.cpp.
References bc_add_armature_collections(), bc_add_object(), and Object::data.
Referenced by DocumentImporter::write_node().
|
static |
Definition at line 213 of file collada_utils.cpp.
References ANIM_armature_bonecoll_active_name_set(), ANIM_armature_bonecoll_new(), ANIM_bonecoll_hide(), ANIM_bonecoll_show(), ExtraTags::dataSplitString(), and ExtraTags::setData().
Referenced by bc_add_armature().
Definition at line 1136 of file collada_utils.cpp.
References bc_add_node(), bc_node_add_link(), C, NODE_SELECT, prepare_material_nodetree(), SH_NODE_ADD_SHADER, SH_NODE_BSDF_PRINCIPLED, SH_NODE_BSDF_TRANSPARENT, SH_NODE_EMISSION, SH_NODE_MIX_SHADER, and SH_NODE_OUTPUT_MATERIAL.
| void bc_add_global_transform | ( | Matrix & | to_mat, |
| const BCMatrix & | global_transform, | ||
| const bool | invert ) |
Definition at line 906 of file collada_utils.cpp.
References BCMatrix::add_transform(), BCMatrix::get_matrix(), and invert().
| void bc_add_global_transform | ( | Matrix & | to_mat, |
| const Matrix & | from_mat, | ||
| const BCMatrix & | global_transform, | ||
| const bool | invert ) |
Definition at line 888 of file collada_utils.cpp.
References bc_add_global_transform(), copy_m4_m4(), and invert().
Referenced by TransformWriter::add_node_transform_ob(), bc_add_global_transform(), bc_add_global_transform(), GeometryExporter::createNormalsSource(), and GeometryExporter::createVertsSource().
| void bc_add_global_transform | ( | Vector & | to_vec, |
| const BCMatrix & | global_transform, | ||
| const bool | invert ) |
Definition at line 913 of file collada_utils.cpp.
References copy_v3_v3(), BCMatrix::get_matrix(), invert(), and mul_v3_m4v3().
| void bc_add_global_transform | ( | Vector & | to_vec, |
| const Vector & | from_vec, | ||
| const BCMatrix & | global_transform, | ||
| const bool | invert ) |
Definition at line 897 of file collada_utils.cpp.
References bc_add_global_transform(), copy_v3_v3(), and invert().
Definition at line 1122 of file collada_utils.cpp.
References bc_add_node(), and C.
|
static |
Definition at line 1107 of file collada_utils.cpp.
References C, bNode::flag, bNode::label, bNode::location, blender::bke::node_add_static_node(), NODE_SELECT, and STRNCPY().
Referenced by bc_add_default_shader(), and bc_add_node().
| Object * bc_add_object | ( | Main * | bmain, |
| Scene * | scene, | ||
| ViewLayer * | view_layer, | ||
| int | type, | ||
| const char * | name ) |
Definition at line 195 of file collada_utils.cpp.
References BKE_collection_object_add(), BKE_layer_collection_get_active(), BKE_object_add_only_object(), BKE_object_obdata_add_from_type(), BKE_view_layer_base_find(), BKE_view_layer_base_select_and_set_active(), BKE_view_layer_synced_ensure(), LayerCollection::collection, Object::data, DEG_id_tag_update(), Object::id, ID_RECALC_ANIMATION, ID_RECALC_GEOMETRY, and ID_RECALC_TRANSFORM.
Referenced by bc_add_armature(), SkinInfo::create_armature(), DocumentImporter::create_camera_object(), DocumentImporter::create_light_object(), MeshImporter::create_mesh_object(), and DocumentImporter::write_node().
| void bc_apply_global_transform | ( | Matrix & | to_mat, |
| const BCMatrix & | global_transform, | ||
| const bool | invert ) |
Definition at line 922 of file collada_utils.cpp.
References BCMatrix::apply_transform(), BCMatrix::get_matrix(), and invert().
Referenced by TransformWriter::add_joint_transform(), and TransformWriter::add_node_transform_ob().
| void bc_apply_global_transform | ( | Vector & | to_vec, |
| const BCMatrix & | global_transform, | ||
| const bool | invert ) |
Definition at line 929 of file collada_utils.cpp.
References BCMatrix::get_matrix(), invert(), mul_v3_m4v3(), and transform().
Definition at line 774 of file collada_utils.cpp.
References Object::adt, Bone::arm_mat, bc_enable_fcurves(), BKE_pose_channel_find_name(), copy_m4_m4(), invert_m4(), invert_m4_m4(), mul_m4_m4m4(), Bone::name, Bone::parent, bPoseChannel::parent, Object::pose, and bPoseChannel::pose_mat.
| void bc_bubble_sort_by_Object_name | ( | LinkNode * | export_set | ) |
Definition at line 327 of file collada_utils.cpp.
References b, Object::id, LinkNode::link, ID::name, and LinkNode::next.
Referenced by collada_export().
| void bc_copy_darray_m4d | ( | double * | r, |
| double | a[4][4] ) |
Definition at line 1028 of file collada_utils.cpp.
References i.
| void bc_copy_farray_m4 | ( | float * | r, |
| float | a[4][4] ) |
Definition at line 1019 of file collada_utils.cpp.
References i.
| void bc_copy_m4_farray | ( | float | r[4][4], |
| float * | a ) |
Definition at line 1010 of file collada_utils.cpp.
References i.
| void bc_copy_m4d_v44 | ( | double(&) | r[4][4], |
| std::vector< std::vector< double > > & | a ) |
Definition at line 1046 of file collada_utils.cpp.
References i.
| void bc_copy_v44_m4d | ( | std::vector< std::vector< double > > & | r, |
| double(&) | a[4][4] ) |
Definition at line 1037 of file collada_utils.cpp.
References i.
| 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.
Definition at line 936 of file collada_utils.cpp.
References 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.
| 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 416 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().
| void bc_enable_fcurves | ( | AnimData * | adt, |
| const char * | bone_name ) |
Definition at line 745 of file collada_utils.cpp.
References BLI_str_escape(), FCURVE_DISABLED, blender::animrig::legacy::fcurves_for_assigned_action(), Bone::name, SNPRINTF, and STREQLEN.
Referenced by bc_bone_matrix_local_get().
| std::string bc_get_action_id | ( | const std::string & | action_name, |
| const std::string & | ob_name, | ||
| const std::string & | channel_type, | ||
| const std::string & | axis_name, | ||
| const std::string & | axis_separator ) |
Definition at line 167 of file collada_utils.cpp.
References result, and translate_id().
Referenced by AnimationExporter::export_bone_animation(), AnimationExporter::export_curve_animation(), and AnimationExporter::export_matrix_animation().
| int bc_get_active_UVLayer | ( | Object * | ob | ) |
Definition at line 368 of file collada_utils.cpp.
References CD_PROP_FLOAT2, Mesh::corner_data, CustomData_get_active_layer_index(), and Object::data.
|
static |
Returns name of Active UV Layer or empty String if no active UV Layer defined
Definition at line 1058 of file collada_utils.cpp.
References bc_CustomData_get_active_layer_name(), CD_PROP_FLOAT2, Mesh::corner_data, and CustomData_number_of_layers().
Referenced by bc_get_active_uvlayer_name().
|
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 1075 of file collada_utils.cpp.
References bc_get_active_uvlayer_name(), and Object::data.
| double bc_get_alpha | ( | Material * | ma | ) |
Definition at line 1226 of file collada_utils.cpp.
References Material::a, bc_get_float_from_shader(), bc_get_master_shader(), and Material::use_nodes.
| COLLADASW::ColorOrTexture bc_get_ambient | ( | Material * | ma | ) |
Definition at line 1208 of file collada_utils.cpp.
References bc_get_cot().
Definition at line 295 of file collada_utils.cpp.
References eModifierType_Armature, LISTBASE_FOREACH, mod, Object::modifiers, OB_ARMATURE, Object::parent, PARSKEL, Object::partype, and Object::type.
Referenced by ArmatureExporter::add_instance_controller(), ControllerExporter::add_instance_controller(), ControllerExporter::is_skinned_mesh(), and ControllerExporter::operator()().
| COLLADASW::ColorOrTexture bc_get_base_color | ( | Material * | ma | ) |
Definition at line 1164 of file collada_utils.cpp.
References Material::b, bc_get_cot(), bc_get_cot_from_shader(), bc_get_master_shader(), Material::g, Material::r, and Material::use_nodes.
| COLLADASW::ColorOrTexture bc_get_cot | ( | const Color | col, |
| bool | with_alpha ) |
Definition at line 1312 of file collada_utils.cpp.
References col.
| COLLADASW::ColorOrTexture bc_get_cot | ( | float | r, |
| float | g, | ||
| float | b, | ||
| float | a ) |
Definition at line 1305 of file collada_utils.cpp.
References b.
Referenced by bc_get_ambient(), bc_get_base_color(), bc_get_cot_from_shader(), bc_get_emission(), bc_get_reflective(), and bc_get_specular().
| COLLADASW::ColorOrTexture bc_get_cot_from_shader | ( | bNode * | shader, |
| std::string | nodeid, | ||
| const Color & | default_color, | ||
| bool | with_alpha ) |
Definition at line 1277 of file collada_utils.cpp.
References bc_get_cot(), col, bNodeSocket::default_value, blender::bke::node_find_socket(), SOCK_IN, and bNodeSocketValueRGBA::value.
Referenced by bc_get_base_color(), and bc_get_emission().
Definition at line 484 of file collada_utils.cpp.
References bArmature::edbo, LISTBASE_FOREACH, and STREQ.
| COLLADASW::ColorOrTexture bc_get_emission | ( | Material * | ma | ) |
Definition at line 1176 of file collada_utils.cpp.
References bc_get_cot(), bc_get_cot_from_shader(), bc_get_float_from_shader(), bc_get_master_shader(), col, mul_v3db_db(), and Material::use_nodes.
| bool bc_get_float_from_shader | ( | bNode * | shader, |
| double & | val, | ||
| std::string | nodeid ) |
Definition at line 1266 of file collada_utils.cpp.
References bNodeSocket::default_value, blender::bke::node_find_socket(), SOCK_IN, and bNodeSocketValueFloat::value.
Referenced by bc_get_alpha(), bc_get_emission(), bc_get_ior(), bc_get_reflectivity(), and bc_get_shininess().
| float bc_get_float_value | ( | const COLLADAFW::FloatOrDoubleArray & | array, |
| uint | index ) |
Definition at line 72 of file collada_utils.cpp.
Referenced by SkinInfo::borrow_skin_controller_data().
| IDProperty * bc_get_IDProperty | ( | Bone * | bone, |
| const std::string & | key ) |
Get a custom property when it exists. This function is also used to check if a property exists.
Definition at line 680 of file collada_utils.cpp.
References IDP_GetPropertyFromGroup(), nullptr, and Bone::prop.
Referenced by bc_create_restpose_mat(), bc_get_property(), bc_get_property_matrix(), and has_custom_props().
| double bc_get_ior | ( | Material * | ma | ) |
Definition at line 1236 of file collada_utils.cpp.
References bc_get_float_from_shader(), bc_get_master_shader(), and Material::use_nodes.
Definition at line 1292 of file collada_utils.cpp.
References Material::nodetree, and SH_NODE_BSDF_PRINCIPLED.
Referenced by bc_get_alpha(), bc_get_base_color(), bc_get_emission(), bc_get_ior(), bc_get_reflectivity(), and bc_get_shininess().
| Mesh * bc_get_mesh_copy | ( | BlenderContext & | blender_context, |
| Object * | ob, | ||
| BC_export_mesh_type | export_mesh_type, | ||
| bool | apply_modifiers, | ||
| bool | triangulate ) |
Definition at line 253 of file collada_utils.cpp.
References BC_MESH_TYPE_RENDER, BC_MESH_TYPE_VIEW, bc_triangulate_mesh(), BKE_mesh_copy_for_eval(), BKE_mesh_tessface_ensure(), BKE_mesh_wrapper_ensure_mdata(), BKE_object_get_evaluated_mesh(), Object::data, DEG_get_evaluated(), depsgraph, BlenderContext::get_depsgraph(), and mask().
Referenced by GeometryExporter::operator()().
| float bc_get_property | ( | Bone * | bone, |
| const 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 685 of file collada_utils.cpp.
References bc_get_IDProperty(), IDP_Bool, IDP_BOOLEAN, 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().
| bool bc_get_property_matrix | ( | Bone * | bone, |
| const 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:
Definition at line 710 of file collada_utils.cpp.
References bc_get_IDProperty(), i, IDP_ARRAY, and IDP_Array.
| void bc_get_property_vector | ( | Bone * | bone, |
| const 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 725 of file collada_utils.cpp.
References bc_get_property().
Referenced by bc_create_restpose_mat().
| COLLADASW::ColorOrTexture bc_get_reflective | ( | Material * | ma | ) |
Definition at line 1220 of file collada_utils.cpp.
References bc_get_cot().
| double bc_get_reflectivity | ( | Material * | ma | ) |
Definition at line 1256 of file collada_utils.cpp.
References bc_get_float_from_shader(), bc_get_master_shader(), Material::spec, and Material::use_nodes.
| double bc_get_shininess | ( | Material * | ma | ) |
Definition at line 1246 of file collada_utils.cpp.
References bc_get_float_from_shader(), bc_get_master_shader(), and Material::use_nodes.
| COLLADASW::ColorOrTexture bc_get_specular | ( | Material * | ma | ) |
Definition at line 1214 of file collada_utils.cpp.
References bc_get_cot().
|
static |
Returns UV Layer name or empty string if layer index is out of range
Definition at line 1084 of file collada_utils.cpp.
References bc_CustomData_get_layer_name(), CD_PROP_FLOAT2, Mesh::corner_data, and CustomData_number_of_layers().
Definition at line 145 of file collada_utils.cpp.
References Main::actions, bc_getSceneObjectAction(), C, CTX_data_main(), ListBase::first, and ID::next.
| bool bc_has_animations | ( | Object * | ob | ) |
Definition at line 844 of file collada_utils.cpp.
References Key::adt, Object::adt, blender::animrig::legacy::assigned_action_has_keyframes(), bc_getSceneCameraAnimData(), bc_getSceneLightAnimData(), bc_getSceneMaterialAnimData(), BKE_key_from_object(), BKE_object_material_get(), and Object::totcol.
Referenced by bc_has_animations(), AnimationExporter::exportAnimations(), and BCAnimationSampler::get_animated_from_export_set().
Definition at line 873 of file collada_utils.cpp.
References bc_has_animations(), LinkNode::link, and LinkNode::next.
| bool bc_has_object_type | ( | LinkNode * | export_set, |
| short | obtype ) |
Definition at line 313 of file collada_utils.cpp.
References Object::data, LinkNode::link, LinkNode::next, and Object::type.
Referenced by DocumentExporter::exportCurrentScene().
| bool bc_is_animated | ( | BCMatrixSampleMap & | values | ) |
Definition at line 819 of file collada_utils.cpp.
References BCMatrix::in_range().
Referenced by BCAnimationSampler::get_bone_samples(), and BCAnimationSampler::get_object_samples().
| 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 474 of file collada_utils.cpp.
References BONE_CONNECTED, Bone::childbase, and LISTBASE_FOREACH.
| 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 351 of file collada_utils.cpp.
References BONE_NO_DEFORM, Bone::flag, and Bone::parent.
| void bc_match_scale | ( | Object * | ob, |
| UnitConverter & | bc_unit, | ||
| bool | scale_to_scene ) |
Calculate a re-scale 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 394 of file collada_utils.cpp.
References BKE_object_apply_mat4(), UnitConverter::get_rotation(), UnitConverter::get_scale(), mul_m4_m4m4(), and Object::runtime.
Referenced by bc_match_scale(), and DocumentImporter::finish().
| void bc_match_scale | ( | std::vector< Object * > * | objects_done, |
| UnitConverter & | bc_unit, | ||
| bool | scale_to_scene ) |
Definition at line 405 of file collada_utils.cpp.
References bc_match_scale().
|
static |
Definition at line 1127 of file collada_utils.cpp.
References BLI_findlink(), bNode::inputs, blender::bke::node_add_link(), and bNode::outputs.
Referenced by bc_add_default_shader().
| std::string bc_replace_string | ( | std::string | data, |
| const std::string & | pattern, | ||
| const std::string & | replacement ) |
Definition at line 382 of file collada_utils.cpp.
Referenced by bc_url_encode().
| 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 435 of file collada_utils.cpp.
References invert_m4_m4(), mat4_to_quat(), mul_m4_m4m4(), mul_qt_qtqt(), and quat_to_mat4().
| void bc_sanitize_v3 | ( | double | v[3], |
| int | precision ) |
Definition at line 1003 of file collada_utils.cpp.
References double_round(), i, and v.
| void bc_sanitize_v3 | ( | float | v[3], |
| int | precision ) |
Definition at line 994 of file collada_utils.cpp.
References double_round(), i, and v.
Referenced by TransformWriter::add_node_transform_ob().
| 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 647 of file collada_utils.cpp.
References blender::bke::idprop::create(), blender::bke::idprop::create_group(), data, IDP_AddToGroup(), and EditBone::prop.
| int bc_set_layer | ( | int | bitfield, |
| int | layer ) |
Definition at line 494 of file collada_utils.cpp.
References bc_set_layer().
Referenced by bc_set_layer().
| int bc_set_layer | ( | int | bitfield, |
| int | layer, | ||
| bool | enable ) |
Definition at line 499 of file collada_utils.cpp.
Definition at line 127 of file collada_utils.cpp.
References C, CTX_data_scene(), mul_m4_m4m4(), blender::ed::object::PAR_OBJECT, blender::ed::object::parent_set(), and Object::runtime.
Referenced by DocumentImporter::create_instance_node(), SkinInfo::link_armature(), and ArmatureImporter::make_armatures().
Definition at line 85 of file collada_utils.cpp.
References bc_test_parent_loop(), and Object::parent.
Referenced by bc_test_parent_loop().
| void bc_triangulate_mesh | ( | Mesh * | mesh | ) |
Definition at line 452 of file collada_utils.cpp.
References bm, bm_mesh_allocsize_default, BM_mesh_bm_from_me(), BM_mesh_bm_to_me(), BM_mesh_create(), BM_mesh_free(), BM_mesh_triangulate(), BMeshFromMeshParams::calc_face_normal, BMeshToMeshParams::calc_object_remap, BMeshFromMeshParams::calc_vert_normal, and MOD_TRIANGULATE_QUAD_SHORTEDGE.
Referenced by bc_get_mesh_copy().
| void bc_update_scene | ( | BlenderContext & | blender_context, |
| float | ctime ) |
Definition at line 183 of file collada_utils.cpp.
References BKE_scene_frame_set(), depsgraph, ED_update_for_newframe(), BlenderContext::get_depsgraph(), BlenderContext::get_main(), and BlenderContext::get_scene().
Referenced by BCAnimationSampler::sample_scene().
| std::string bc_url_encode | ( | const std::string & | data | ) |
Definition at line 374 of file collada_utils.cpp.
References bc_replace_string(), and data.
Referenced by DocumentImporter::import().
| bool bc_validateConstraints | ( | bConstraint * | con | ) |
Definition at line 101 of file collada_utils.cpp.
References BKE_constraint_typeinfo_get(), CONSTRAINT_DISABLE, CONSTRAINT_OFF, bConstraint::enforce, bConstraintTypeInfo::evaluate_constraint, and bConstraint::flag.
Referenced by BCAnimationSampler::is_animated_by_constraint().
|
static |
Check if vector exist stored in 3 custom properties (used in Blender <= 2.78)
Definition at line 735 of file collada_utils.cpp.
References bc_get_IDProperty(), and enabled.
Referenced by bc_create_restpose_mat().
|
inline |
Definition at line 616 of file collada_utils.cpp.
Definition at line 1097 of file collada_utils.cpp.
References Material::id, blender::bke::node_tree_add_tree_embedded(), Material::nodetree, and Material::use_nodes.
Referenced by bc_add_default_shader().