Mass_float.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_FLOAT_H
00026 #define SOFA_TYPEDEF_MASS_FLOAT_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 float 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::Vec1fTypes,float> DiagonalMass1f;
00041 typedef sofa::component::mass::DiagonalMass<sofa::defaulttype::Vec2fTypes,float> DiagonalMass2f;
00042 typedef sofa::component::mass::DiagonalMass<sofa::defaulttype::Vec3fTypes,float> DiagonalMass3f;
00043 //---------------------
00044 //Rigid
00045 typedef sofa::component::mass::DiagonalMass<sofa::defaulttype::Rigid2fTypes,sofa::defaulttype::Rigid2fMass> DiagonalMassRigid2f;
00046 typedef sofa::component::mass::DiagonalMass<sofa::defaulttype::Rigid3fTypes,sofa::defaulttype::Rigid3fMass> DiagonalMassRigid3f;
00047 
00048 
00049 
00050 //Matrix Mass
00051 //---------------------
00052 //Deformable
00053 typedef sofa::component::mass::MatrixMass<sofa::defaulttype::Vec2fTypes, sofa::defaulttype::Mat2x2f> MatrixMass2f;
00054 typedef sofa::component::mass::MatrixMass<sofa::defaulttype::Vec3fTypes, sofa::defaulttype::Mat3x3f> MatrixMass3f;
00055 //---------------------
00056 //Rigid
00057 //Not defined yet
00058 
00059 
00060 
00061 //Uniform Mass float
00062 //---------------------
00063 //Deformable
00064 typedef sofa::component::mass::UniformMass<sofa::defaulttype::Vec1fTypes,float> UniformMass1f;
00065 typedef sofa::component::mass::UniformMass<sofa::defaulttype::Vec2fTypes,float> UniformMass2f;
00066 typedef sofa::component::mass::UniformMass<sofa::defaulttype::Vec3fTypes,float> UniformMass3f;
00067 typedef sofa::component::mass::UniformMass<sofa::defaulttype::Vec6fTypes,float> UniformMass6f;
00068 //---------------------
00069 //Rigid
00070 typedef sofa::component::mass::UniformMass<sofa::defaulttype::Rigid2fTypes,sofa::defaulttype::Rigid2fMass> UniformMassRigid2f;
00071 typedef sofa::component::mass::UniformMass<sofa::defaulttype::Rigid3fTypes,sofa::defaulttype::Rigid3fMass> UniformMassRigid3f;
00072 //Not defined for 1D, and 6D
00073 
00074 
00075 #ifdef SOFA_FLOAT
00076 
00077 typedef DiagonalMass1f        DiagonalMass1;           
00078 typedef DiagonalMass2f        DiagonalMass2;           
00079 typedef DiagonalMass3f        DiagonalMass3;           
00080 typedef DiagonalMassRigid2f   DiagonalMassRigid2;   
00081 typedef DiagonalMassRigid3f   DiagonalMassRigid3;   
00082 typedef MatrixMass2f          MatrixMass2;         
00083 typedef MatrixMass3f          MatrixMass3;         
00084 typedef UniformMass1f         UniformMass1;        
00085 typedef UniformMass2f         UniformMass2;        
00086 typedef UniformMass3f         UniformMass3;        
00087 typedef UniformMass6f         UniformMass6;        
00088 typedef UniformMassRigid2f    UniformMassRigid2;    
00089 typedef UniformMassRigid3f    UniformMassRigid3;     
00090 #endif
00091 
00092 #endif

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