HDK
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
GAS_EachDataSolver.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_EachDataSolver.h ( GAS Library, C++)
7  *
8  * COMMENTS:
9  */
10 
11 #ifndef __GAS_EachDataSolver__
12 #define __GAS_EachDataSolver__
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("destdataname", DestDataName);
23  GETSET_DATA_FUNCS_B("copydata", CopyData);
24  GETSET_DATA_FUNCS_B("splitfields", SplitFields);
25 
26  /// We to change the way in which our timestep is used so we have
27  /// to preempt the solveGasSubclass.
29  SIM_ObjectArray &objects,
30  SIM_ObjectArray &newobjects,
31  SIM_ObjectArray &feedbacktoobjects,
32  const SIM_Time &timestep);
33 
34 protected:
35  explicit GAS_EachDataSolver(const SIM_DataFactory *factory);
36  virtual ~GAS_EachDataSolver();
37 
38  virtual bool solveGasSubclass(SIM_Engine &engine,
39  SIM_Object *obj,
40  SIM_Time time,
41  SIM_Time timestep)
42  {
43  return true;
44  }
45 
46  void doSubSolve(SIM_Engine &engine, SIM_Object *obj, const SIM_DataArray &subsolvers, SIM_Time timestep);
47 
48 private:
49  static const SIM_DopDescription *getDopDescription();
50 
54  "Gas Each Data Solver",
55  getDopDescription());
56 };
57 
58 #endif
59 
#define DECLARE_STANDARD_GETCASTTOTYPE()
Definition: SIM_DataUtils.h:45
#define GETSET_DATA_FUNCS_B(DataName, FuncName)
#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:58
Holds pointers to a number of SIM_Object objects.
virtual SIM_Result solveObjectsSubclass(SIM_Engine &engine, SIM_ObjectArray &objects, SIM_ObjectArray &newobjects, SIM_ObjectArray &feedbacktoobjects, const SIM_Time &timestep)
Merely calls solve on each object.
virtual bool solveGasSubclass(SIM_Engine &engine, SIM_Object *obj, SIM_Time time, SIM_Time timestep)