Mass_double.h

Go to the documentation of this file.
00001 /******************************************************************************
00002 *       SOFA, Simulation Open-Framework Architecture, version 1.0 beta 3      *
00003 *                (c) 2006-2008 MGH, INRIA, USTL, UJF, CNRS                    *
00004 *                                                                             *
00005 * This library is free software; you can redistribute it and/or modify it     *
00006 * under the terms of the GNU Lesser General Public License as published by    *
00007 * the Free Software Foundation; either version 2.1 of the License, or (at     *
00008 * your option) any later version.                                             *
00009 *                                                                             *
00010 * This library is distributed in the hope that it will be useful, but WITHOUT *
00011 * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or       *
00012 * FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License *
00013 * for more details.                                                           *
00014 *                                                                             *
00015 * You should have received a copy of the GNU Lesser General Public License    *
00016 * along with this library; if not, write to the Free Software Foundation,     *
00017 * Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301 USA.          *
00018 *******************************************************************************
00019 *                               SOFA :: Modules                               *
00020 *                                                                             *
00021 * Authors: The SOFA Team and external contributors (see Authors.txt)          *
00022 *                                                                             *
00023 * Contact information: contact@sofa-framework.org                             *
00024 ******************************************************************************/
00025 #ifndef SOFA_TYPEDEF_MASS_DOUBLE_H
00026 #define SOFA_TYPEDEF_MASS_DOUBLE_H
00027 
00028 #include <sofa/defaulttype/VecTypes.h>
00029 #include <sofa/defaulttype/RigidTypes.h>
00030 #include <sofa/defaulttype/Mat.h>
00031 
00032 //Typedef to easily use mass with double type 
00033 #include <sofa/component/mass/DiagonalMass.h>
00034 #include <sofa/component/mass/MatrixMass.h>
00035 #include <sofa/component/mass/UniformMass.h>
00036 
00037 //Diagonal Mass
00038 //---------------------
00039 //Deformable
00040 typedef sofa::component::mass::DiagonalMass<sofa::defaulttype::Vec1dTypes,double> DiagonalMass1d;
00041 typedef sofa::component::mass::DiagonalMass<sofa::defaulttype::Vec2dTypes,double> DiagonalMass2d;
00042 typedef sofa::component::mass::DiagonalMass<sofa::defaulttype::Vec3dTypes,double> DiagonalMass3d;
00043 //---------------------
00044 //Rigid
00045 typedef sofa::component::mass::DiagonalMass<sofa::defaulttype::Rigid2dTypes,sofa::defaulttype::Rigid2dMass> DiagonalMassRigid2d;
00046 typedef sofa::component::mass::DiagonalMass<sofa::defaulttype::Rigid3dTypes,sofa::defaulttype::Rigid3dMass> DiagonalMassRigid3d;
00047 
00048 
00049 
00050 //Matrix Mass
00051 //---------------------
00052 //Deformable
00053 typedef sofa::component::mass::MatrixMass<sofa::defaulttype::Vec2dTypes, sofa::defaulttype::Mat2x2d> MatrixMass2d;
00054 typedef sofa::component::mass::MatrixMass<sofa::defaulttype::Vec3dTypes, sofa::defaulttype::Mat3x3d> MatrixMass3d;
00055 //---------------------
00056 //Rigid
00057 //Not defined yet
00058 
00059 
00060 
00061 //Uniform Mass double
00062 //---------------------
00063 //Deformable
00064 typedef sofa::component::mass::UniformMass<sofa::defaulttype::Vec1dTypes,double> UniformMass1d;
00065 typedef sofa::component::mass::UniformMass<sofa::defaulttype::Vec2dTypes,double> UniformMass2d;
00066 typedef sofa::component::mass::UniformMass<sofa::defaulttype::Vec3dTypes,double> UniformMass3d;
00067 typedef sofa::component::mass::UniformMass<sofa::defaulttype::Vec6dTypes,double> UniformMass6d;
00068 //---------------------
00069 //Rigid
00070 typedef sofa::component::mass::UniformMass<sofa::defaulttype::Rigid2dTypes,sofa::defaulttype::Rigid2dMass> UniformMassRigid2d;
00071 typedef sofa::component::mass::UniformMass<sofa::defaulttype::Rigid3dTypes,sofa::defaulttype::Rigid3dMass> UniformMassRigid3d;
00072 //Not defined for 1D, and 6D
00073 
00074 
00075 #ifndef SOFA_FLOAT
00076 
00077 typedef DiagonalMass1d        DiagonalMass1;           
00078 typedef DiagonalMass2d        DiagonalMass2;           
00079 typedef DiagonalMass3d        DiagonalMass3;           
00080 typedef DiagonalMassRigid2d   DiagonalMassRigid2;   
00081 typedef DiagonalMassRigid3d   DiagonalMassRigid3;   
00082 typedef MatrixMass2d          MatrixMass2;         
00083 typedef MatrixMass3d          MatrixMass3;         
00084 typedef UniformMass1d         UniformMass1;        
00085 typedef UniformMass2d         UniformMass2;        
00086 typedef UniformMass3d         UniformMass3;        
00087 typedef UniformMass6d         UniformMass6;        
00088 typedef UniformMassRigid2d    UniformMassRigid2;    
00089 typedef UniformMassRigid3d    UniformMassRigid3;     
00090 #endif
00091 
00092 #endif

Generated on Sun Nov 23 03:47:41 2008 for Sofa by  doxygen 1.5.7.1