fixed NumberNode and VectorNode "direct" bugs
git-svn-id: svn://anubis/fart/branches/scene-file-scripting@341 7f9b0f55-74a9-4bce-be96-3c2cd072584d
This commit is contained in:
parent
4d488b9e55
commit
1dc370c99f
@ -62,24 +62,28 @@ class NumberNode : public Node
|
||||
{
|
||||
public:
|
||||
NumberNode(double number)
|
||||
: m_number(number), m_direct(true)
|
||||
{
|
||||
m_number = number;
|
||||
}
|
||||
NumberNode(NodeRef expr)
|
||||
: m_direct(false)
|
||||
{
|
||||
m_expr = expr;
|
||||
}
|
||||
virtual double getNumber()
|
||||
{
|
||||
return m_number;
|
||||
return m_direct ? m_number : m_expr->getNumber();
|
||||
}
|
||||
virtual refptr<Node> evaluate()
|
||||
{
|
||||
return new NumberNode(m_number);
|
||||
return m_direct
|
||||
? new NumberNode(m_number)
|
||||
: new NumberNode(m_expr->evaluate());
|
||||
}
|
||||
|
||||
protected:
|
||||
double m_number;
|
||||
bool m_direct;
|
||||
NodeRef m_expr;
|
||||
};
|
||||
|
||||
@ -100,7 +104,7 @@ class VectorNode : public Node
|
||||
? new Vector(m_a->getNumber(),
|
||||
m_b->getNumber(),
|
||||
m_c->getNumber())
|
||||
: m_a->getVector();
|
||||
: m_vector->getVector();
|
||||
}
|
||||
virtual NodeRef evaluate()
|
||||
{
|
||||
@ -108,7 +112,7 @@ class VectorNode : public Node
|
||||
? new VectorNode(m_a->evaluate(),
|
||||
m_b->evaluate(),
|
||||
m_c->evaluate())
|
||||
: m_a->evaluate();
|
||||
: m_vector->evaluate();
|
||||
}
|
||||
protected:
|
||||
NodeRef m_a, m_b, m_c, m_vector;
|
||||
|
Loading…
x
Reference in New Issue
Block a user