/* === S Y N F I G ========================================================= */
/*! \file valuenode_blinecalctangent.cpp
-** \brief Template File
+** \brief Implementation of the "BLine Tangent" valuenode conversion.
**
** $Id$
**
** \legal
** Copyright (c) 2002-2005 Robert B. Quattlebaum Jr., Adrian Bentley
+** Copyright (c) 2007 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
LinkableValueNode(x)
{
if(x!=ValueBase::TYPE_ANGLE && x!=ValueBase::TYPE_VECTOR)
- throw Exception::BadType(ValueBase::type_name(x));
+ throw Exception::BadType(ValueBase::type_local_name(x));
ValueNode_BLine* value_node(new ValueNode_BLine());
set_link("bline",value_node);
}
bool
-ValueNode_BLineCalcTangent::set_link_vfunc(int i,ValueNode::Handle x)
+ValueNode_BLineCalcTangent::set_link_vfunc(int i,ValueNode::Handle value)
{
assert(i>=0 && i<link_count());
+
switch(i)
{
- case 0:
- bline_=x;
- signal_child_changed()(i);signal_value_changed()();
- return true;
- case 1:
- loop_=x;
- signal_child_changed()(i);signal_value_changed()();
- return true;
- case 2:
- amount_=x;
- signal_child_changed()(i);signal_value_changed()();
- return true;
+ case 0: CHECK_TYPE_AND_SET_VALUE(bline_, ValueBase::TYPE_LIST);
+ case 1: CHECK_TYPE_AND_SET_VALUE(loop_, ValueBase::TYPE_BOOL);
+ case 2: CHECK_TYPE_AND_SET_VALUE(amount_, ValueBase::TYPE_REAL);
}
return false;
}
ValueNode_BLineCalcTangent::get_link_vfunc(int i)const
{
assert(i>=0 && i<link_count());
+
switch(i)
{
case 0: return bline_;
ValueNode_BLineCalcTangent::link_name(int i)const
{
assert(i>=0 && i<link_count());
+
switch(i)
{
case 0: return "bline";
ValueNode_BLineCalcTangent::link_local_name(int i)const
{
assert(i>=0 && i<link_count());
+
switch(i)
{
case 0: return _("BLine");