HDK
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
GAS_RepeatSolver.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: GAS_RepeatSolver.h ( GAS Library, C++)
7  *
8  * COMMENTS:
9  */
10 
11 #ifndef __GAS_RepeatSolver__
12 #define __GAS_RepeatSolver__
13 
14 #include "GAS_API.h"
15 
16 #include "GAS_SubSolver.h"
17 #include "GAS_Utils.h"
18 
20 {
21 public:
22  GETSET_DATA_FUNCS_S("whilevalue", WhileDataName);
23  GETSET_DATA_FUNCS_S("solvepassvalue", SolvePassDataName);
24  GETSET_DATA_FUNCS_S("numsolvepassvalue", NumSolvePassDataName);
25  GETSET_DATA_FUNCS_I("minpass", MinPass);
26  GETSET_DATA_FUNCS_I("maxpass", MaxPass);
27  GETSET_DATA_FUNCS_B("usemaxpass", UseMaxPass);
28  GETSET_DATA_FUNCS_B("usenumsolvepass", UseNumSolvePass);
29  GETSET_DATA_FUNCS_B("usewhilevalue", UseWhileValue);
30 
31  /// We to change the way in which our timestep is used so we have
32  /// to preempt the solveGasSubclass.
34  SIM_ObjectArray &objects,
35  SIM_ObjectArray &newobjects,
36  SIM_ObjectArray &feedbacktoobjects,
37  const SIM_Time &timestep) override;
38 
39 protected:
40  explicit GAS_RepeatSolver(const SIM_DataFactory *factory);
41  ~GAS_RepeatSolver() override;
42 
44  SIM_Object *obj,
45  SIM_Time time,
46  SIM_Time timestep) override
47  {
48  return true;
49  }
50 
51 private:
52  static const SIM_DopDescription *getDopDescription();
53 
57  "Gas Repeat Solver",
58  getDopDescription());
59 };
60 
61 #endif
62 
#define DECLARE_STANDARD_GETCASTTOTYPE()
Definition: SIM_DataUtils.h:50
#define GETSET_DATA_FUNCS_B(DataName, FuncName)
GT_API const UT_StringHolder time
#define GAS_API
Definition: GAS_API.h:10
#define GETSET_DATA_FUNCS_S(DataName, FuncName)
#define DECLARE_DATAFACTORY(DataClass, SuperClass, Description, DopParms)
Definition: SIM_DataUtils.h:63
bool solveGasSubclass(SIM_Engine &engine, SIM_Object *obj, SIM_Time time, SIM_Time timestep) override
SIM_Result solveObjectsSubclass(SIM_Engine &engine, SIM_ObjectArray &objects, SIM_ObjectArray &newobjects, SIM_ObjectArray &feedbacktoobjects, const SIM_Time &timestep) override
Merely calls solve on each object.
Holds pointers to a number of SIM_Object objects.
#define GETSET_DATA_FUNCS_I(DataName, FuncName)