[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