vvoid
CSGLight::XMLWrite(FILE *fp)
v{
v fprintf(fp,"<CSGLight\n");
v fprintf(fp,"DC0=
\"%f\" DC1= \"%f\" DC2= \"%f\" DC3=
\"%f\" \n",
DiffuseColor[0]
,DiffuseColor[1],DiffuseColor[2],DiffuseColor[3]);
v fprintf(fp,"AC0=
\"%f\" AC1= \"%f\" AC2= \"%f\" AC3=
\"%f\" \n",
AmbientColor[0]
,AmbientColor[1],AmbientColor[2],AmbientColor[3]);
v fprintf(fp,"SC0=
\"%f\" SC1= \"%f\" SC2= \"%f\" SC3=
\"%f\" \n",
SpecularColor[0],SpecularColor[1],SpecularColor[2],SpecularColor[3]);
v fprintf(fp,"PT0=
\"%f\" PT1= \"%f\" PT2= \"%f\" PT3=
\"%f\" \n",
Position[0],
Position[1],Position[2],Position[3]);
v fprintf(fp,"/>\n");
v}
vvoid
CSGLight::XMLRead(Xml &xml, CSG *Base)
v{
v assert(xml.id == "CSGLight");
v DiffuseColor[0] =
(float)atof(xml["DC0"].c_str()); DiffuseColor[1] =
(float)atof(xml["DC1"].c_str());
v AmbientColor[0] =
(float)atof(xml["AC0"].c_str()); AmbientColor[1] =
(float)atof(xml["AC1"].c_str());
v SpecularColor[0] =
(float)atof(xml["SC0"].c_str()); SpecularColor[1] =
(float)atof(xml["SC1"].c_str());
v Position[0] =
(float)atof(xml["PT0"].c_str()); Position[1] =
(float)atof(xml["PT1"].c_str());
v
v DiffuseColor[2] = (float)atof(xml["DC2"].c_str());DiffuseColor[3] =
(float)atof(xml["DC3"].c_str());
v AmbientColor[2] = (float)atof(xml["AC2"].c_str());AmbientColor[3] =
(float)atof(xml["AC3"].c_str());
v SpecularColor[2] =
(float)atof(xml["SC2"].c_str());SpecularColor[3] =
(float)atof(xml["SC3"].c_str());
v Position[2] = (float)atof(xml["PT2"].c_str());Position[3] =
(float)atof(xml["PT3"].c_str());
v}
v