[Bf-blender-cvs] SVN commit: /data/svn/bf-blender [38666] branches/soc-2011-pepper/source/ blender/collada: Blender profile for leaf_bone tip.
Sukhitha Jayathilake
pr.jayathilake at gmail.com
Sun Jul 24 22:27:27 CEST 2011
Revision: 38666
http://projects.blender.org/scm/viewvc.php?view=rev&root=bf-blender&revision=38666
Author: phabtar
Date: 2011-07-24 20:27:27 +0000 (Sun, 24 Jul 2011)
Log Message:
-----------
Blender profile for leaf_bone tip. (untested).
Modified Paths:
--------------
branches/soc-2011-pepper/source/blender/collada/AnimationExporter.cpp
branches/soc-2011-pepper/source/blender/collada/ArmatureExporter.cpp
branches/soc-2011-pepper/source/blender/collada/ArmatureExporter.h
branches/soc-2011-pepper/source/blender/collada/DocumentImporter.cpp
branches/soc-2011-pepper/source/blender/collada/DocumentImporter.h
Modified: branches/soc-2011-pepper/source/blender/collada/AnimationExporter.cpp
===================================================================
--- branches/soc-2011-pepper/source/blender/collada/AnimationExporter.cpp 2011-07-24 18:06:23 UTC (rev 38665)
+++ branches/soc-2011-pepper/source/blender/collada/AnimationExporter.cpp 2011-07-24 20:27:27 UTC (rev 38666)
@@ -415,7 +415,8 @@
float ctime = bsystem_time(scene, ob_arm, *it, 0.0f);
- BKE_animsys_evaluate_animdata(&ob_arm->id, ob_arm->adt, *it, ADT_RECALC_ANIM);
+ //BKE_animsys_evaluate_animdata(&ob_arm->id, ob_arm->adt, *it, ADT_RECALC_ANIM);
+ //BKE_animsys_evaluate_animdata(scene , &ob_arm->id, ob_arm->adt, ctime, ADT_RECALC_ANIM);
where_is_pose_bone(scene, ob_arm, pchan, ctime, 1);
// compute bone local mat
Modified: branches/soc-2011-pepper/source/blender/collada/ArmatureExporter.cpp
===================================================================
--- branches/soc-2011-pepper/source/blender/collada/ArmatureExporter.cpp 2011-07-24 18:06:23 UTC (rev 38665)
+++ branches/soc-2011-pepper/source/blender/collada/ArmatureExporter.cpp 2011-07-24 20:27:27 UTC (rev 38666)
@@ -177,6 +177,9 @@
node.setNodeName(node_name);
node.setNodeSid(node_sid);
+ if ( bone->childbase.first == NULL )
+ add_blender_leaf_bone( bone, ob_arm , node );
+ else{
node.start();
add_bone_transform(ob_arm, bone, node);
@@ -186,8 +189,22 @@
}
node.end();
+ }
}
+void ArmatureExporter::add_blender_leaf_bone(Bone *bone, Object *ob_arm, COLLADASW::Node& node)
+{
+ node.start();
+
+ add_bone_transform(ob_arm, bone, node);
+
+ node.addExtraTechniqueParameter("blender", "tip_x", bone->tail[0] );
+ node.addExtraTechniqueParameter("blender", "tip_y", bone->tail[1] );
+ node.addExtraTechniqueParameter("blender", "tip_z", bone->tail[2] );
+
+ node.end();
+
+}
void ArmatureExporter::add_bone_transform(Object *ob_arm, Bone *bone, COLLADASW::Node& node)
{
bPoseChannel *pchan = get_pose_channel(ob_arm->pose, bone->name);
Modified: branches/soc-2011-pepper/source/blender/collada/ArmatureExporter.h
===================================================================
--- branches/soc-2011-pepper/source/blender/collada/ArmatureExporter.h 2011-07-24 18:06:23 UTC (rev 38665)
+++ branches/soc-2011-pepper/source/blender/collada/ArmatureExporter.h 2011-07-24 20:27:27 UTC (rev 38666)
@@ -92,6 +92,8 @@
void add_bone_transform(Object *ob_arm, Bone *bone, COLLADASW::Node& node);
+ void add_blender_leaf_bone(Bone *bone, Object *ob_arm, COLLADASW::Node& node);
+
std::string get_controller_id(Object *ob_arm, Object *ob);
// ob should be of type OB_MESH
Modified: branches/soc-2011-pepper/source/blender/collada/DocumentImporter.cpp
===================================================================
--- branches/soc-2011-pepper/source/blender/collada/DocumentImporter.cpp 2011-07-24 18:06:23 UTC (rev 38665)
+++ branches/soc-2011-pepper/source/blender/collada/DocumentImporter.cpp 2011-07-24 20:27:27 UTC (rev 38666)
@@ -537,10 +537,7 @@
this->uid_effect_map[cmat->getInstantiatedEffect()] = ma;
this->uid_material_map[cmat->getUniqueId()] = ma;
- this->matUidforEffect = &(cmat->getUniqueId());
- /*COLLADAFW::Material * matCopy = new COLLADAFW::Material(&cmat);
- this->FW_object_map[cmat->getUniqueId()] = matCopy;
- *///matForEff = cmat;
+
return true;
}
Modified: branches/soc-2011-pepper/source/blender/collada/DocumentImporter.h
===================================================================
--- branches/soc-2011-pepper/source/blender/collada/DocumentImporter.h 2011-07-24 18:06:23 UTC (rev 38665)
+++ branches/soc-2011-pepper/source/blender/collada/DocumentImporter.h 2011-07-24 20:27:27 UTC (rev 38666)
@@ -158,8 +158,6 @@
std::vector<const COLLADAFW::VisualScene*> vscenes;
std::vector<Object*> libnode_ob;
- const COLLADAFW::UniqueId *matUidforEffect;
-
std::map<COLLADAFW::UniqueId, COLLADAFW::Node*> root_map; // find root joint by child joint uid, for bone tree evaluation during resampling
std::map<COLLADAFW::UniqueId, const COLLADAFW::Object*> FW_object_map;
More information about the Bf-blender-cvs
mailing list