HDK
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
HOM_playbar.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  */
8 
9 #ifndef __HOM_playbar_h__
10 #define __HOM_playbar_h__
11 
12 #include "HOM_API.h"
13 #include "HOM_Defines.h"
14 
15 #include <map>
16 #include <string>
17 #include <vector>
18 
19 class HOM_AnimBar;
20 class HOM_BaseKeyframe;
21 class HOM_Bookmark;
22 class HOM_ChannelList;
23 template <typename T> class HOM_ElemPtr;
24 class HOM_EnumValue;
25 class HOM_Node;
26 class HOM_Pane;
27 class HOM_Parm;
28 class HOM_ParmTuple;
29 class HOM_Vector2;
30 
31 
32 SWIGOUT(%rename(playbar) HOM_playbar;)
34 {
35 public:
36  virtual ~HOM_playbar()
37  {}
38 
39  virtual std::string __repr__() = 0;
40 
41  virtual bool isPlaying() = 0;
42  virtual void play() = 0;
43  virtual void stop() = 0;
44  virtual void reverse() = 0;
45 
46  virtual void jumpToNextKeyframe() = 0;
47  virtual void jumpToPreviousKeyframe() = 0;
48 
49  virtual HOM_EnumValue &playMode() = 0;
50  virtual void setPlayMode(HOM_EnumValue &mode) = 0;
51 
52  virtual double frameIncrement() = 0;
53  virtual void setFrameIncrement(double increment) = 0;
54 
55  SWIGOUT(%newobject playbackRange;)
56  virtual HOM_Vector2 *playbackRange() = 0;
57  virtual void setPlaybackRange(double start, double end) = 0;
58 
59  virtual bool isRangeRestricted() = 0;
60  virtual void setRestrictRange(bool on) = 0;
61 
62  virtual bool usesIntegerFrames() = 0;
63  virtual void setUseIntegerFrames(bool on) = 0;
64 
65  virtual bool isRealTime() = 0;
66  virtual void setRealTime(bool on) = 0;
67 
68  virtual double realTimeFactor() = 0;
69  virtual void setRealTimeFactor(double factor) = 0;
70 
71  virtual bool isRealTimeSkipping() = 0;
72  virtual void setRealTimeSkipping(bool on) = 0;
73 
74  virtual bool isAudioShown() = 0;
75  virtual void showAudio(bool on) = 0;
76  virtual bool areKeysShown() = 0;
77  virtual void showKeys(bool on) = 0;
78  virtual bool isSimCacheShown() = 0;
79  virtual bool isAnimCacheShown() = 0;
80  virtual void showSimCache(bool on) = 0;
81  virtual void showAnimCache(bool on) = 0;
82  virtual bool isRangeSliderShown() = 0;
83  virtual void showRangeSlider(bool on) = 0;
84  virtual bool areTicksShown() = 0;
85  virtual void showTicks(bool on) = 0;
86 
87  virtual void moveToBottom() = 0;
88  virtual void moveToPane(HOM_Pane &pane) = 0;
89 
90  SWIGOUT(%ignore addOpaqueEventCallback;)
91  virtual void addOpaqueEventCallback(void *callback) = 0;
92  SWIGOUT(%ignore removeOpaqueEventCallback;)
93  virtual void removeOpaqueEventCallback(void *callback) = 0;
94  SWIGOUT(%ignore opaqueEventCallbacks;)
95  virtual std::vector<void *> opaqueEventCallbacks() = 0;
96  SWIGOUT(%ignore clearOpaqueEventCallbacks;)
97  virtual void clearOpaqueEventCallbacks() = 0;
98 
99  virtual bool isContinuousCook() = 0;
100  virtual void setContinuousCook(bool on) = 0;
101 
102 #ifdef SWIG
103 %extend
104 {
105  void addEventCallback(InterpreterObject callback)
106  { self->addOpaqueEventCallback(callback); }
107 
108  void removeEventCallback(InterpreterObject callback)
109  { self->removeOpaqueEventCallback(callback); }
110 
111  void clearEventCallbacks()
112  { self->clearOpaqueEventCallbacks(); }
113 
114  // Note that we return a vector of borrowed references because swig
115  // will increment the reference counts.
116  std::vector<InterpreterObject> eventCallbacks()
117  {
118  std::vector<void *> opaque_callbacks(self->opaqueEventCallbacks());
119 
120  std::vector<InterpreterObject> callbacks;
121  for (int i=0; i< opaque_callbacks.size(); ++i)
122  callbacks.push_back((InterpreterObject)opaque_callbacks[i]);
123  return callbacks;
124  }
125 }
126 #endif
127 
128  virtual std::map<
130  std::vector< HOM_ElemPtr<HOM_BaseKeyframe> >
131  > selectedKeyframes() = 0;
132 
133  SWIGOUT(%newobject selectionRange;)
134  virtual HOM_Vector2 *selectionRange() = 0;
135 
136  virtual std::vector<HOM_ElemPtr<HOM_Vector2> > selectionRanges() = 0;
137 
138  SWIGOUT(%newobject timelineRange;)
139  virtual HOM_Vector2 *timelineRange() = 0;
140 
141  SWIGOUT(%newobject timeRange;)
142  virtual HOM_Vector2 *timeRange() = 0;
143  virtual void setTimeRange(double start, double end) = 0;
144 
145  SWIGOUT(%newobject frameRange;)
146  virtual HOM_Vector2 *frameRange() = 0;
147  virtual void setFrameRange(double start, double end) = 0;
148 
149  virtual void frameBookmark(HOM_Bookmark *bookmark) = 0;
150 
151  virtual HOM_ChannelList *channelList() = 0;
152  virtual void setChannelList( HOM_ChannelList *l ) = 0;
153 
154  virtual HOM_ChannelList *channelListFromSelection() = 0;
155  virtual HOM_ChannelList *channelListFromNodes(
156  const std::vector<HOM_Node*> &nodes) = 0;
157  virtual HOM_ChannelList *channelListFromParms(
158  const std::vector<HOM_Parm*> &parms) = 0;
159  virtual HOM_ChannelList *channelListFromParmTuples(
160  const std::vector<HOM_ParmTuple*> &parms) = 0;
161 
162  virtual bool isAnimBarShown() = 0;
163  virtual void showAnimBar(bool show) = 0;
164  virtual HOM_AnimBar *animBar() = 0;
165 };
166 
167 #endif
GLuint start
Definition: glcorearb.h:475
#define SWIGOUT(x)
Definition: HOM_Defines.h:24
PUGI__FN void reverse(I begin, I end)
Definition: pugixml.cpp:7458
string __repr__(VtArray< T > const &self)
Definition: wrapArray.h:312
#define HOM_API
Definition: HOM_API.h:13
void ignore(T const &) VULKAN_HPP_NOEXCEPT
Definition: vulkan.hpp:6508
GLuint GLuint end
Definition: glcorearb.h:475
virtual ~HOM_playbar()
Definition: HOM_playbar.h:36
GLenum mode
Definition: glcorearb.h:99
GA_API const UT_StringHolder parms
OIIO_UTIL_API bool rename(string_view from, string_view to, std::string &err)