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));
55 COLLADASW::PerspectiveOptic persp(mSW);
57 persp.setAspectRatio(
float(sce->
r.
xsch) /
float(sce->
r.
ysch),
false,
"aspect_ratio");
58 persp.setZFar(cam->
clip_end,
false,
"zfar");
59 persp.setZNear(cam->
clip_start,
false,
"znear");
60 COLLADASW::Camera ccam(mSW, &persp, cam_id, cam_name);
61 exportBlenderProfile(ccam, cam);
68 COLLADASW::OrthographicOptic ortho(mSW);
70 ortho.setAspectRatio(
float(sce->
r.
xsch) /
float(sce->
r.
ysch),
false,
"aspect_ratio");
71 ortho.setZFar(cam->
clip_end,
false,
"zfar");
72 ortho.setZNear(cam->
clip_start,
false,
"znear");
73 COLLADASW::Camera ccam(mSW, &ortho, cam_id, cam_name);
74 exportBlenderProfile(ccam, cam);
80bool CamerasExporter::exportBlenderProfile(COLLADASW::Camera &cm,
Camera *cam)
82 cm.addExtraTechniqueParameter(
"blender",
"shiftx", cam->
shiftx);
83 cm.addExtraTechniqueParameter(
"blender",
"shifty", cam->
shifty);
84 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