Author: Carlos Lopez <[email protected]>
Date: Wed Aug 31 21:23:36 2011 +0200
Add code to ValueNode_Sine class to use homogeneous movements
---
synfig-core/src/synfig/valuenode_sine.cpp | 21 +++++++++++++++------
1 files changed, 15 insertions(+), 6 deletions(-)
diff --git a/synfig-core/src/synfig/valuenode_sine.cpp
b/synfig-core/src/synfig/valuenode_sine.cpp
index aee3325..34b7695 100644
--- a/synfig-core/src/synfig/valuenode_sine.cpp
+++ b/synfig-core/src/synfig/valuenode_sine.cpp
@@ -33,6 +33,7 @@
#include "valuenode_sine.h"
#include "valuenode_const.h"
+#include "valuenode_bline.h"
#include "general.h"
#endif
@@ -89,12 +90,18 @@ ValueNode_Sine::operator()(Time t)const
{
if (getenv("SYNFIG_DEBUG_VALUENODE_OPERATORS"))
printf("%s:%d operator()\n", __FILE__, __LINE__);
-
- return
- Angle::sin(
- (*angle_)(t).get(Angle())
- ).get() * (*amp_)(t).get(Real())
- ;
+ Real amplitude((*amp_)(t).get(Real())), sine_value;
+ ValueNode::Handle bline_value_node(get_bline());
+ if(bline_value_node)
+ {
+ ValueBase bline((*bline_value_node)(t));
+ amplitude=std_to_hom(bline, amplitude, bline.get_loop());
+ sine_value= Angle::sin((*angle_)(t).get(Angle())).get() *
amplitude;
+ sine_value=hom_to_std(bline, sine_value, bline.get_loop());
+ }
+ else
+ sine_value=Angle::sin((*angle_)(t).get(Angle())).get() *
amplitude;
+ return sine_value;
}
@@ -153,11 +160,13 @@ ValueNode_Sine::get_children_vocab_vfunc()const
ret.push_back(ParamDesc(ValueBase(),"angle")
.set_local_name(_("Angle"))
.set_description(_("The angle where the sine is calculated
from"))
+ .set_is_bline_linked(true)
);
ret.push_back(ParamDesc(ValueBase(),"amp")
.set_local_name(_("Amplitude"))
.set_description(_("The value that multiplies the resulting
sine"))
+ .set_is_bline_linked(true)
);
return ret;
------------------------------------------------------------------------------
Special Offer -- Download ArcSight Logger for FREE!
Finally, a world-class log management solution at an even better
price-free! And you'll get a free "Love Thy Logs" t-shirt when you
download Logger. Secure your free ArcSight Logger TODAY!
http://p.sf.net/sfu/arcsisghtdev2dev
_______________________________________________
Synfig-devl mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/synfig-devl