11#include "COLLADASWColor.h"
12#include "COLLADASWLight.h"
17template<
class Functor>
21 for (node = export_set;
node; node = node->
next) {
31 : COLLADASW::LibraryLights(sw), export_settings(export_settings)
48 std::string la_name(
id_name(la));
53 COLLADASW::DirectionalLight cla(mSW, la_id, la_name);
54 cla.setColor(
col,
false,
"color");
55 exportBlenderProfile(cla, la);
61 COLLADASW::SpotLight cla(mSW, la_id, la_name);
62 cla.setColor(
col,
false,
"color");
64 cla.setFallOffExponent(la->
spotblend,
false,
"fall_off_exponent");
65 exportBlenderProfile(cla, la);
70 COLLADASW::PointLight cla(mSW, la_id, la_name);
71 cla.setColor(
col,
false,
"color");
72 exportBlenderProfile(cla, la);
78 COLLADASW::PointLight cla(mSW, la_id, la_name);
79 cla.setColor(
col,
false,
"color");
80 exportBlenderProfile(cla, la);
85bool LightsExporter::exportBlenderProfile(COLLADASW::Light &cla,
Light *la)
87 cla.addExtraTechniqueParameter(
"blender",
"type", la->
type);
88 cla.addExtraTechniqueParameter(
"blender",
"flag", la->
flag);
89 cla.addExtraTechniqueParameter(
"blender",
"mode", la->
mode);
90 cla.addExtraTechniqueParameter(
"blender",
"red", la->
r);
91 cla.addExtraTechniqueParameter(
"blender",
"green", la->
g);
92 cla.addExtraTechniqueParameter(
"blender",
"blue", la->
b);
93 cla.addExtraTechniqueParameter(
"blender",
"energy", la->
energy,
"blender_energy");
94 cla.addExtraTechniqueParameter(
"blender",
"spotsize",
RAD2DEGF(la->
spotsize));
95 cla.addExtraTechniqueParameter(
"blender",
"spotblend", la->
spotblend);
96 cla.addExtraTechniqueParameter(
"blender",
"clipsta", la->
clipsta);
97 cla.addExtraTechniqueParameter(
"blender",
"clipend", la->
att_dist);
98 cla.addExtraTechniqueParameter(
"blender",
"radius", la->
radius);
99 cla.addExtraTechniqueParameter(
"blender",
"area_shape", la->
area_shape);
100 cla.addExtraTechniqueParameter(
"blender",
"area_size", la->
area_size);
101 cla.addExtraTechniqueParameter(
"blender",
"area_sizey", la->
area_sizey);
102 cla.addExtraTechniqueParameter(
"blender",
"area_sizez", la->
area_sizez);
void forEachLightObjectInExportSet(Scene *sce, Functor &f, LinkNode *export_set)
void exportLights(Scene *sce)
LightsExporter(COLLADASW::StreamWriter *sw, BCExportSettings &export_settings)
void operator()(Object *ob)
std::string get_light_id(Object *ob)
std::string id_name(void *id)