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  ~DOP_AutoRelType() override;
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  bool updateParmsFlags() override;
31 
33  int foroutputidx,
34  const SIM_ObjectArray &objects,
35  DOP_Engine &engine) override;
36  void getOutputInfoSubclass(int outputidx,
37  DOP_InOutInfo &info) const override;
38 
39  PRM_Template *getCommonTemplates() const override;
40 
41  int UNIQUEDATANAME() override;
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
void processObjectsSubclass(fpreal time, int foroutputidx, const SIM_ObjectArray &objects, DOP_Engine &engine) override
This default implementation does not affect incoming objects.
void getOutputInfoSubclass(int outputidx, DOP_InOutInfo &info) const override
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:786
virtual PRM_Template * getCommonTemplates() const
GLdouble t
Definition: glad.h:2397
virtual int UNIQUEDATANAME()
fpreal64 fpreal
Definition: SYS_Types.h:277
bool updateParmsFlags() override