Thank you. I missed getLocalVars. I'll fix my code to use it.
I uploaded a screenshot of my current SeExpr integration work here:
https://picasaweb.google.com/lh/photo/RWMcOYcnYmC7FSOdkuTjXtZD6BzO0NT8YzGckvjrCSA?feat=directlink
I think that extending the library to use 4d vectors is a good idea,
or even vecN where N could be a compile time
option.
In my previous code, I was using boost variant.
It was something like this:
typedef boost::variant<float, Imath::V3f, Imath::Color4f> result_type;
and I had unary and binary visitors to apply functions and operators:
struct plus_visitor : public boost::static_visitor<result_type>
{
template <class T>
result_type operator()( const T& lhs, const T& rhs) const { return
lhs + rhs;}
template <class X, class Y>
result_type operator()( const X& lhs, const Y& rhs) const
{
assert( 0);
return result_type();
}
};
In my experience, adding a new type to the variant after the code is
written is not a lot of work.
Just an idea. I didn't get too far with it.
Est.