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 
25 {
26 public:
28  : myDopParentNode(dopparentnode)
29  { }
30 
31  virtual const char *className() const
32  { return "OP_DopParentMicroNode"; }
34  { return myDopParentNode; }
35 
36 private:
37  OP_Node *myDopParentNode;
38 };
39 
41 {
42 public:
44  virtual OP_Node *resolve() const = 0;
45 };
46 
47 OP_API extern void
49 
51 {
52 public:
54  virtual ~OP_DopParent() {}
55 
56  virtual bool opGetNeedsResimulation() const = 0;
57  virtual bool opGetDisableSimulation() const = 0;
58  static OP_Node *opGetMostRecentDopOwner();
59 
60  /// Checks to see if the dop is in play mode
61  virtual bool opIsPlayer() const = 0;
62 
63  virtual void setNeedsToCompletelyReset() = 0;
64 
65  // Returns global frames, not simulation frames, rounded outwards.
66  virtual void opGetDiskCache(UT_IntArray &frames) const = 0;
67  virtual void opGetMemoryCache(UT_IntArray &frames) const = 0;
68 
69  // Returns a set of nodes that are "extra inputs" to the simulation,
70  // through the simMicroNode.
71  virtual void opGetSimExtraInputNodes(OP_NodeList &extras) const = 0;
72 };
73 
74 
75 #endif // __OP_DopParent__
OP_API void OPregisterDopParentMostRecentResolver(OP_DopParentMostRecentResolver *resolver)
OP_Node * getDopParentNode() const
Definition: OP_DopParent.h:33
virtual ~OP_DopParent()
Definition: OP_DopParent.h:54
#define OP_API
Definition: OP_API.h:10
OP_DopParentMicroNode(OP_Node *dopparentnode)
Definition: OP_DopParent.h:27
virtual const char * className() const
Definition: OP_DopParent.h:31