[Bf-blender-cvs] SVN commit: /data/svn/bf-blender [59818] trunk/blender/source/blender/ collada: Apply patch [#36601].

Nathan Letwory nathan at letworyinteractive.com
Thu Sep 5 08:58:27 CEST 2013


Revision: 59818
          http://projects.blender.org/scm/viewvc.php?view=rev&root=bf-blender&revision=59818
Author:   jesterking
Date:     2013-09-05 06:58:27 +0000 (Thu, 05 Sep 2013)
Log Message:
-----------
Apply patch [#36601].
Submitted by Saurabh Wankhade (sauraedron).

This patch adds camera shift and dof export and import in a Blender profile.

Modified Paths:
--------------
    trunk/blender/source/blender/collada/CameraExporter.cpp
    trunk/blender/source/blender/collada/CameraExporter.h
    trunk/blender/source/blender/collada/DocumentImporter.cpp

Modified: trunk/blender/source/blender/collada/CameraExporter.cpp
===================================================================
--- trunk/blender/source/blender/collada/CameraExporter.cpp	2013-09-05 04:26:08 UTC (rev 59817)
+++ trunk/blender/source/blender/collada/CameraExporter.cpp	2013-09-05 06:58:27 UTC (rev 59818)
@@ -63,7 +63,6 @@
 }
 void CamerasExporter::operator()(Object *ob, Scene *sce)
 {
-	// TODO: shiftx, shifty, YF_dofdist
 	Camera *cam = (Camera *)ob->data;
 	std::string cam_id(get_camera_id(ob));
 	std::string cam_name(id_name(cam));
@@ -78,7 +77,9 @@
 			persp.setZFar(cam->clipend, false, "zfar");
 			persp.setZNear(cam->clipsta, false, "znear");
 			COLLADASW::Camera ccam(mSW, &persp, cam_id, cam_name);
+			exportBlenderProfile(ccam, cam);
 			addCamera(ccam);
+
 			break;
 		}
 		case CAM_ORTHO:
@@ -90,8 +91,17 @@
 			ortho.setZFar(cam->clipend, false, "zfar");
 			ortho.setZNear(cam->clipsta, false, "znear");
 			COLLADASW::Camera ccam(mSW, &ortho, cam_id, cam_name);
+			exportBlenderProfile(ccam, cam);
 			addCamera(ccam);
 			break;
 		}
 	}
 }
+bool CamerasExporter::exportBlenderProfile(COLLADASW::Camera &cm,Camera *cam)
+{
+	cm.addExtraTechniqueParameter("blender","shiftx",cam->shiftx);
+	cm.addExtraTechniqueParameter("blender","shifty",cam->shifty);
+	cm.addExtraTechniqueParameter("blender","YF_dofdist",cam->YF_dofdist);
+	return true;
+
+}

Modified: trunk/blender/source/blender/collada/CameraExporter.h
===================================================================
--- trunk/blender/source/blender/collada/CameraExporter.h	2013-09-05 04:26:08 UTC (rev 59817)
+++ trunk/blender/source/blender/collada/CameraExporter.h	2013-09-05 06:58:27 UTC (rev 59818)
@@ -37,6 +37,7 @@
 }
 
 #include "ExportSettings.h"
+#include "DNA_camera_types.h"
 
 class CamerasExporter: COLLADASW::LibraryCameras
 {
@@ -45,6 +46,7 @@
 	void exportCameras(Scene *sce);
 	void operator()(Object *ob, Scene *sce);
 private:
+	bool exportBlenderProfile(COLLADASW::Camera &cla,Camera *cam);
 	const ExportSettings *export_settings;
 };
 

Modified: trunk/blender/source/blender/collada/DocumentImporter.cpp
===================================================================
--- trunk/blender/source/blender/collada/DocumentImporter.cpp	2013-09-05 04:26:08 UTC (rev 59817)
+++ trunk/blender/source/blender/collada/DocumentImporter.cpp	2013-09-05 06:58:27 UTC (rev 59818)
@@ -933,6 +933,7 @@
 	Camera *cam = NULL;
 	std::string cam_id, cam_name;
 	
+	ExtraTags *et=getExtraTags(camera->getUniqueId());
 	cam_id = camera->getOriginalId();
 	cam_name = camera->getName();
 	if (cam_name.size()) cam = (Camera *)BKE_camera_add(G.main, (char *)cam_name.c_str());
@@ -942,6 +943,12 @@
 		fprintf(stderr, "Cannot create camera.\n");
 		return true;
 	}
+
+	if(et && et->isProfile("blender")) {
+		et->setData("shiftx",&(cam->shiftx));
+		et->setData("shifty",&(cam->shifty));
+		et->setData("YF_dofdist",&(cam->YF_dofdist));
+	}
 	cam->clipsta = camera->getNearClippingPlane().getValue();
 	cam->clipend = camera->getFarClippingPlane().getValue();
 	




More information about the Bf-blender-cvs mailing list