[Bf-blender-cvs] SVN commit: /data/svn/bf-blender [47865] branches/soc-2012-bratwurst/source /blender/collada: export constraint to COLLADA edit.
Sukhitha Jayathilake
pr.jayathilake at gmail.com
Thu Jun 14 05:43:27 CEST 2012
Revision: 47865
http://projects.blender.org/scm/viewvc.php?view=rev&root=bf-blender&revision=47865
Author: phabtar
Date: 2012-06-14 03:43:11 +0000 (Thu, 14 Jun 2012)
Log Message:
-----------
export constraint to COLLADA edit.
Modified Paths:
--------------
branches/soc-2012-bratwurst/source/blender/collada/DocumentImporter.cpp
branches/soc-2012-bratwurst/source/blender/collada/DocumentImporter.h
branches/soc-2012-bratwurst/source/blender/collada/ExtraHandler.cpp
branches/soc-2012-bratwurst/source/blender/collada/SceneExporter.cpp
Modified: branches/soc-2012-bratwurst/source/blender/collada/DocumentImporter.cpp
===================================================================
--- branches/soc-2012-bratwurst/source/blender/collada/DocumentImporter.cpp 2012-06-14 03:11:36 UTC (rev 47864)
+++ branches/soc-2012-bratwurst/source/blender/collada/DocumentImporter.cpp 2012-06-14 03:43:11 UTC (rev 47865)
@@ -396,13 +396,19 @@
return obn;
}
+void DocumentImporter::create_constraints(ExtraTags *et){}
+
void DocumentImporter::write_node (COLLADAFW::Node *node, COLLADAFW::Node *parent_node, Scene *sce, Object *par, bool is_library_node)
{
Object *ob = NULL;
bool is_joint = node->getType() == COLLADAFW::Node::JOINT;
bool read_transform = true;
+ ExtraTags *et = getExtraTags(node->getUniqueId());
+
std::vector<Object*> * objects_done = new std::vector<Object *>();
+
+ create_constraints(et);
if (is_joint) {
if ( par ) {
@@ -941,11 +947,12 @@
Lamp *lamp = NULL;
std::string la_id, la_name;
- TagsMap::iterator etit;
+ ExtraTags *et = getExtraTags(light->getUniqueId());
+ /*TagsMap::iterator etit;
ExtraTags *et = 0;
etit = uid_tags_map.find(light->getUniqueId().toAscii());
if (etit != uid_tags_map.end())
- et = etit->second;
+ et = etit->second;*/
la_id = light->getOriginalId();
la_name = light->getName();
Modified: branches/soc-2012-bratwurst/source/blender/collada/DocumentImporter.h
===================================================================
--- branches/soc-2012-bratwurst/source/blender/collada/DocumentImporter.h 2012-06-14 03:11:36 UTC (rev 47864)
+++ branches/soc-2012-bratwurst/source/blender/collada/DocumentImporter.h 2012-06-14 03:43:11 UTC (rev 47865)
@@ -73,9 +73,11 @@
Object* create_camera_object(COLLADAFW::InstanceCamera*, Scene*);
Object* create_lamp_object(COLLADAFW::InstanceLight*, Scene*);
Object* create_instance_node(Object*, COLLADAFW::Node*, COLLADAFW::Node*, Scene*, bool);
+ void create_constraints(ExtraTags *et);
void write_node(COLLADAFW::Node*, COLLADAFW::Node*, Scene*, Object*, bool);
MTex* create_texture(COLLADAFW::EffectCommon*, COLLADAFW::Texture&, Material*, int, TexIndexTextureArrayMap&);
void write_profile_COMMON(COLLADAFW::EffectCommon*, Material*);
+
void translate_anim_recursive(COLLADAFW::Node*, COLLADAFW::Node*, Object*);
/** This method will be called if an error in the loading process occurred and the loader cannot
@@ -127,6 +129,8 @@
/** Get an extisting ExtraTags for uid */
ExtraTags* getExtraTags(const COLLADAFW::UniqueId &uid);
+
+
private:
/** Current import stage we're in. */
Modified: branches/soc-2012-bratwurst/source/blender/collada/ExtraHandler.cpp
===================================================================
--- branches/soc-2012-bratwurst/source/blender/collada/ExtraHandler.cpp 2012-06-14 03:11:36 UTC (rev 47864)
+++ branches/soc-2012-bratwurst/source/blender/collada/ExtraHandler.cpp 2012-06-14 03:43:11 UTC (rev 47865)
@@ -64,7 +64,8 @@
bool ExtraHandler::parseElement (
const char* profileName,
const unsigned long& elementHash,
- const COLLADAFW::UniqueId& uniqueId ) {
+ const COLLADAFW::UniqueId& uniqueId )
+{
if (BLI_strcaseeq(profileName, "blender")) {
//printf("In parseElement for supported profile %s for id %s\n", profileName, uniqueId.toAscii().c_str());
currentUid = uniqueId;
Modified: branches/soc-2012-bratwurst/source/blender/collada/SceneExporter.cpp
===================================================================
--- branches/soc-2012-bratwurst/source/blender/collada/SceneExporter.cpp 2012-06-14 03:11:36 UTC (rev 47864)
+++ branches/soc-2012-bratwurst/source/blender/collada/SceneExporter.cpp 2012-06-14 03:43:11 UTC (rev 47865)
@@ -203,8 +203,19 @@
if (ob->constraints.first != NULL ){
bConstraint *con = (bConstraint*) ob->constraints.first;
while(con){
- node.addExtraTechniqueParameter("blender","constraintType",con->type);
- node.addExtraTechniqueParameter("blender","constraintName",con->name);
+ std::string con_name(id_name(con));
+ std::string con_tag = con_name + "_constraint";
+ node.addExtraTechniqueChildParameter("blender",con_tag,"type",con->type);
+ node.addExtraTechniqueChildParameter("blender",con_tag,"enforce",con->enforce);
+ node.addExtraTechniqueChildParameter("blender",con_tag,"flag",con->flag);
+ node.addExtraTechniqueChildParameter("blender",con_tag,"headtail",con->headtail);
+ node.addExtraTechniqueChildParameter("blender",con_tag,"lin_error",con->lin_error);
+ /*node.addExtraTechniqueParameter("blender","lin_error",con->next);*/
+ node.addExtraTechniqueChildParameter("blender",con_tag,"own_space",con->ownspace);
+ node.addExtraTechniqueChildParameter("blender",con_tag,"rot_error",con->rot_error);
+ node.addExtraTechniqueChildParameter("blender",con_tag,"tar_space",con->tarspace);
+ node.addExtraTechniqueChildParameter("blender",con_tag,"lin_error",con->lin_error);
+
con = con->next;
}
}
More information about the Bf-blender-cvs
mailing list