Program Listing for File TimeStepController.h
↰ Return to documentation for file (Simulation/TimeStepController.h)
#ifndef __TIMESTEPCONTROLLER_h__
#define __TIMESTEPCONTROLLER_h__
#include "Common/Common.h"
#include "TimeStep.h"
#include "SimulationModel.h"
#include "CollisionDetection.h"
namespace PBD
{
class TimeStepController : public TimeStep
{
public:
// static int SOLVER_ITERATIONS;
// static int SOLVER_ITERATIONS_V;
static int NUM_SUB_STEPS;
static int MAX_ITERATIONS;
static int MAX_ITERATIONS_V;
static int VELOCITY_UPDATE_METHOD;
static int ENUM_VUPDATE_FIRST_ORDER;
static int ENUM_VUPDATE_SECOND_ORDER;
protected:
int m_velocityUpdateMethod;
unsigned int m_iterations;
unsigned int m_iterationsV;
unsigned int m_subSteps;
unsigned int m_maxIterations;
unsigned int m_maxIterationsV;
virtual void initParameters();
void positionConstraintProjection(SimulationModel &model);
void velocityConstraintProjection(SimulationModel &model);
public:
TimeStepController();
virtual ~TimeStepController(void);
virtual void step(SimulationModel &model);
virtual void reset();
};
}
#endif