HDK
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
HOM_Clip.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 
7 #ifndef __HOM_Clip_h__
8 #define __HOM_Clip_h__
9 
10 #include "HOM_API.h"
11 
12 #include "HOM_ElemPtr.h"
13 #include "HOM_Module.h"
14 #include "HOM_PtrOrNull.h"
15 #include "HOM_Track.h"
16 
17 #include <string>
18 #include <vector>
19 
20 class HOM_ChopNode;
21 
22 SWIGOUT(%rename(Clip) HOM_Clip;)
23 // Force SWIG to output an __init__ method even though it determines this
24 // class is abstract.
25 SWIGOUT(%feature("notabstract") HOM_Clip;)
26 
28 {
29 public:
30 
31 #ifdef SWIG
32 %extend
33 {
34  HOM_Clip()
35  { return HOM().newClip(); }
36 }
37 #else
40 #endif
41  virtual ~HOM_Clip() { HOM_DESTRUCT_OBJECT(this) }
42 
43  virtual bool operator==(HOM_PtrOrNull<HOM_Clip> clip) const = 0;
45  { return !operator==(clip); }
46 
47  virtual std::string __repr__() const = 0;
48 
49  SWIGOUT(%newobject chopNode;)
50  virtual HOM_ChopNode *chopNode() const = 0;
51  virtual int chopNodeOutputIndex() const = 0;
52 
53  virtual std::vector<HOM_ElemPtr<HOM_Track> > tracks() const = 0;
54 
55  SWIGOUT(%newobject track;)
56  virtual HOM_Track *track(const char *track_name) const = 0;
57 
58  virtual double sampleRate() const = 0;
59  virtual std::pair<double, double> sampleRange() const = 0;
60  virtual int numSamples() const = 0;
61 
62  virtual double frameToSamples(double frame) const = 0;
63  virtual double samplesToFrame(double samples) const = 0;
64 
65  virtual double timeToSamples(double time) const = 0;
66  virtual double samplesToTime(double samples) const = 0;
67 
68  virtual void loadFromFile(const char *filename) = 0;
69  virtual void saveToFile(const char *filename) const = 0;
70 };
71 
72 #endif
#define HOM_DESTRUCT_OBJECT(pointer)
Definition: HOM_Module.h:1238
GT_API const UT_StringHolder filename
HOM_Clip(const HOM_Clip &)
Definition: HOM_Clip.h:39
GT_API const UT_StringHolder time
virtual HOM_Clip * newClip()=0
OIIO_API bool rename(string_view from, string_view to, std::string &err)
#define SWIGOUT(x)
Definition: HOM_Defines.h:24
string __repr__(VtArray< T > const &self)
Definition: wrapArray.h:353
virtual double samplesToFrame(double samples)=0
HOM_Clip()
Definition: HOM_Clip.h:38
GLsizei samples
Definition: glcorearb.h:1297
virtual HOM_Track * track(const char *track_name, int output_index=0, bool cook=true)=0
#define HOM_API
Definition: HOM_API.h:13
virtual ~HOM_Clip()
Definition: HOM_Clip.h:41
virtual double sampleRate()=0
virtual double frameToSamples(double frame)=0
#define HOM_CONSTRUCT_OBJECT(pointer)
Definition: HOM_Module.h:1237
GLsizei const GLchar *const * string
Definition: glcorearb.h:813
virtual double timeToSamples(double time)=0
virtual double samplesToTime(double samples)=0
IMATH_INTERNAL_NAMESPACE_HEADER_ENTER T clip(const T &p, const Box< T > &box)
Definition: ImathBoxAlgo.h:89
virtual std::pair< double, double > sampleRange()=0
virtual std::vector< HOM_ElemPtr< HOM_Track > > tracks(int output_index=0, bool cook=true)=0
HOM_API HOM_Module & HOM()
bool operator==(const Mat3< T0 > &m0, const Mat3< T1 > &m1)
Equality operator, does exact floating point comparisons.
Definition: Mat3.h:556
bool operator!=(HOM_PtrOrNull< HOM_Clip > clip) const
Definition: HOM_Clip.h:44