00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014 #ifndef __SIM_SingleSolver_h__
00015 #define __SIM_SingleSolver_h__
00016
00017 #include "SIM_API.h"
00018 #include "SIM_Solver.h"
00019
00020 class SIM_Object;
00021
00022
00023
00024
00025
00026
00027
00028 class SIM_API SIM_SingleSolver : public SIM_Solver
00029 {
00030 public:
00031
00032
00033
00034 SIM_Result solveSingleObject(SIM_Engine &engine,
00035 SIM_Object &object,
00036 SIM_ObjectArray &feedbacktoobjects,
00037 const SIM_Time ×tep,
00038 bool newobject);
00039
00040 protected:
00041
00042 explicit SIM_SingleSolver(const SIM_DataFactory *factory);
00043
00044 virtual ~SIM_SingleSolver();
00045
00046
00047 virtual SIM_Result solveObjectsSubclass(SIM_Engine &engine,
00048 SIM_ObjectArray &objects,
00049 SIM_ObjectArray &newobjects,
00050 SIM_ObjectArray &feedbacktoobjects,
00051 const SIM_Time ×tep);
00052
00053
00054
00055 virtual SIM_Result solveSingleObjectSubclass(SIM_Engine &engine,
00056 SIM_Object &object,
00057 SIM_ObjectArray &feedbacktoobjects,
00058 const SIM_Time ×tep,
00059 bool newobject) = 0;
00060
00061 private:
00062 DECLARE_STANDARD_GETCASTTOTYPE();
00063 DECLARE_CLASSNAME(SIM_SingleSolver, SIM_Solver);
00064 };
00065
00066 #endif
00067