1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43
|
REGISTER_TYPE(BoundingBox, odfaeg::BoundingVolume, odfaeg::BoundingBox)
REGISTER_TYPE(BoundingSphere, odfaeg::BoundingVolume, odfaeg::BoundingSphere)
sf::VideoMode mode(800, 600);
sf::ContextSettings settings(0, 0, 4, 3, 0);
odfaeg::RenderWindow window(mode, "test", sf::Style::Default, settings);
odfaeg::Texture tex, tex2;
tex.loadFromFile("tilesets/herbe.png");
std::ostringstream oss;
std::string text = "Ceci est un texte.";
std::ofstream ofss("FichierDeSerialization.tex");
{
odfaeg::OTextArchive oa(ofss);
oa(tex);
//oa<<ofss;
}
ofss.close();
std::istringstream iss;
std::ifstream ifss("FichierDeSerialization.tex");
{
odfaeg::ITextArchive ia(ifss);
ia(tex2);
//ia>>ifss;
}
ifss.close();
odfaeg::BoundingVolume* b1 = new odfaeg::BoundingSphere(odfaeg::Vec3f(0, 0, 0), 100);
odfaeg::BoundingVolume* b2;
std::ofstream ofs("FichierDeSerialisation");
odfaeg::OTextArchive oa(ofs);
REGISTER_FUNC(BoundingBox, OTextArchive, serialize, odfaeg::BoundingVolume, odfaeg::BoundingBox, new odfaeg::BoundingBox(), &oa);
REGISTER_FUNC(BoundingSphere, OTextArchive, serialize, odfaeg::BoundingVolume, odfaeg::BoundingSphere, new odfaeg::BoundingSphere(), &oa);
oa(b1);
ofs.close();
std::ifstream ifs("FichierDeSerialisation");
odfaeg::ITextArchive ia(ifs);
REGISTER_FUNC(BoundingBox, ITextArchive, serialize, odfaeg::BoundingVolume, odfaeg::BoundingBox, new odfaeg::BoundingBox(), &ia);
REGISTER_FUNC(BoundingSphere, ITextArchive, serialize, odfaeg::BoundingVolume, odfaeg::BoundingSphere, new odfaeg::BoundingSphere(), &ia);
ia(b2);
std::cout<<static_cast<odfaeg::BoundingSphere*>(b2)->getCenter()<<" "<<static_cast<odfaeg::BoundingSphere*>(b2)->getRadius()<<std::endl;
ifs.close(); |
Partager