diff --git a/sources/reactphysics3d/mathematics/lcp/LCPSolver.cpp b/sources/reactphysics3d/mathematics/lcp/LCPSolver.cpp new file mode 100644 index 00000000..945c4d63 --- /dev/null +++ b/sources/reactphysics3d/mathematics/lcp/LCPSolver.cpp @@ -0,0 +1,33 @@ +/**************************************************************************** +* Copyright (C) 2009 Daniel Chappuis * +**************************************************************************** +* This file is part of ReactPhysics3D. * +* * +* ReactPhysics3D is free software: you can redistribute it and/or modify * +* it under the terms of the GNU Lesser General Public License as published * +* by the Free Software Foundation, either version 3 of the License, or * +* (at your option) any later version. * +* * +* ReactPhysics3D is distributed in the hope that it will be useful, * +* but WITHOUT ANY WARRANTY; without even the implied warranty of * +* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * +* GNU Lesser General Public License for more details. * +* * +* You should have received a copy of the GNU Lesser General Public License * +* along with ReactPhysics3D. If not, see . * +***************************************************************************/ + +// Libraries +#include "LCPSolver.h" + +using namespace reactphysics3d; + +// Constructor +LCPSolver::LCPSolver() { + +} + +// Destructor +LCPSolver::~LCPSolver() { + +} diff --git a/sources/reactphysics3d/mathematics/lcp/LCPSolver.h b/sources/reactphysics3d/mathematics/lcp/LCPSolver.h new file mode 100644 index 00000000..be3fefb7 --- /dev/null +++ b/sources/reactphysics3d/mathematics/lcp/LCPSolver.h @@ -0,0 +1,47 @@ +/**************************************************************************** +* Copyright (C) 2009 Daniel Chappuis * +**************************************************************************** +* This file is part of ReactPhysics3D. * +* * +* ReactPhysics3D is free software: you can redistribute it and/or modify * +* it under the terms of the GNU Lesser General Public License as published * +* by the Free Software Foundation, either version 3 of the License, or * +* (at your option) any later version. * +* * +* ReactPhysics3D is distributed in the hope that it will be useful, * +* but WITHOUT ANY WARRANTY; without even the implied warranty of * +* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * +* GNU Lesser General Public License for more details. * +* * +* You should have received a copy of the GNU Lesser General Public License * +* along with ReactPhysics3D. If not, see . * +***************************************************************************/ + +#ifndef LCPSOLVER_H +#define LCPSOLVER_H + +// Libraries +#include "../Vector.h" +#include "../Matrix.h" + +// ReactPhysics3D namespace +namespace reactphysics3d { + +/* ------------------------------------------------------------------- + Class LCPSolver : + This abstract class represents an algorithm to solve a Linear + Complementary Problem (LCP). + ------------------------------------------------------------------- +*/ +class LCPSolver { + protected: + + public: + LCPSolver(); // Constructor + virtual void solve(const Matrix& A, const Vector& b, const Vector& lowLimits, const Vector& highLimits, Vector& lambda)=0; // Solve a LCP problem + virtual ~LCPSolver(); // Destructor +}; + +} // End of the ReactPhysics3D namespace + +#endif