filled out Scene::processTransformBlock()

git-svn-id: svn://anubis/fart/trunk@170 7f9b0f55-74a9-4bce-be96-3c2cd072584d
This commit is contained in:
Josh Holtrop 2009-03-01 22:31:42 +00:00
parent 84249c8231
commit 0ea6e96e0a

View File

@ -257,6 +257,26 @@ void Scene::processOptions(refptr<Node> node)
void Scene::processTransformBlock(refptr<Node> node) void Scene::processTransformBlock(refptr<Node> node)
{ {
if ( typeid(*node) == typeid(TranslateBlockNode) )
{
m_transforms.push(m_transforms.top());
m_transforms.top().translate(node->getVector());
}
else if ( typeid(*node) == typeid(RotateBlockNode) )
{
m_transforms.push(m_transforms.top());
m_transforms.top().rotate(node->getNumber(),
node->getVector());
}
else if ( typeid(*node) == typeid(ScaleBlockNode) )
{
m_transforms.push(m_transforms.top());
m_transforms.top().scale(node->getVector());
}
processChildren(node);
m_transforms.pop();
} }
refptr<Material> Scene::processMaterial(refptr<Node> node) refptr<Material> Scene::processMaterial(refptr<Node> node)