HDK
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros 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  virtual ~SIM_SolverStatic();
22 
23  /// Our solver function override that does nothing.
25  SIM_Object &object,
26  SIM_ObjectArray &feedbacktoobjects,
27  const SIM_Time &timestep,
28  bool newobject);
29 
30  /// Hint to other solvers that we do nothing.
31  virtual bool isStaticSubclass(const SIM_Object *) const
32  { return true; }
33 
34 
35 private:
36  static const SIM_DopDescription *getSolverStaticDopDescription();
37 
41  "Static Solver",
42  getSolverStaticDopDescription());
43 };
44 
45 #endif
46 
#define DECLARE_STANDARD_GETCASTTOTYPE()
Definition: SIM_DataUtils.h:45
#define DECLARE_DATAFACTORY(DataClass, SuperClass, Description, DopParms)
Definition: SIM_DataUtils.h:58
virtual bool isStaticSubclass(const SIM_Object *) const
Hint to other solvers that we do nothing.
Holds pointers to a number of SIM_Object objects.
#define SIM_API
Definition: SIM_API.h:10
virtual SIM_Result solveSingleObjectSubclass(SIM_Engine &engine, SIM_Object &object, SIM_ObjectArray &feedbacktoobjects, const SIM_Time &timestep, bool newobject)=0