[Bf-blender-cvs] SVN commit: /data/svn/bf-blender [47984] trunk/blender/source/blender: code cleanup: collada
Campbell Barton
ideasman42 at gmail.com
Sat Jun 16 11:16:38 CEST 2012
Revision: 47984
http://projects.blender.org/scm/viewvc.php?view=rev&root=bf-blender&revision=47984
Author: campbellbarton
Date: 2012-06-16 09:16:24 +0000 (Sat, 16 Jun 2012)
Log Message:
-----------
code cleanup: collada
- when bubble sorting names - dont convert to str::string just to compare strings
- use BLI_linklist_index() to check if an item is in the list
- quiet some warnings
Modified Paths:
--------------
trunk/blender/source/blender/collada/ArmatureExporter.cpp
trunk/blender/source/blender/collada/ArmatureExporter.h
trunk/blender/source/blender/collada/DocumentImporter.cpp
trunk/blender/source/blender/collada/ExportSettings.h
trunk/blender/source/blender/collada/collada.cpp
trunk/blender/source/blender/collada/collada.h
trunk/blender/source/blender/collada/collada_utils.cpp
trunk/blender/source/blender/collada/collada_utils.h
trunk/blender/source/blender/windowmanager/intern/wm_operators.c
Modified: trunk/blender/source/blender/collada/ArmatureExporter.cpp
===================================================================
--- trunk/blender/source/blender/collada/ArmatureExporter.cpp 2012-06-16 06:30:13 UTC (rev 47983)
+++ trunk/blender/source/blender/collada/ArmatureExporter.cpp 2012-06-16 09:16:24 UTC (rev 47984)
@@ -83,7 +83,7 @@
void ArmatureExporter::write_bone_URLs(COLLADASW::InstanceController &ins, Object *ob_arm, Bone *bone)
{
- if ( bc_is_root_bone(bone, this->export_settings->deform_bones_only) )
+ if (bc_is_root_bone(bone, this->export_settings->deform_bones_only))
ins.addSkeleton(COLLADABU::URI(COLLADABU::Utils::EMPTY_STRING, get_joint_id(bone, ob_arm)));
else {
for (Bone *child = (Bone *)bone->childbase.first; child; child = child->next) {
@@ -187,9 +187,12 @@
node.setNodeName(node_name);
node.setNodeSid(node_sid);
- /*if ( bone->childbase.first == NULL || BLI_countlist(&(bone->childbase))>=2)
+#if 0
+ if (bone->childbase.first == NULL || BLI_countlist(&(bone->childbase)) >= 2) {
add_blender_leaf_bone( bone, ob_arm , node );
- else{*/
+ }
+ else {
+#endif
node.start();
add_bone_transform(ob_arm, bone, node);
Modified: trunk/blender/source/blender/collada/ArmatureExporter.h
===================================================================
--- trunk/blender/source/blender/collada/ArmatureExporter.h 2012-06-16 06:30:13 UTC (rev 47983)
+++ trunk/blender/source/blender/collada/ArmatureExporter.h 2012-06-16 09:16:24 UTC (rev 47984)
@@ -53,14 +53,14 @@
// XXX exporter writes wrong data for shared armatures. A separate
// controller should be written for each armature-mesh binding how do
// we make controller ids then?
-class ArmatureExporter: public COLLADASW::LibraryControllers, protected TransformWriter, protected InstanceWriter
+class ArmatureExporter : public COLLADASW::LibraryControllers, protected TransformWriter, protected InstanceWriter
{
public:
ArmatureExporter(COLLADASW::StreamWriter *sw, const ExportSettings *export_settings);
// write bone nodes
- void add_armature_bones(Object *ob_arm, Scene* sce, SceneExporter* se,
- std::list<Object*>& child_objects);
+ void add_armature_bones(Object *ob_arm, Scene *sce, SceneExporter *se,
+ std::list<Object *>& child_objects);
bool is_skinned_mesh(Object *ob);
@@ -76,7 +76,7 @@
const ExportSettings *export_settings;
#if 0
- std::vector<Object*> written_armatures;
+ std::vector<Object *> written_armatures;
bool already_written(Object *ob_arm);
@@ -89,8 +89,8 @@
// Scene, SceneExporter and the list of child_objects
// are required for writing bone parented objects
- void add_bone_node(Bone *bone, Object *ob_arm, Scene* sce, SceneExporter* se,
- std::list<Object*>& child_objects);
+ void add_bone_node(Bone *bone, Object *ob_arm, Scene *sce, SceneExporter *se,
+ std::list<Object *>& child_objects);
void add_bone_transform(Object *ob_arm, Bone *bone, COLLADASW::Node& node);
@@ -100,10 +100,10 @@
// ob should be of type OB_MESH
// both args are required
- void export_controller(Object* ob, Object *ob_arm);
+ void export_controller(Object *ob, Object *ob_arm);
void add_joints_element(ListBase *defbase,
- const std::string& joints_source_id, const std::string& inv_bind_mat_source_id);
+ const std::string& joints_source_id, const std::string& inv_bind_mat_source_id);
void add_bind_shape_mat(Object *ob);
@@ -111,15 +111,15 @@
std::string add_inv_bind_mats_source(Object *ob_arm, ListBase *defbase, const std::string& controller_id);
- Bone *get_bone_from_defgroup(Object *ob_arm, bDeformGroup* def);
+ Bone *get_bone_from_defgroup(Object *ob_arm, bDeformGroup *def);
- bool is_bone_defgroup(Object *ob_arm, bDeformGroup* def);
+ bool is_bone_defgroup(Object *ob_arm, bDeformGroup *def);
std::string add_weights_source(Mesh *me, const std::string& controller_id,
- const std::list<float>& weights);
+ const std::list<float>& weights);
void add_vertex_weights_element(const std::string& weights_source_id, const std::string& joints_source_id,
- const std::list<int>& vcount, const std::list<int>& joints);
+ const std::list<int>& vcount, const std::list<int>& joints);
void write_bone_URLs(COLLADASW::InstanceController &ins, Object *ob_arm, Bone *bone);
};
Modified: trunk/blender/source/blender/collada/DocumentImporter.cpp
===================================================================
--- trunk/blender/source/blender/collada/DocumentImporter.cpp 2012-06-16 06:30:13 UTC (rev 47983)
+++ trunk/blender/source/blender/collada/DocumentImporter.cpp 2012-06-16 09:16:24 UTC (rev 47984)
@@ -386,7 +386,7 @@
Object *new_child = NULL;
if (inodes.getCount()) { // \todo loop through instance nodes
const COLLADAFW::UniqueId& id = inodes[0]->getInstanciatedObjectId();
- fprintf(stderr, "Doing %d child nodes\n", node_map.count(id));
+ fprintf(stderr, "Doing %d child nodes\n", (int)node_map.count(id));
new_child = create_instance_node(object_map.find(id)->second, node_map[id], child_node, sce, is_library_node);
}
else {
Modified: trunk/blender/source/blender/collada/ExportSettings.h
===================================================================
--- trunk/blender/source/blender/collada/ExportSettings.h 2012-06-16 06:30:13 UTC (rev 47983)
+++ trunk/blender/source/blender/collada/ExportSettings.h 2012-06-16 09:16:24 UTC (rev 47984)
@@ -31,19 +31,18 @@
#ifndef __EXPORTSETTINGS_H__
#define __EXPORTSETTINGS_H__
-struct ExportSettings
-{
- public:
- bool apply_modifiers;
- bool selected;
- bool include_children;
- bool include_armatures;
- bool deform_bones_only;
- bool use_object_instantiation;
- bool sort_by_name;
- bool second_life;
- char *filepath;
- LinkNode *export_set;
+struct ExportSettings {
+public:
+ bool apply_modifiers;
+ bool selected;
+ bool include_children;
+ bool include_armatures;
+ bool deform_bones_only;
+ bool use_object_instantiation;
+ bool sort_by_name;
+ bool second_life;
+ char *filepath;
+ LinkNode *export_set;
};
#endif
Modified: trunk/blender/source/blender/collada/collada.cpp
===================================================================
--- trunk/blender/source/blender/collada/collada.cpp 2012-06-16 06:30:13 UTC (rev 47983)
+++ trunk/blender/source/blender/collada/collada.cpp 2012-06-16 09:16:24 UTC (rev 47984)
@@ -49,20 +49,19 @@
return 0;
}
-int collada_export(
- Scene *sce,
- const char *filepath,
+int collada_export(Scene *sce,
+ const char *filepath,
- int apply_modifiers,
+ int apply_modifiers,
- int selected,
- int include_children,
- int include_armatures,
- int deform_bones_only,
+ int selected,
+ int include_children,
+ int include_armatures,
+ int deform_bones_only,
- int use_object_instantiation,
- int sort_by_name,
- int second_life)
+ int use_object_instantiation,
+ int sort_by_name,
+ int second_life)
{
ExportSettings export_settings;
Modified: trunk/blender/source/blender/collada/collada.h
===================================================================
--- trunk/blender/source/blender/collada/collada.h 2012-06-16 06:30:13 UTC (rev 47983)
+++ trunk/blender/source/blender/collada/collada.h 2012-06-16 09:16:24 UTC (rev 47984)
@@ -33,23 +33,22 @@
#ifdef __cplusplus
extern "C" {
#endif
- /*
- * both return 1 on success, 0 on error
- */
- int collada_import(bContext *C, const char *filepath);
- int collada_export(
- Scene *sce,
- const char *filepath,
- int apply_modifiers,
+/*
+ * both return 1 on success, 0 on error
+ */
+int collada_import(bContext *C, const char *filepath);
+int collada_export(Scene *sce,
+ const char *filepath,
+ int apply_modifiers,
- int selected,
- int include_children,
- int include_armatures,
- int deform_bones_only,
+ int selected,
+ int include_children,
+ int include_armatures,
+ int deform_bones_only,
- int use_object_instantiation,
- int sort_by_name,
- int second_life);
+ int use_object_instantiation,
+ int sort_by_name,
+ int second_life);
Modified: trunk/blender/source/blender/collada/collada_utils.cpp
===================================================================
--- trunk/blender/source/blender/collada/collada_utils.cpp 2012-06-16 06:30:13 UTC (rev 47983)
+++ trunk/blender/source/blender/collada/collada_utils.cpp 2012-06-16 09:16:24 UTC (rev 47984)
@@ -193,30 +193,19 @@
bool bc_is_in_Export_set(LinkNode *export_set, Object *ob)
{
- LinkNode *node = export_set;
-
- while (node) {
- Object *element = (Object *)node->link;
-
- if (element == ob)
- return true;
-
- node= node->next;
- }
- return false;
+ return (BLI_linklist_index(export_set, ob) != -1);
}
bool bc_has_object_type(LinkNode *export_set, short obtype)
{
- LinkNode *node = export_set;
+ LinkNode *node;
- while (node) {
+ for (node = export_set; node; node = node->next) {
Object *ob = (Object *)node->link;
-
+ /* XXX - why is this checking for ob->data? - we could be looking for empties */
if (ob->type == obtype && ob->data) {
return true;
}
- node= node->next;
}
return false;
}
@@ -236,19 +225,16 @@
{
bool sorted = false;
LinkNode *node;
- for(node=export_set; node->next && !sorted; node=node->next) {
+ for (node = export_set; node->next && !sorted; node = node->next) {
sorted = true;
LinkNode *current;
- for (current=export_set; current->next; current = current->next) {
+ for (current = export_set; current->next; current = current->next) {
Object *a = (Object *)current->link;
Object *b = (Object *)current->next->link;
- std::string str_a (a->id.name);
- std::string str_b (b->id.name);
-
- if (str_a.compare(str_b) > 0) {
+ if (strcmp(a->id.name, b->id.name) > 0) {
current->link = b;
current->next->link = a;
sorted = false;
@@ -264,7 +250,7 @@
* are root bones.
*/
bool bc_is_root_bone(Bone *aBone, bool deform_bones_only) {
- if(deform_bones_only) {
+ if (deform_bones_only) {
Bone *root = NULL;
Bone *bone = aBone;
while (bone) {
@@ -272,7 +258,7 @@
root = bone;
@@ Diff output truncated at 10240 characters. @@
More information about the Bf-blender-cvs
mailing list