**
** \legal
** Copyright (c) 2002-2005 Robert B. Quattlebaum Jr., Adrian Bentley
-** Copyright (c) 2007 Chris Moore
+** Copyright (c) 2007, 2008 Chris Moore
**
** This package is free software; you can redistribute it and/or
** modify it under the terms of the GNU General Public License as
#include "valuenode_const.h"
#include <stdexcept>
#include "color.h"
+#include "gradient.h"
#include "vector.h"
#include "angle.h"
#include "real.h"
set_link("lhs",ValueNode_Const::create(value.get(Color())));
set_link("rhs",ValueNode_Const::create(Color(0,0,0,0)));
break;
+ case ValueBase::TYPE_GRADIENT:
+ set_link("lhs",ValueNode_Const::create(value.get(Gradient())));
+ set_link("rhs",ValueNode_Const::create(Gradient()));
+ break;
case ValueBase::TYPE_INTEGER:
set_link("lhs",ValueNode_Const::create(value.get(int())));
set_link("rhs",ValueNode_Const::create(int(0)));
return ((*ref_a)(t).get(Angle())+(*ref_b)(t).get(Angle()))*(*scalar)(t).get(Real());
case ValueBase::TYPE_COLOR:
return ((*ref_a)(t).get(Color())+(*ref_b)(t).get(Color()))*(*scalar)(t).get(Real());
+ case ValueBase::TYPE_GRADIENT:
+ return ((*ref_a)(t).get(Gradient())+(*ref_b)(t).get(Gradient()))*(*scalar)(t).get(Real());
case ValueBase::TYPE_INTEGER:
return round_to_int(((*ref_a)(t).get(int())+(*ref_b)(t).get(int()))*(*scalar)(t).get(Real()));
case ValueBase::TYPE_REAL:
{
return type==ValueBase::TYPE_ANGLE
|| type==ValueBase::TYPE_COLOR
+ || type==ValueBase::TYPE_GRADIENT
|| type==ValueBase::TYPE_INTEGER
|| type==ValueBase::TYPE_REAL
|| type==ValueBase::TYPE_TIME