HDK
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
HOM_BaseKeyframe.h
Go to the documentation of this file.
1 /*
2  * PROPRIETARY INFORMATION. This software is proprietary to
3  * Side Effects Software Inc., and is not to be reproduced,
4  * transmitted, or disclosed in any way without written permission.
5  *
6  * COMMENTS:
7  * The user of HOM will never really know about this class. They'll
8  * work with either Keyframe or StringKeyframe objects.
9  */
10 
11 #ifndef __HOM_BaseKeyframe_h__
12 #define __HOM_BaseKeyframe_h__
13 
14 #include "HOM_API.h"
15 #include "HOM_Defines.h"
16 #include "HOM_Errors.h"
17 #include "HOM_Module.h"
18 #include "HOM_EnumModules.h"
19 #include "HOM_PtrOrNull.h"
20 #include <string>
21 
22 SWIGOUT(%rename(BaseKeyframe) HOM_BaseKeyframe;)
23 
25 {
26 public:
28  HOM_BaseKeyframe(const HOM_BaseKeyframe &base_keyframe);
29  virtual ~HOM_BaseKeyframe();
30 
31  virtual bool operator==(HOM_PtrOrNull<HOM_BaseKeyframe> base_keyframe);
32  virtual bool operator!=(HOM_PtrOrNull<HOM_BaseKeyframe> base_keyframe);
33 
34  virtual int __hash__();
35  virtual std::string __repr__() = 0;
36 
37  virtual HOM_EnumValue &evaluatedType() = 0;
38 
39  void setExpression(const std::string &expression,
40  HOM_EnumValue *language = NULL);
41  std::string expression();
42  bool isExpressionSet();
43 
44  HOM_EnumValue &expressionLanguage();
45  bool isExpressionLanguageSet();
46 
47  void setTime(double time);
48  bool isTimeSet();
49  double time();
50 
51  void setFrame(double frame);
52  double frame();
53 
54  SWIGOUT(%kwargs asCode;)
55  virtual std::string asCode(
56  bool brief=false,
57  bool save_keys_in_frames=false,
58  const char *function_name=NULL) = 0;
59 
60 protected:
61  double myTime;
63 
67 };
68 
69 #endif
GT_API const UT_StringHolder time
GLsizei const GLchar *const * string
Definition: glcorearb.h:814
#define SWIGOUT(x)
Definition: HOM_Defines.h:24
string __repr__(VtArray< T > const &self)
Definition: wrapArray.h:352
#define HOM_API
Definition: HOM_API.h:13
HOM_EnumValue * myExpressionLanguage
bool operator!=(const Mat3< T0 > &m0, const Mat3< T1 > &m1)
Inequality operator, does exact floating point comparisons.
Definition: Mat3.h:556
OIIO_UTIL_API bool rename(string_view from, string_view to, std::string &err)
std::string myExpression
bool operator==(const Mat3< T0 > &m0, const Mat3< T1 > &m1)
Equality operator, does exact floating point comparisons.
Definition: Mat3.h:542