11#include "COLLADASWCamera.h"
20 : COLLADASW::LibraryCameras(sw), export_settings(export_settings)
24template<
class Functor>
28 for (node = export_set;
node; node = node->
next) {
49 std::string cam_name(
id_name(cam));
54 COLLADASW::PerspectiveOptic persp(mSW);
56 persp.setAspectRatio(
float(sce->
r.
xsch) /
float(sce->
r.
ysch),
false,
"aspect_ratio");
57 persp.setZFar(cam->
clip_end,
false,
"zfar");
58 persp.setZNear(cam->
clip_start,
false,
"znear");
59 COLLADASW::Camera ccam(mSW, &persp, cam_id, cam_name);
60 exportBlenderProfile(ccam, cam);
67 COLLADASW::OrthographicOptic ortho(mSW);
69 ortho.setAspectRatio(
float(sce->
r.
xsch) /
float(sce->
r.
ysch),
false,
"aspect_ratio");
70 ortho.setZFar(cam->
clip_end,
false,
"zfar");
71 ortho.setZNear(cam->
clip_start,
false,
"znear");
72 COLLADASW::Camera ccam(mSW, &ortho, cam_id, cam_name);
73 exportBlenderProfile(ccam, cam);
79bool CamerasExporter::exportBlenderProfile(COLLADASW::Camera &cm,
Camera *cam)
81 cm.addExtraTechniqueParameter(
"blender",
"shiftx", cam->
shiftx);
82 cm.addExtraTechniqueParameter(
"blender",
"shifty", cam->
shifty);
83 cm.addExtraTechniqueParameter(
"blender",
"dof_distance", cam->
dof.
focus_distance);
float focallength_to_fov(float focal_length, float sensor)
void forEachCameraObjectInExportSet(Scene *sce, Functor &f, LinkNode *export_set)
void operator()(Object *ob, Scene *sce)
void exportCameras(Scene *sce)
CamerasExporter(COLLADASW::StreamWriter *sw, BCExportSettings &export_settings)
std::string get_camera_id(Object *ob)
std::string id_name(void *id)
struct CameraDOFSettings dof