HDK
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
SIM_SolverStatic.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  */
7 
8 #ifndef __SIM_SolverStatic_h__
9 #define __SIM_SolverStatic_h__
10 
11 #include "SIM_API.h"
12 #include "SIM_SingleSolver.h"
13 
14 /// This class is an implementation of a solver which does nothing.
15 /// It causes the object to remain stationary and unchanged regardless
16 /// of the situation.
18 {
19 protected:
20  explicit SIM_SolverStatic(const SIM_DataFactory *factory);
21  ~SIM_SolverStatic() override;
22 
23  /// Our solver function override that does nothing.
25  SIM_Engine &engine,
26  SIM_Object &object,
27  SIM_ObjectArray &feedbacktoobjects,
28  const SIM_Time &timestep,
29  bool newobject) override;
30 
31  /// Hint to other solvers that we do nothing.
32  bool isStaticSubclass(const SIM_Object *) const override
33  { return true; }
34 
35 
36 private:
37  static const SIM_DopDescription *getSolverStaticDopDescription();
38 
42  "Static Solver",
43  getSolverStaticDopDescription());
44 };
45 
46 #endif
47 
#define DECLARE_STANDARD_GETCASTTOTYPE()
Definition: SIM_DataUtils.h:50
#define DECLARE_DATAFACTORY(DataClass, SuperClass, Description, DopParms)
Definition: SIM_DataUtils.h:63
Holds pointers to a number of SIM_Object objects.
bool isStaticSubclass(const SIM_Object *) const override
Hint to other solvers that we do nothing.
#define SIM_API
Definition: SIM_API.h:12
virtual SIM_Result solveSingleObjectSubclass(SIM_Engine &engine, SIM_Object &object, SIM_ObjectArray &feedbacktoobjects, const SIM_Time &timestep, bool newobject)=0