HDK
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
DOP_AutoRelType.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: DOP_AutoSolver.h ( SOP Library, C++)
7  *
8  * COMMENTS:
9  */
10 
11 #ifndef __DOP_AutoRelType_h__
12 #define __DOP_AutoRelType_h__
13 
14 #include "DOP_API.h"
15 #include "DOP_Auto.h"
16 
18 {
19 public:
20  DOP_AutoRelType(OP_Network *net, const char *name,
21  OP_Operator *op);
22  virtual ~DOP_AutoRelType();
23 
24  static OP_Node *myConstructor(OP_Network *net,
25  const char *name,
26  OP_Operator *entry);
27  static PRM_Template theCommonTemplates[];
28 
29 protected:
30  virtual bool updateParmsFlags();
31 
32  virtual void processObjectsSubclass(fpreal time,
33  int foroutputidx,
34  const SIM_ObjectArray &objects,
35  DOP_Engine &engine);
36  virtual void getOutputInfoSubclass(int outputidx,
37  DOP_InOutInfo &info) const;
38 
39  virtual PRM_Template*getCommonTemplates() const;
40 
41  virtual int UNIQUEDATANAME();
42 
43 private:
44  /// Display a warning if the user is creating a mutual affector
45  /// relationship between objects from different solvers, since that can
46  /// often be done unintentionally and cause feedback iterations.
47  void checkMutualAffectorSolvers(
48  const SIM_ObjectArray &affected_list,
49  const SIM_ObjectArray &affectors_list);
50 
51  void AFFECTED(UT_String &str, fpreal t);
52  void AFFECTORS(UT_String &str, fpreal t);
53  void RELNAME(UT_String &str, fpreal t);
54  int UNIQUERELNAME();
55  bool MAKEMUTUAL();
56 };
57 
58 #endif
GT_API const UT_StringHolder time
virtual void processObjectsSubclass(fpreal time, int foroutputidx, const SIM_ObjectArray &objects, DOP_Engine &engine)
This default implementation does not affect incoming objects.
virtual void getOutputInfoSubclass(int outputidx, DOP_InOutInfo &info) const
This default implementation specifies the output sends out objects.
#define DOP_API
Definition: DOP_API.h:10
static OP_Node * myConstructor(OP_Network *net, const char *name, OP_Operator *entry)
Holds pointers to a number of SIM_Object objects.
GLuint const GLchar * name
Definition: glcorearb.h:785
virtual PRM_Template * getCommonTemplates() const
double fpreal
Definition: SYS_Types.h:270
virtual int UNIQUEDATANAME()
virtual bool updateParmsFlags()