HDK
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
HOM_DopSimulation.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_DopSimulation_h__
10 #define __HOM_DopSimulation_h__
11 
12 #include "HOM_API.h"
13 #include "HOM_Defines.h"
14 #include "HOM_Errors.h"
15 #include "HOM_IterableList.h"
16 #include "HOM_Module.h"
17 #include "HOM_PtrOrNull.h"
18 #include <string>
19 #include <vector>
20 
21 class HOM_Node;
22 class HOM_DopData;
23 class HOM_DopObject;
25 
26 SWIGOUT(%rename(DopSimulation) HOM_DopSimulation;)
27 // Force SWIG to output an __init__ method even though it determines this
28 // class is abstract.
29 SWIGOUT(%feature("notabstract") HOM_DopSimulation;)
30 
32 {
33 public:
34 #ifdef SWIG
35 %extend
36 {
38  { return HOM().newDopSimulation(); }
39 }
40 #else
42  { HOM_CONSTRUCT_OBJECT(this) }
44  { HOM_CONSTRUCT_OBJECT(this) }
45 #endif
47  { HOM_DESTRUCT_OBJECT(this) }
48 
49  virtual bool operator==(HOM_PtrOrNull<HOM_DopSimulation> sim) const = 0;
51  { return !operator==(sim); }
52 
53  virtual std::string __repr__() = 0;
54 
55  SWIGOUT(%newobject createObject;)
56  virtual HOM_DopData *createObject(const char *name, bool solve_on_creation_frame) = 0;
57 
58  virtual void removeObject(HOM_DopObject &obj) = 0;
59 
60  SWIGOUT(%newobject createRelationship;)
61  virtual HOM_DopData *createRelationship(const char *name) = 0;
62 
63  virtual void removeRelationship(HOM_DopRelationship &rel) = 0;
64 
65  SWIGOUT(%newobject dopNetNode;)
66  virtual HOM_Node *dopNetNode() = 0;
67 
68  virtual std::vector<HOM_ElemPtr<HOM_DopData> > objects() = 0;
69 
70  virtual std::vector<HOM_ElemPtr<HOM_DopData> > relationships() = 0;
71 
72  SWIGOUT(%newobject findObject;)
73  virtual HOM_DopData *findObject(const char *obj_spec) = 0;
74  SWIGOUT(%newobject findRelationship;)
75  virtual HOM_DopData *findRelationship(const char *rel_spec) = 0;
76  SWIGOUT(%newobject findData;)
77  virtual HOM_DopData *findData(const char *data_spec) = 0;
78 
79  virtual std::vector<HOM_ElemPtr<HOM_DopData> >
80  findAllObjects(const char *obj_spec) = 0;
81 
82  virtual std::vector<HOM_ElemPtr<HOM_DopData> >
83  findAllRelationships(const char *rel_spec) = 0;
84 
85  virtual std::vector<HOM_ElemPtr<HOM_DopData> >
86  findAllData(const char *data_spec) = 0;
87 
88  virtual double time() = 0;
89 
90  SWIGOUT(%kwargs setTime;)
91  virtual void
92  setTime(double t, bool resim_last_timestep = false,
93  bool force_reset_sim = false, bool allow_simulation = true) = 0;
94 
95  virtual double timestep() = 0;
96  virtual void setTimestep(double t) = 0;
97 
98  virtual size_t memoryUsage() = 0;
99 };
100 
101 #endif
102 
#define HOM_DESTRUCT_OBJECT(pointer)
Definition: HOM_Module.h:1238
virtual HOM_DopSimulation * newDopSimulation()=0
GT_API const UT_StringHolder time
virtual HOM_DopSimulation * simulation()=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
GLuint const GLchar * name
Definition: glcorearb.h:785
GLdouble GLdouble t
Definition: glew.h:1403
#define HOM_API
Definition: HOM_API.h:13
#define HOM_CONSTRUCT_OBJECT(pointer)
Definition: HOM_Module.h:1237
GLsizei const GLchar *const * string
Definition: glcorearb.h:813
GLhandleARB obj
Definition: glew.h:6266
HOM_DopSimulation(const HOM_DopSimulation &simulation)
virtual ~HOM_DopSimulation()
virtual HOM_Node * dopNetNode()=0
HOM_API HOM_Module & HOM()
bool operator!=(HOM_PtrOrNull< HOM_DopSimulation > sim) const
bool operator==(const Mat3< T0 > &m0, const Mat3< T1 > &m1)
Equality operator, does exact floating point comparisons.
Definition: Mat3.h:556