filled out Scene::processTransformBlock()
git-svn-id: svn://anubis/fart/trunk@170 7f9b0f55-74a9-4bce-be96-3c2cd072584d
This commit is contained in:
1 parent
84249c8231
commit
0ea6e96e0a
1 file changed
+20
@@ -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)
|
||||||
|
|||||||
Reference in new issue
Block a user