/******************************************************************************
*       SOFA, Simulation Open-Framework Architecture, development version     *
*                (c) 2006-2017 INRIA, USTL, UJF, CNRS, MGH                    *
*                                                                             *
* This program 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 2.1 of the License, or (at     *
* your option) any later version.                                             *
*                                                                             *
* This program 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 this program. If not, see <http://www.gnu.org/licenses/>.        *
*******************************************************************************
* Authors: The SOFA Team and external contributors (see Authors.txt)          *
*                                                                             *
* Contact information: contact@sofa-framework.org                             *
******************************************************************************/



// File automatically generated by "generateTypedef"


#ifndef SOFA_TYPEDEF_ConstraintSolver_float_H
#define SOFA_TYPEDEF_ConstraintSolver_float_H

//Default files containing the declaration of the vector type
#include <sofa/defaulttype/VecTypes.h>
#include <sofa/defaulttype/RigidTypes.h>
#include <sofa/defaulttype/Mat.h>




#include <SofaConstraint/LinearSolverConstraintCorrection.h>
#include <SofaConstraint/PrecomputedConstraintCorrection.h>
#include <SofaConstraint/UncoupledConstraintCorrection.h>



//---------------------------------------------------------------------------------------------
//Typedef for LinearSolverConstraintCorrection
typedef sofa::component::constraintset::LinearSolverConstraintCorrection<sofa::defaulttype::StdRigidTypes<3, float> > LinearSolverConstraintCorrectionRigid3f;
typedef sofa::component::constraintset::LinearSolverConstraintCorrection<sofa::defaulttype::StdVectorTypes<sofa::defaulttype::Vec<1, float>, sofa::defaulttype::Vec<1, float>, float> > LinearSolverConstraintCorrection1f;
typedef sofa::component::constraintset::LinearSolverConstraintCorrection<sofa::defaulttype::StdVectorTypes<sofa::defaulttype::Vec<3, float>, sofa::defaulttype::Vec<3, float>, float> > LinearSolverConstraintCorrection3f;



//---------------------------------------------------------------------------------------------
//Typedef for PrecomputedConstraintCorrection
typedef sofa::component::constraintset::PrecomputedConstraintCorrection<sofa::defaulttype::StdRigidTypes<3, float> > PrecomputedConstraintCorrectionRigid3f;
typedef sofa::component::constraintset::PrecomputedConstraintCorrection<sofa::defaulttype::StdVectorTypes<sofa::defaulttype::Vec<1, float>, sofa::defaulttype::Vec<1, float>, float> > PrecomputedConstraintCorrection1f;
typedef sofa::component::constraintset::PrecomputedConstraintCorrection<sofa::defaulttype::StdVectorTypes<sofa::defaulttype::Vec<3, float>, sofa::defaulttype::Vec<3, float>, float> > PrecomputedConstraintCorrection3f;



//---------------------------------------------------------------------------------------------
//Typedef for UncoupledConstraintCorrection
typedef sofa::component::constraintset::UncoupledConstraintCorrection<sofa::defaulttype::StdRigidTypes<3, float> > UncoupledConstraintCorrectionRigid3f;
typedef sofa::component::constraintset::UncoupledConstraintCorrection<sofa::defaulttype::StdVectorTypes<sofa::defaulttype::Vec<1, float>, sofa::defaulttype::Vec<1, float>, float> > UncoupledConstraintCorrection1f;
typedef sofa::component::constraintset::UncoupledConstraintCorrection<sofa::defaulttype::StdVectorTypes<sofa::defaulttype::Vec<3, float>, sofa::defaulttype::Vec<3, float>, float> > UncoupledConstraintCorrection3f;





#ifdef SOFA_FLOAT
typedef LinearSolverConstraintCorrectionRigid3f LinearSolverConstraintCorrectionRigid3;
typedef LinearSolverConstraintCorrection1f LinearSolverConstraintCorrection1;
typedef LinearSolverConstraintCorrection3f LinearSolverConstraintCorrection3;
typedef PrecomputedConstraintCorrectionRigid3f PrecomputedConstraintCorrectionRigid3;
typedef PrecomputedConstraintCorrection1f PrecomputedConstraintCorrection1;
typedef PrecomputedConstraintCorrection3f PrecomputedConstraintCorrection3;
typedef UncoupledConstraintCorrectionRigid3f UncoupledConstraintCorrectionRigid3;
typedef UncoupledConstraintCorrection1f UncoupledConstraintCorrection1;
typedef UncoupledConstraintCorrection3f UncoupledConstraintCorrection3;
#endif

#endif
