|
Blender V4.3
|
#include "COLLADABUPlatform.h"#include "COLLADAFWGeometry.h"#include "COLLADAFWMeshPrimitive.h"#include "COLLADAFWMeshVertexData.h"#include "COLLADAFWNode.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_matrix.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_key.hh"#include "BKE_layer.hh"#include "BKE_lib_id.hh"#include "BKE_material.h"#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_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 (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) |
| 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 (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, 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 (AnimData *adt, 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, 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) |
| 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 246 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 219 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 1147 of file collada_utils.cpp.
References bc_add_node(), bc_node_add_link(), prepare_material_nodetree(), and SH_NODE_OUTPUT_MATERIAL.
| void bc_add_global_transform | ( | Matrix & | to_mat, |
| const BCMatrix & | global_transform, | ||
| const bool | invert ) |
Definition at line 917 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 899 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 924 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 908 of file collada_utils.cpp.
References bc_add_global_transform(), copy_v3_v3(), and invert().
|
static |
Definition at line 1133 of file collada_utils.cpp.
References bc_add_node().
|
static |
Definition at line 1118 of file collada_utils.cpp.
References label, node, 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 201 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 933 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 940 of file collada_utils.cpp.
References BCMatrix::get_matrix(), mul_v3_m4v3(), and transform().
Definition at line 785 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 333 of file collada_utils.cpp.
References b, LinkNode::next, and node.
Referenced by collada_export().
Definition at line 1039 of file collada_utils.cpp.
Definition at line 1030 of file collada_utils.cpp.
Definition at line 1021 of file collada_utils.cpp.
Definition at line 1057 of file collada_utils.cpp.
Definition at line 1048 of file collada_utils.cpp.
| 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 947 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.
Convenience function to get only the needed components of a matrix.
Definition at line 422 of file collada_utils.cpp.
References copy_v3_v3(), mat4_to_eul(), mat4_to_quat(), and mat4_to_size().
Referenced by TransformWriter::add_joint_transform(), TransformWriter::add_node_transform_ob(), and bc_create_restpose_mat().
| void bc_enable_fcurves | ( | AnimData * | adt, |
| char * | bone_name ) |
Definition at line 756 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 | ( | std::string | action_name, |
| std::string | ob_name, | ||
| std::string | channel_type, | ||
| std::string | axis_name, | ||
| std::string | axis_separator ) |
Definition at line 173 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().
Definition at line 374 of file collada_utils.cpp.
References CD_PROP_FLOAT2, 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 1069 of file collada_utils.cpp.
References bc_CustomData_get_active_layer_name(), CD_PROP_FLOAT2, 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 1086 of file collada_utils.cpp.
References bc_get_active_uvlayer_name(), and Object::data.
Definition at line 1237 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 1219 of file collada_utils.cpp.
References bc_get_cot().
Definition at line 301 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 1175 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 | ( | Color | col, |
| bool | with_alpha ) |
Definition at line 1323 of file collada_utils.cpp.
Definition at line 1316 of file collada_utils.cpp.
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, | ||
| Color & | default_color, | ||
| bool | with_alpha ) |
Definition at line 1288 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 490 of file collada_utils.cpp.
References bArmature::edbo, LISTBASE_FOREACH, and STREQ.
| COLLADASW::ColorOrTexture bc_get_emission | ( | Material * | ma | ) |
Definition at line 1187 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.
Definition at line 1277 of file collada_utils.cpp.
References bNodeSocket::default_value, double(), 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().
Definition at line 78 of file collada_utils.cpp.
Referenced by SkinInfo::borrow_skin_controller_data().
| 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 691 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().
Definition at line 1247 of file collada_utils.cpp.
References bc_get_float_from_shader(), bc_get_master_shader(), and Material::use_nodes.
Definition at line 1303 of file collada_utils.cpp.
References LISTBASE_FOREACH, node, bNodeTree::nodes, and Material::nodetree.
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 259 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_object(), depsgraph, and mesh.
Referenced by GeometryExporter::operator()().
Read a custom bone property and convert to float Return def if the property does not exist.
Definition at line 696 of file collada_utils.cpp.
References bc_get_IDProperty(), float, 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().
Read a custom bone property and convert to matrix Return true if conversion was successful
Return false if:
Definition at line 721 of file collada_utils.cpp.
References bc_get_IDProperty(), IDP_ARRAY, and IDP_Array.
Get a vector that is stored in 3 custom properties (used in Blender <= 2.78).
Definition at line 736 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 1231 of file collada_utils.cpp.
References bc_get_cot().
Definition at line 1267 of file collada_utils.cpp.
References bc_get_float_from_shader(), bc_get_master_shader(), Material::spec, and Material::use_nodes.
Definition at line 1257 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 1225 of file collada_utils.cpp.
References bc_get_cot().
Returns UV Layer name or empty string if layer index is out of range
Definition at line 1095 of file collada_utils.cpp.
References bc_CustomData_get_layer_name(), CD_PROP_FLOAT2, and CustomData_number_of_layers().
Definition at line 151 of file collada_utils.cpp.
References Main::actions, bc_getSceneObjectAction(), CTX_data_main(), and ListBase::first.
| bool bc_has_animations | ( | Object * | ob | ) |
Definition at line 855 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 884 of file collada_utils.cpp.
References bc_has_animations(), LinkNode::next, and node.
| bool bc_has_object_type | ( | LinkNode * | export_set, |
| short | obtype ) |
Definition at line 319 of file collada_utils.cpp.
References Object::data, LinkNode::next, node, and Object::type.
Referenced by DocumentExporter::exportCurrentScene().
| bool bc_is_animated | ( | BCMatrixSampleMap & | values | ) |
Definition at line 830 of file collada_utils.cpp.
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 480 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 357 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 400 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 411 of file collada_utils.cpp.
References bc_match_scale().
|
static |
Definition at line 1138 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 388 of file collada_utils.cpp.
Referenced by bc_url_encode().
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 441 of file collada_utils.cpp.
References invert_m4_m4(), mat4_to_quat(), mul_m4_m4m4(), mul_qt_qtqt(), and quat_to_mat4().
Definition at line 1014 of file collada_utils.cpp.
References double_round(), and v.
Definition at line 1005 of file collada_utils.cpp.
References double(), double_round(), float, and v.
Referenced by TransformWriter::add_node_transform_ob().
Stores a 4*4 matrix as a custom bone property array of size 16.
Definition at line 658 of file collada_utils.cpp.
References blender::bke::idprop::create(), blender::bke::idprop::create_group(), IDP_AddToGroup(), and EditBone::prop.
Definition at line 500 of file collada_utils.cpp.
References bc_set_layer().
Referenced by bc_set_layer().
Definition at line 505 of file collada_utils.cpp.
Definition at line 133 of file collada_utils.cpp.
References 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 91 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 458 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, and MOD_TRIANGULATE_QUAD_SHORTEDGE.
Referenced by bc_get_mesh_copy().
| void bc_update_scene | ( | BlenderContext & | blender_context, |
| float | ctime ) |
Definition at line 189 of file collada_utils.cpp.
References BKE_scene_frame_set(), depsgraph, and ED_update_for_newframe().
Referenced by BCAnimationSampler::sample_scene().
| std::string bc_url_encode | ( | std::string | data | ) |
Definition at line 380 of file collada_utils.cpp.
References bc_replace_string().
Referenced by DocumentImporter::import().
| bool bc_validateConstraints | ( | bConstraint * | con | ) |
Definition at line 107 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 746 of file collada_utils.cpp.
References bc_get_IDProperty().
Referenced by bc_create_restpose_mat().
|
inline |
Definition at line 627 of file collada_utils.cpp.
Definition at line 1108 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().