void ExplicitEuler::solveConstraints(struct CpuSoftClothDemoInternalData* data, char* vertexPositions, int vertexStride,float deltaTime) { computeGravityForces(data,vertexPositions,vertexStride,deltaTime); computeSpringForces(data,vertexPositions,vertexStride,deltaTime); integrateExplicitEuler(data,vertexPositions,vertexStride,deltaTime); }
void Simulation::Update() { // update external force if (g_gravity) calculateExternalForce(); switch (m_integration_method) { case INTEGRATION_EXPLICIT_EULER_COMMON: integrateClassicExplicitEuler(); break; case INTEGRATION_EXPLICIT_EULER_DISCRETE: integrateExplicitEuler(); break; case INTEGRATION_EXPLICIT_EULER_SYMPLETIC: integrateExplicitEuler(); break; } // update velocity and damp }
void Simulation::Update() { calculateInertiaY(); calculateExternalForce(); integrateExplicitEuler(); }