HDK
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
OP_DopParent.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  * NAME: OP_DopParent.h ( SIM Library, C++)
7  *
8  * COMMENTS:
9  * This provides a bridge up to DOP_Parent for methods interested
10  * in the simulation status but live below SIM.
11  */
12 
13 #ifndef __OP_DopParent__
14 #define __OP_DopParent__
15 
16 #include "OP_API.h"
17 #include "OP_DataTypes.h"
18 #include <SYS/SYS_Types.h>
19 #include <UT/UT_VectorTypes.h>
20 #include <DEP/DEP_MicroNode.h>
21 
22 class OP_Node;
23 template <typename T> class UT_Array;
24 
26 {
27 public:
29  : myDopParentNode(dopparentnode)
30  { }
31 
32  const char *className() const override
33  { return "OP_DopParentMicroNode"; }
35  { return myDopParentNode; }
36 
37 private:
38  OP_Node *myDopParentNode;
39 };
40 
42 {
43 public:
45  virtual OP_Node *resolve() const = 0;
46 };
47 
48 OP_API extern void
50 
52 {
53 public:
55  virtual ~OP_DopParent() {}
56 
57  virtual bool opGetNeedsResimulation() const = 0;
58  virtual bool opGetDisableSimulation() const = 0;
59  static OP_Node *opGetMostRecentDopOwner();
60 
61  /// Checks to see if the dop is in play mode
62  virtual bool opIsPlayer() const = 0;
63 
64  virtual void setNeedsToCompletelyReset() = 0;
65 
66  // Returns global frames, not simulation frames, rounded outwards.
67  virtual void opGetDiskCache(UT_Array<int> &frames) const = 0;
68  virtual void opGetMemoryCache(UT_Array<int> &frames) const = 0;
69 
70  // Returns a set of nodes that are "extra inputs" to the simulation,
71  // through the simMicroNode.
72  virtual void opGetSimExtraInputNodes(OP_NodeList &extras) const = 0;
73 };
74 
75 
76 #endif // __OP_DopParent__
OP_API void OPregisterDopParentMostRecentResolver(OP_DopParentMostRecentResolver *resolver)
OP_Node * getDopParentNode() const
Definition: OP_DopParent.h:34
const char * className() const override
Definition: OP_DopParent.h:32
virtual ~OP_DopParent()
Definition: OP_DopParent.h:55
#define OP_API
Definition: OP_API.h:10
OP_DopParentMicroNode(OP_Node *dopparentnode)
Definition: OP_DopParent.h:28