TuttleOFX  1
TuttleOFX/libraries/tuttle/src/tuttle/host/attribute/ParamDouble2D.hpp
Go to the documentation of this file.
00001 #ifndef _TUTTLE_HOST_CORE_ATTRIBUTE_PARAMDOUBLE2D_HPP_
00002 #define _TUTTLE_HOST_CORE_ATTRIBUTE_PARAMDOUBLE2D_HPP_
00003 
00004 #include "Param.hpp"
00005 #include "ParamDoubleMultiDim.hpp"
00006 
00007 namespace tuttle {
00008 namespace host {
00009 namespace attribute {
00010 
00011 class ParamDouble2D : public Param
00012         , public ParamDoubleMultiDim<2>
00013 {
00014 public:
00015         ParamDouble2D( INode& effect, const std::string& name, const ofx::attribute::OfxhParamDescriptor& descriptor );
00016         ParamDouble2D* clone() const { return new ParamDouble2D( *this ); }
00017 
00018         OfxPointD getDefault() const;
00019 
00020         
00021         void getValue( double& x, double& y ) const OFX_EXCEPTION_SPEC;
00022         void getValueAtTime( const OfxTime time, double& x, double& y ) const OFX_EXCEPTION_SPEC;
00023         
00024         void setValue( const double& x, const double& y, const ofx::attribute::EChange change ) OFX_EXCEPTION_SPEC;
00025         void setValueAtTime( const OfxTime time, const double& x, const double& y, const ofx::attribute::EChange change ) OFX_EXCEPTION_SPEC;
00026                 
00027         void setValue( const int& x, const int& y, const ofx::attribute::EChange change ) OFX_EXCEPTION_SPEC
00028         {
00029                 setValue( (double)x, (double)y, change );
00030         }
00031         void setValueAtTime( const OfxTime time, const int& x, const int& y, const ofx::attribute::EChange change ) OFX_EXCEPTION_SPEC
00032         {
00033                 setValueAtTime( time, (double)x, (double)y, change );
00034         }
00035 };
00036 
00037 }
00038 }
00039 }
00040 
00041 #endif