fixed parser/nodes.h node classes not specifying "const" when overriding methods
git-svn-id: svn://anubis/fart/branches/scene-file-scripting@319 7f9b0f55-74a9-4bce-be96-3c2cd072584d
This commit is contained in:
parent
2f825f29f9
commit
1afa2b6510
@ -15,16 +15,30 @@ class Node
|
||||
void addChildren(refptr<Node> other);
|
||||
std::vector< refptr<Node> > & getChildren() { return m_children; }
|
||||
|
||||
virtual int getInteger() const { return 0; }
|
||||
virtual double getNumber() const { return 0.0; }
|
||||
virtual int getInteger() const
|
||||
{
|
||||
std::cerr << "Warning: Node::getInteger() called!" << std::endl;
|
||||
return 0;
|
||||
}
|
||||
virtual double getNumber() const
|
||||
{
|
||||
std::cerr << "Warning: Node::getNumber() called!" << std::endl;
|
||||
return 0.0;
|
||||
}
|
||||
virtual refptr<Vector> getVector() const
|
||||
{
|
||||
std::cerr << "Warning: Node::getVector() called!" << std::endl;
|
||||
return refptr<Vector>(NULL);
|
||||
}
|
||||
virtual std::string getString() const
|
||||
{
|
||||
std::cerr << "Warning: Node::getString() called!" << std::endl;
|
||||
return "";
|
||||
}
|
||||
|
||||
virtual bool isShape() const { return false; }
|
||||
virtual bool isMaterial() const { return false; }
|
||||
virtual bool isTransformBlock() const { return false; }
|
||||
virtual std::string getString() const { return ""; }
|
||||
virtual bool isExpression() const { return false; }
|
||||
|
||||
protected:
|
||||
@ -36,8 +50,8 @@ class IntegerNode : public Node
|
||||
{
|
||||
public:
|
||||
IntegerNode(int number) { m_number = number; }
|
||||
int getInteger() { return m_number; }
|
||||
double getNumber() { return m_number; }
|
||||
int getInteger() const { return m_number; }
|
||||
double getNumber() const { return m_number; }
|
||||
|
||||
protected:
|
||||
int m_number;
|
||||
@ -56,7 +70,7 @@ class NumberNode : public Node
|
||||
addChild(expr);
|
||||
m_direct = false;
|
||||
}
|
||||
double getNumber()
|
||||
double getNumber() const
|
||||
{
|
||||
return m_direct ? m_number : m_children[0]->getNumber();
|
||||
}
|
||||
@ -79,7 +93,7 @@ class VectorNode : public Node
|
||||
{
|
||||
addChild(node);
|
||||
}
|
||||
refptr<Vector> getVector()
|
||||
refptr<Vector> getVector() const
|
||||
{
|
||||
if (m_children.size() == 1)
|
||||
{
|
||||
@ -92,7 +106,12 @@ class VectorNode : public Node
|
||||
m_children[1]->getNumber(),
|
||||
m_children[2]->getNumber());
|
||||
}
|
||||
return NULL;
|
||||
else
|
||||
{
|
||||
std::cerr << "Warning: VectorNode::getVector() returning NULL!"
|
||||
<< std::endl;
|
||||
return NULL;
|
||||
}
|
||||
}
|
||||
};
|
||||
|
||||
@ -158,7 +177,7 @@ class IdentifierNode : public Node
|
||||
{
|
||||
public:
|
||||
IdentifierNode(const std::string & str) { m_string = str; }
|
||||
std::string getString()
|
||||
std::string getString() const
|
||||
{
|
||||
return m_string;
|
||||
}
|
||||
@ -253,7 +272,7 @@ class PlanePositionNode : public VectorNode
|
||||
{
|
||||
m_dist = dist;
|
||||
}
|
||||
double getNumber() { return m_dist->getNumber(); }
|
||||
double getNumber() const { return m_dist->getNumber(); }
|
||||
|
||||
protected:
|
||||
refptr<Node> m_dist;
|
||||
@ -412,7 +431,7 @@ class ExpressionNode : public Node
|
||||
{
|
||||
public:
|
||||
bool isExpression() const { return true; }
|
||||
virtual double getInteger() { return getNumber(); }
|
||||
virtual int getInteger() const { return getNumber(); }
|
||||
};
|
||||
|
||||
class BinOpNode : public ExpressionNode
|
||||
|
Loading…
x
Reference in New Issue
Block a user