00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018 #ifndef __HOM_BaseKeyframe_h__
00019 #define __HOM_BaseKeyframe_h__
00020
00021 #include "HOM_API.h"
00022 #include "HOM_Defines.h"
00023 #include "HOM_Errors.h"
00024 #include "HOM_Module.h"
00025 #include "HOM_EnumModules.h"
00026 #include <string>
00027
00028 SWIGOUT(%rename(BaseKeyframe) HOM_BaseKeyframe;)
00029
00030 class HOM_API HOM_BaseKeyframe
00031 {
00032 public:
00033 HOM_BaseKeyframe();
00034 HOM_BaseKeyframe(const HOM_BaseKeyframe &base_keyframe);
00035 virtual ~HOM_BaseKeyframe();
00036
00037 virtual bool operator==(HOM_BaseKeyframe &base_keyframe);
00038 virtual bool operator!=(HOM_BaseKeyframe &base_keyframe);
00039
00040 virtual int __hash__();
00041 virtual std::string __repr__() = 0;
00042
00043 SWIGPYTHONOUT(%feature("autodoc",
00044 "evaluatedType(self) -> hou.parmData enum value") evaluatedType;)
00045 virtual HOM_EnumValue &evaluatedType() = 0;
00046
00047 void setExpression(const std::string &expression,
00048 HOM_EnumValue *language = NULL)
00049 throw(HOM_TypeError);
00050 std::string expression() throw(HOM_KeyframeValueNotSet, HOM_Error);
00051 bool isExpressionSet();
00052
00053 SWIGPYTHONOUT(%feature("autodoc",
00054 "expressionLanguage(self) -> hou.exprLanguage enum value")
00055 expressionLanguage;)
00056 HOM_EnumValue &expressionLanguage()
00057 throw(HOM_KeyframeValueNotSet, HOM_Error);
00058 bool isExpressionLanguageSet();
00059
00060 void setTime(double time);
00061 bool isTimeSet();
00062 double time() throw(HOM_KeyframeValueNotSet, HOM_Error);
00063
00064 void setFrame(double frame) throw(HOM_Error);
00065 double frame() throw(HOM_KeyframeValueNotSet, HOM_Error);
00066
00067 SWIGOUT(%kwargs asCode;)
00068 virtual std::string asCode(
00069 bool brief=false,
00070 bool save_keys_in_frames=false,
00071 const char *function_name=NULL)
00072 throw(HOM_Error) = 0;
00073
00074 protected:
00075 double myTime;
00076 bool myIsTimeSet;
00077
00078 std::string myExpression;
00079 HOM_EnumValue *myExpressionLanguage;
00080 bool myIsExpressionSet;
00081 };
00082
00083 #endif