From Farshid Lashkari, "Attached is a patch that adds the new coordOriginMode to the .osg

reader/writer for PointSprites."
This commit is contained in:
Robert Osfield
2006-11-16 17:35:12 +00:00
parent 052d44a440
commit e45245b7d6

View File

@@ -26,13 +26,40 @@ RegisterDotOsgWrapperProxy g_PointSpriteProxy
);
bool PointSprite_readLocalData(Object&, Input&)
bool PointSprite_readLocalData(Object& obj, Input& fr)
{
return false;
bool iteratorAdvanced = false;
PointSprite& ps = static_cast<PointSprite&>(obj);
if (fr[0].matchWord("coordOriginMode"))
{
if (fr[1].matchWord("UPPER_LEFT"))
{
ps.setCoordOriginMode(PointSprite::UPPER_LEFT);
fr+=2;
iteratorAdvanced = true;
}
else if (fr[1].matchWord("LOWER_LEFT"))
{
ps.setCoordOriginMode(PointSprite::LOWER_LEFT);
fr+=2;
iteratorAdvanced = true;
}
}
return iteratorAdvanced;
}
bool PointSprite_writeLocalData(const Object&,Output&)
bool PointSprite_writeLocalData(const Object& obj, Output& fw)
{
const PointSprite& ps = static_cast<const PointSprite&>(obj);
switch(ps.getCoordOriginMode())
{
case(PointSprite::UPPER_LEFT): fw.indent() << "coordOriginMode UPPER_LEFT" << std::endl; break;
case(PointSprite::LOWER_LEFT): fw.indent() << "coordOriginMode LOWER_LEFT" << std::endl; break;
}
return true;
}