fixed VectorNode storing expression nodes as children instead of class members; fixed JitterNode not implementing getInteger()
git-svn-id: svn://anubis/fart/branches/scene-file-scripting@321 7f9b0f55-74a9-4bce-be96-3c2cd072584d
This commit is contained in:
parent
83fd083af8
commit
bd60471dfa
@ -84,35 +84,24 @@ class VectorNode : public Node
|
|||||||
{
|
{
|
||||||
public:
|
public:
|
||||||
VectorNode(refptr<Node> a, refptr<Node> b, refptr<Node> c)
|
VectorNode(refptr<Node> a, refptr<Node> b, refptr<Node> c)
|
||||||
|
: m_a(a), m_b(b), m_c(c), m_direct(true)
|
||||||
{
|
{
|
||||||
addChild(a);
|
|
||||||
addChild(b);
|
|
||||||
addChild(c);
|
|
||||||
}
|
}
|
||||||
VectorNode(refptr<Node> node)
|
VectorNode(refptr<Node> node)
|
||||||
|
: m_a(node), m_direct(false)
|
||||||
{
|
{
|
||||||
addChild(node);
|
|
||||||
}
|
}
|
||||||
refptr<Vector> getVector()
|
refptr<Vector> getVector()
|
||||||
{
|
{
|
||||||
if (m_children.size() == 1)
|
return m_direct
|
||||||
{
|
? new Vector(m_a->getNumber(),
|
||||||
return m_children[0]->getVector();
|
m_b->getNumber(),
|
||||||
}
|
m_c->getNumber())
|
||||||
else if (m_children.size() == 3)
|
: m_a->getVector();
|
||||||
{
|
|
||||||
return new Vector(
|
|
||||||
m_children[0]->getNumber(),
|
|
||||||
m_children[1]->getNumber(),
|
|
||||||
m_children[2]->getNumber());
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
std::cerr << "Warning: VectorNode::getVector() returning NULL!"
|
|
||||||
<< std::endl;
|
|
||||||
return NULL;
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
protected:
|
||||||
|
refptr<Node> m_a, m_b, m_c;
|
||||||
|
bool m_direct;
|
||||||
};
|
};
|
||||||
|
|
||||||
class AmbientNode : public VectorNode
|
class AmbientNode : public VectorNode
|
||||||
@ -199,6 +188,7 @@ class JitterNode : public NumberNode
|
|||||||
{
|
{
|
||||||
public:
|
public:
|
||||||
JitterNode(refptr<Node> e) : NumberNode(e) {}
|
JitterNode(refptr<Node> e) : NumberNode(e) {}
|
||||||
|
int getInteger() { return getNumber(); }
|
||||||
};
|
};
|
||||||
|
|
||||||
class LightNode : public Node
|
class LightNode : public Node
|
||||||
|
Loading…
x
Reference in New Issue
Block a user