Blender
V3.3
|
#include "COLLADAFWColorOrTexture.h"
#include "COLLADAFWFloatOrDoubleArray.h"
#include "COLLADAFWGeometry.h"
#include "COLLADAFWMeshPrimitive.h"
#include "COLLADAFWTypes.h"
#include "COLLADASWEffectProfile.h"
#include <algorithm>
#include <map>
#include <set>
#include <vector>
#include "DNA_anim_types.h"
#include "DNA_camera_types.h"
#include "DNA_constraint_types.h"
#include "DNA_light_types.h"
#include "DNA_mesh_types.h"
#include "DNA_object_types.h"
#include "DNA_customdata_types.h"
#include "DNA_scene_types.h"
#include "DNA_texture_types.h"
#include "RNA_access.h"
#include "BLI_linklist.h"
#include "BLI_string.h"
#include "BLI_utildefines.h"
#include "BKE_context.h"
#include "BKE_idprop.h"
#include "BKE_main.h"
#include "BKE_node.h"
#include "BKE_object.h"
#include "BKE_scene.h"
#include "DEG_depsgraph_query.h"
#include "BCSampleData.h"
#include "BlenderContext.h"
#include "ExportSettings.h"
#include "ImportSettings.h"
#include "collada_internal.h"
Go to the source code of this file.
Classes | |
class | ColladaBaseNodes |
class | BCPolygonNormalsIndices |
class | BoneExtended |
class | BoneExtensionManager |
Typedefs | |
typedef std::map< COLLADAFW::UniqueId, Image * > | UidImageMap |
typedef std::map< std::string, Image * > | KeyImageMap |
typedef std::map< COLLADAFW::TextureMapId, std::vector< MTex * > > | TexIndexTextureArrayMap |
typedef std::set< Object * > | BCObjectSet |
typedef std::map< std::string, BoneExtended * > | BoneExtensionMap |
Functions | |
void | bc_update_scene (BlenderContext &blender_context, float ctime) |
std::vector< bAction * > | bc_getSceneActions (const bContext *C, Object *ob, bool all_actions) |
bAction * | bc_getSceneObjectAction (Object *ob) |
bAction * | bc_getSceneLightAction (Object *ob) |
bAction * | bc_getSceneCameraAction (Object *ob) |
bAction * | bc_getSceneMaterialAction (Material *ma) |
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="_") |
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=true) |
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) |
char * | bc_CustomData_get_layer_name (const CustomData *data, int type, int n) |
char * | bc_CustomData_get_active_layer_name (const CustomData *data, int type) |
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_string_after (const std::string &s, const std::string probe) |
std::string | bc_string_before (const std::string &s, const std::string probe) |
bool | bc_startswith (std::string const &value, std::string const &starting) |
bool | bc_endswith (const std::string &value, const std::string &ending) |
std::string | bc_replace_string (std::string data, const std::string &pattern, const std::string &replacement) |
std::string | bc_url_encode (std::string data) |
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, bool enable) |
int | bc_set_layer (int bitfield, int layer) |
bool | bc_in_range (float a, float b, float range) |
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_m4d_v44 (double(&r)[4][4], std::vector< std::vector< double >> &a) |
void | bc_copy_v44_m4d (std::vector< std::vector< double >> &r, double(&a)[4][4]) |
void | bc_sanitize_v3 (double v[3], int precision) |
void | bc_sanitize_v3 (float v[3], int precision) |
IDProperty * | bc_get_IDProperty (Bone *bone, std::string key) |
void | bc_set_IDProperty (EditBone *ebone, const char *key, float value) |
void | bc_set_IDPropertyMatrix (EditBone *ebone, const char *key, float mat[4][4]) |
float | bc_get_property (Bone *bone, std::string key, float def) |
void | bc_get_property_vector (Bone *bone, std::string key, float val[3], const float def[3]) |
bool | bc_get_property_matrix (Bone *bone, std::string key, float mat[4][4]) |
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 (Scene *sce, LinkNode *export_set) |
bool | bc_has_animations (Object *ob) |
void | bc_add_global_transform (Matrix &to_mat, const Matrix &from_mat, const BCMatrix &global_transform, bool invert=false) |
void | bc_add_global_transform (Vector &to_vec, const Vector &from_vec, const BCMatrix &global_transform, bool invert=false) |
void | bc_add_global_transform (Vector &to_vec, const BCMatrix &global_transform, bool invert=false) |
void | bc_add_global_transform (Matrix &to_mat, const BCMatrix &global_transform, bool invert=false) |
void | bc_apply_global_transform (Matrix &to_mat, const BCMatrix &global_transform, bool invert=false) |
void | bc_apply_global_transform (Vector &to_vec, const BCMatrix &global_transform, bool invert=false) |
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_add_default_shader (bContext *C, Material *ma) |
bNode * | bc_get_master_shader (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_reflectivity (Material *ma) |
double | bc_get_alpha (Material *ma) |
double | bc_get_ior (Material *ma) |
double | bc_get_shininess (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=true) |
COLLADASW::ColorOrTexture | bc_get_cot (float r, float g, float b, float a) |
COLLADASW::ColorOrTexture | bc_get_cot (Color col, bool with_alpha=true) |
Variables | |
constexpr int | LIMITTED_PRECISION = 6 |
typedef std::set<Object *> BCObjectSet |
Definition at line 58 of file collada_utils.h.
typedef std::map<std::string, BoneExtended *> BoneExtensionMap |
Definition at line 397 of file collada_utils.h.
typedef std::map<std::string, Image *> KeyImageMap |
Definition at line 56 of file collada_utils.h.
typedef std::map<COLLADAFW::TextureMapId, std::vector<MTex *> > TexIndexTextureArrayMap |
Definition at line 57 of file collada_utils.h.
typedef std::map<COLLADAFW::UniqueId, Image *> UidImageMap |
Definition at line 55 of file collada_utils.h.
Definition at line 1211 of file collada_utils.cpp.
References bc_add_node(), bc_node_add_link(), C, NODE_SELECT, ntree, 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, | ||
bool | invert = false |
||
) |
Definition at line 925 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, | ||
bool | invert = false |
||
) |
Definition at line 907 of file collada_utils.cpp.
References copy_m4_m4(), and invert().
Referenced by TransformWriter::add_node_transform_ob(), bc_add_global_transform(), GeometryExporter::createNormalsSource(), and GeometryExporter::createVertsSource().
void bc_add_global_transform | ( | Vector & | to_vec, |
const BCMatrix & | global_transform, | ||
bool | invert = false |
||
) |
Definition at line 932 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, | ||
bool | invert = false |
||
) |
Definition at line 916 of file collada_utils.cpp.
References bc_add_global_transform(), copy_v3_v3(), and invert().
Object* bc_add_object | ( | Main * | bmain, |
Scene * | scene, | ||
ViewLayer * | view_layer, | ||
int | type, | ||
const char * | name | ||
) |
Definition at line 191 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(), LayerCollection::collection, Object::data, DEG_id_tag_update(), Object::id, ID_RECALC_ANIMATION, ID_RECALC_GEOMETRY, ID_RECALC_TRANSFORM, and type.
Referenced by 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, | ||
bool | invert = false |
||
) |
Definition at line 941 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, | ||
bool | invert = false |
||
) |
Definition at line 948 of file collada_utils.cpp.
References BCMatrix::get_matrix(), mul_v3_m4v3(), and transform().
Definition at line 793 of file collada_utils.cpp.
References Bone::arm_mat, bc_enable_fcurves(), bc_getSceneObjectAction(), BKE_pose_channel_find_name(), copy_m4_m4(), invert_m4(), invert_m4_m4(), mul_m4_m4m4(), Bone::name, bPoseChannel::parent, Bone::parent, Object::pose, and bPoseChannel::pose_mat.
Definition at line 285 of file collada_utils.cpp.
References Freestyle::a, usdtokens::b(), LinkNode::link, LinkNode::next, and node.
Referenced by collada_export().
Definition at line 1046 of file collada_utils.cpp.
References Freestyle::a, and r.
Definition at line 1037 of file collada_utils.cpp.
References Freestyle::a, and r.
Definition at line 1028 of file collada_utils.cpp.
References Freestyle::a, and r.
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.
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.
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 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.
char* bc_CustomData_get_active_layer_name | ( | const CustomData * | data, |
int | type | ||
) |
Definition at line 122 of file DocumentExporter.cpp.
References CustomData_get_active_layer_index(), data, and type.
Referenced by bc_get_active_uvlayer_name(), and getActiveUVLayerName().
char* bc_CustomData_get_layer_name | ( | const CustomData * | data, |
int | type, | ||
int | n | ||
) |
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().
Definition at line 767 of file collada_utils.cpp.
References BLI_snprintf(), BLI_str_escape(), bAction::curves, FCURVE_DISABLED, ListBase::first, FCurve::flag, FCurve::next, FCurve::rna_path, and STREQLEN.
Referenced by bc_bone_matrix_local_get().
|
inline |
Definition at line 167 of file collada_utils.h.
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 163 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 326 of file collada_utils.cpp.
References CD_MLOOPUV, CustomData_get_active_layer_index(), Object::data, and Mesh::ldata.
Definition at line 1301 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 1283 of file collada_utils.cpp.
References bc_get_cot(), and Color.
Definition at line 252 of file collada_utils.cpp.
References eModifierType_Armature, ListBase::first, 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 1239 of file collada_utils.cpp.
References Material::b, bc_get_cot(), bc_get_cot_from_shader(), bc_get_master_shader(), Color, Material::g, Material::r, and Material::use_nodes.
Definition at line 1387 of file collada_utils.cpp.
Definition at line 1380 of file collada_utils.cpp.
References Freestyle::a, usdtokens::b(), color, Color, usdtokens::g(), and r.
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 = true |
||
) |
Definition at line 1352 of file collada_utils.cpp.
References bc_get_cot(), col, bNodeSocket::default_value, nodeFindSocket(), SOCK_IN, and bNodeSocketValueRGBA::value.
Referenced by bc_get_base_color(), and bc_get_emission().
Definition at line 440 of file collada_utils.cpp.
References bArmature::edbo, ListBase::first, EditBone::name, EditBone::next, and STREQ.
COLLADASW::ColorOrTexture bc_get_emission | ( | Material * | ma | ) |
Definition at line 1251 of file collada_utils.cpp.
References bc_get_cot(), bc_get_cot_from_shader(), bc_get_float_from_shader(), bc_get_master_shader(), col, Color, mul_v3db_db(), and Material::use_nodes.
Definition at line 1341 of file collada_utils.cpp.
References bNodeSocket::default_value, nodeFindSocket(), 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, |
unsigned int | index | ||
) |
Definition at line 70 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 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().
Definition at line 1311 of file collada_utils.cpp.
References bc_get_float_from_shader(), bc_get_master_shader(), usdtokens::ior(), and Material::use_nodes.
Definition at line 1367 of file collada_utils.cpp.
References ListBase::first, node, bNodeTree::nodes, 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 208 of file collada_utils.cpp.
References BC_MESH_TYPE_RENDER, BC_MESH_TYPE_VIEW, bc_triangulate_mesh(), BKE_id_copy_ex(), BKE_mesh_tessface_ensure(), BKE_mesh_wrapper_ensure_mdata(), CD_MASK_MESH, Object::data, depsgraph, Mesh::id, LIB_ID_COPY_LOCALIZE, mask(), mesh_get_eval_final(), and scene.
Referenced by GeometryExporter::operator()().
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().
Read a custom bone property and convert to matrix Return true if conversion was successful
Return false if:
Definition at line 732 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 747 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 1295 of file collada_utils.cpp.
References bc_get_cot(), and Color.
Definition at line 1331 of file collada_utils.cpp.
References bc_get_float_from_shader(), bc_get_master_shader(), Material::spec, and Material::use_nodes.
Definition at line 1321 of file collada_utils.cpp.
References bc_get_float_from_shader(), bc_get_master_shader(), usdtokens::ior(), and Material::use_nodes.
COLLADASW::ColorOrTexture bc_get_specular | ( | Material * | ma | ) |
Definition at line 1289 of file collada_utils.cpp.
References bc_get_cot(), and Color.
std::vector<bAction *> bc_getSceneActions | ( | const bContext * | C, |
Object * | ob, | ||
bool | all_actions | ||
) |
Definition at line 141 of file collada_utils.cpp.
References Main::actions, bc_getSceneObjectAction(), C, CTX_data_main(), ListBase::first, id, and ID::next.
Definition at line 85 of file collada_utils.h.
References camera, Object::data, NULL, OB_CAMERA, return(), and Object::type.
Referenced by bc_has_animations().
Definition at line 74 of file collada_utils.h.
References AnimData::action, Light::adt, Object::data, lamp, NULL, OB_LAMP, return(), and Object::type.
Referenced by bc_has_animations().
Definition at line 96 of file collada_utils.h.
References AnimData::action, Material::adt, and NULL.
Definition at line 68 of file collada_utils.h.
References AnimData::action, Object::adt, and NULL.
Referenced by bc_bone_matrix_local_get(), bc_getSceneActions(), bc_has_animations(), AnimationExporter::export_bone_animation(), AnimationExporter::export_curve_animation(), and AnimationExporter::export_matrix_animation().
Definition at line 864 of file collada_utils.cpp.
References Freestyle::a, AnimData::action, Key::adt, Material::adt, bc_getSceneCameraAction(), bc_getSceneLightAction(), bc_getSceneObjectAction(), BKE_key_from_object(), BKE_object_material_get(), bAction::curves, curves, ListBase::first, and Object::totcol.
Referenced by bc_has_animations(), AnimationExporter::exportAnimations(), and BCAnimationSampler::get_animated_from_export_set().
Definition at line 892 of file collada_utils.cpp.
References bc_has_animations(), if(), and node.
Definition at line 271 of file collada_utils.cpp.
References Object::data, if(), node, and Object::type.
Referenced by DocumentExporter::exportCurrentScene().
Definition at line 228 of file collada_utils.h.
References Freestyle::a, usdtokens::b(), and fabsf.
bool bc_is_animated | ( | BCMatrixSampleMap & | values | ) |
Definition at line 839 of file collada_utils.cpp.
References BCMatrix::in_range().
Referenced by BCAnimationSampler::get_bone_samples(), and BCAnimationSampler::get_object_samples().
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.
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.
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().
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().
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.
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 391 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 1021 of file collada_utils.cpp.
References double_round(), and v.
Definition at line 1012 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 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.
int bc_set_layer | ( | int | bitfield, |
int | layer | ||
) |
Definition at line 452 of file collada_utils.cpp.
Referenced by BoneExtended::set_bone_layers().
int bc_set_layer | ( | int | bitfield, |
int | layer, | ||
bool | enable | ||
) |
Definition at line 457 of file collada_utils.cpp.
Definition at line 125 of file collada_utils.cpp.
References C, CTX_data_scene(), ED_object_parent_set(), mul_m4_m4m4(), Object::obmat, PAR_OBJECT, and scene.
Referenced by DocumentImporter::create_instance_node(), SkinInfo::link_armature(), and ArmatureImporter::make_armatures().
|
inline |
Definition at line 159 of file collada_utils.h.
Referenced by AnimationExporter::collada_tangent_from_curve(), and BCAnimationCurve::get_channel_target().
|
inline |
Definition at line 141 of file collada_utils.h.
Referenced by BCAnimationCurve::get_channel_posebone(), BCAnimationCurve::get_channel_target(), BCAnimationCurve::get_channel_type(), and BCSample::get_value().
|
inline |
Definition at line 150 of file collada_utils.h.
Referenced by BCAnimationCurve::get_channel_posebone(), and BCSample::get_value().
Definition at line 83 of file collada_utils.cpp.
References Object::parent.
Definition at line 408 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().
Definition at line 179 of file collada_utils.cpp.
References BKE_scene_frame_set(), depsgraph, ED_update_for_newframe(), and scene.
Referenced by BCAnimationSampler::sample_scene().
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().
bool bc_validateConstraints | ( | bConstraint * | con | ) |
Definition at line 99 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().
|
constexpr |
Definition at line 53 of file collada_utils.h.
Referenced by TransformWriter::add_node_transform_ob().