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