Forcefield_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_FORCEFIELD_DOUBLE_H
00026 #define SOFA_TYPEDEF_FORCEFIELD_DOUBLE_H
00027 
00028 #include <sofa/defaulttype/VecTypes.h>
00029 #include <sofa/defaulttype/RigidTypes.h>
00030 #include <sofa/defaulttype/Mat.h>
00031 
00032 #include <sofa/component/forcefield/BeamFEMForceField.h>
00033 #include <sofa/component/forcefield/BoxConstantForceField.h>
00034 #include <sofa/component/forcefield/BoxStiffSpringForceField.h>
00035 #include <sofa/component/forcefield/ConstantForceField.h>
00036 #include <sofa/component/forcefield/EdgePressureForceField.h>
00037 #include <sofa/component/forcefield/LennardJonesForceField.h>
00038 #include <sofa/component/forcefield/SPHFluidForceField.h>
00039 #include <sofa/component/forcefield/PlaneForceField.h>
00040 #include <sofa/component/forcefield/SphereForceField.h>
00041 #include <sofa/component/forcefield/ConicalForceField.h>
00042 #include <sofa/component/forcefield/EllipsoidForceField.h>
00043 #include <sofa/component/forcefield/QuadBendingSprings.h>
00044 #include <sofa/component/forcefield/SpringForceField.h>
00045 #include <sofa/component/forcefield/StiffSpringForceField.h>
00046 #include <sofa/component/forcefield/JointSpringForceField.h>
00047 #include <sofa/component/forcefield/MeshSpringForceField.h>
00048 #include <sofa/component/forcefield/RegularGridSpringForceField.h>
00049 #include <sofa/component/forcefield/TensorForceField.h>
00050 #include <sofa/component/forcefield/TetrahedronFEMForceField.h>
00051 #include <sofa/component/forcefield/HexahedronFEMForceField.h>
00052 #include <sofa/component/forcefield/TriangleBendingSprings.h> 
00053 #include <sofa/component/forcefield/TriangleFEMForceField.h> 
00054 #include <sofa/component/forcefield/TrianglePressureForceField.h> 
00055 #include <sofa/component/forcefield/VectorSpringForceField.h>
00056 
00057 
00058 //BeamFEMForceField
00059 //---------------------
00060 //Rigid
00061 typedef sofa::component::forcefield::BeamFEMForceField<sofa::defaulttype::Rigid3dTypes> BeamFEMForceFieldRigid3d;
00062 
00063 //BoxStiffSpringForceField
00064 //---------------------
00065 //Deformable
00066 typedef sofa::component::forcefield::BoxStiffSpringForceField<sofa::defaulttype::Vec3dTypes> BoxStiffSpringForceField3d;
00067 
00068 //BoxConstantForceField
00069 //---------------------
00070 //Deformable
00071 typedef sofa::component::forcefield::BoxConstantForceField<sofa::defaulttype::Vec1dTypes> BoxConstantForceField1d;
00072 typedef sofa::component::forcefield::BoxConstantForceField<sofa::defaulttype::Vec2dTypes> BoxConstantForceField2d;
00073 typedef sofa::component::forcefield::BoxConstantForceField<sofa::defaulttype::Vec3dTypes> BoxConstantForceField3d;
00074 typedef sofa::component::forcefield::BoxConstantForceField<sofa::defaulttype::Vec6dTypes> BoxConstantForceField6d;
00075 typedef sofa::component::forcefield::BoxConstantForceField<sofa::defaulttype::Rigid2dTypes> BoxConstantForceFieldRigid2d;
00076 typedef sofa::component::forcefield::BoxConstantForceField<sofa::defaulttype::Rigid3dTypes> BoxConstantForceFieldRigid3d;
00077 
00078 //ConicalForceField
00079 //---------------------
00080 //Deformable
00081 typedef sofa::component::forcefield::ConicalForceField<sofa::defaulttype::Vec3dTypes> ConicalForceField3d;
00082 
00083 //ConstantForceField
00084 //---------------------
00085 //Deformable
00086 typedef sofa::component::forcefield::ConstantForceField<sofa::defaulttype::Vec1dTypes> ConstantForceField1d;
00087 typedef sofa::component::forcefield::ConstantForceField<sofa::defaulttype::Vec2dTypes> ConstantForceField2d;
00088 typedef sofa::component::forcefield::ConstantForceField<sofa::defaulttype::Vec3dTypes> ConstantForceField3d;
00089 typedef sofa::component::forcefield::ConstantForceField<sofa::defaulttype::Vec6dTypes> ConstantForceField6d;
00090 typedef sofa::component::forcefield::ConstantForceField<sofa::defaulttype::Rigid2dTypes> ConstantForceFieldRigid2d;
00091 typedef sofa::component::forcefield::ConstantForceField<sofa::defaulttype::Rigid3dTypes> ConstantForceFieldRigid3d;
00092 
00093 //EdgePressureForceField
00094 //---------------------
00095 //Deformable
00096 typedef sofa::component::forcefield::EdgePressureForceField<sofa::defaulttype::Vec3dTypes> EdgePressureForceField3d;
00097 
00098 //EllipsoidForceField
00099 //---------------------
00100 //Deformable
00101 typedef sofa::component::forcefield::EllipsoidForceField<sofa::defaulttype::Vec1dTypes> EllipsoidForceField1d;
00102 typedef sofa::component::forcefield::EllipsoidForceField<sofa::defaulttype::Vec2dTypes> EllipsoidForceField2d;
00103 typedef sofa::component::forcefield::EllipsoidForceField<sofa::defaulttype::Vec3dTypes> EllipsoidForceField3d;
00104 
00105 
00106 //JointSpringForceField
00107 //---------------------
00108 //Rigid
00109 typedef sofa::component::forcefield::JointSpringForceField<sofa::defaulttype::Rigid3dTypes> JointSpringForceFieldRigid3d;
00110 
00111 //LennardJonesForceField
00112 //---------------------
00113 //Deformable
00114 typedef sofa::component::forcefield::LennardJonesForceField<sofa::defaulttype::Vec3dTypes> LennardJonesForceField3d;
00115 
00116 
00117 //MeshSpringForceField
00118 //---------------------
00119 //Deformable
00120 typedef sofa::component::forcefield::MeshSpringForceField<sofa::defaulttype::Vec1dTypes> MeshSpringForceField1d;
00121 typedef sofa::component::forcefield::MeshSpringForceField<sofa::defaulttype::Vec2dTypes> MeshSpringForceField2d;
00122 typedef sofa::component::forcefield::MeshSpringForceField<sofa::defaulttype::Vec3dTypes> MeshSpringForceField3d;
00123 
00124 //PlaneForceField
00125 //---------------------
00126 //Deformable
00127 typedef sofa::component::forcefield::PlaneForceField<sofa::defaulttype::Vec1dTypes> PlaneForceField1d;
00128 typedef sofa::component::forcefield::PlaneForceField<sofa::defaulttype::Vec2dTypes> PlaneForceField2d;
00129 typedef sofa::component::forcefield::PlaneForceField<sofa::defaulttype::Vec3dTypes> PlaneForceField3d;
00130 typedef sofa::component::forcefield::PlaneForceField<sofa::defaulttype::Vec6dTypes> PlaneForceField6d;
00131 
00132 //QuadBendingSprings
00133 //---------------------
00134 //Deformable
00135 typedef sofa::component::forcefield::QuadBendingSprings<sofa::defaulttype::Vec2dTypes> QuadBendingSprings2d;
00136 typedef sofa::component::forcefield::QuadBendingSprings<sofa::defaulttype::Vec3dTypes> QuadBendingSprings3d;
00137 
00138 
00139 //RegularGridSpringForceField
00140 //---------------------
00141 //Deformable
00142 typedef sofa::component::forcefield::RegularGridSpringForceField<sofa::defaulttype::Vec1dTypes> RegularGridSpringForceField1d;
00143 typedef sofa::component::forcefield::RegularGridSpringForceField<sofa::defaulttype::Vec2dTypes> RegularGridSpringForceField2d;
00144 typedef sofa::component::forcefield::RegularGridSpringForceField<sofa::defaulttype::Vec3dTypes> RegularGridSpringForceField3d;
00145 typedef sofa::component::forcefield::RegularGridSpringForceField<sofa::defaulttype::Vec6dTypes> RegularGridSpringForceField6d;
00146 
00147 
00148 //SPHFluidForceField
00149 //---------------------
00150 //Deformable
00151 typedef sofa::component::forcefield::SPHFluidForceField<sofa::defaulttype::Vec2dTypes> SPHFluidForceField2d;
00152 typedef sofa::component::forcefield::SPHFluidForceField<sofa::defaulttype::Vec3dTypes> SPHFluidForceField3d;
00153 
00154 
00155 //SphereForceField
00156 //---------------------
00157 //Deformable
00158 typedef sofa::component::forcefield::SphereForceField<sofa::defaulttype::Vec1dTypes> SphereForceField1d;
00159 typedef sofa::component::forcefield::SphereForceField<sofa::defaulttype::Vec2dTypes> SphereForceField2d;
00160 typedef sofa::component::forcefield::SphereForceField<sofa::defaulttype::Vec3dTypes> SphereForceField3d;
00161 
00162 //SpringForceField
00163 //---------------------
00164 //Deformable
00165 typedef sofa::component::forcefield::SpringForceField<sofa::defaulttype::Vec1dTypes> SpringForceField1d;
00166 typedef sofa::component::forcefield::SpringForceField<sofa::defaulttype::Vec2dTypes> SpringForceField2d;
00167 typedef sofa::component::forcefield::SpringForceField<sofa::defaulttype::Vec3dTypes> SpringForceField3d;
00168 typedef sofa::component::forcefield::SpringForceField<sofa::defaulttype::Vec6dTypes> SpringForceField6d;
00169 
00170 
00171 //StiffSpringForceField
00172 //---------------------
00173 //Deformable
00174 typedef sofa::component::forcefield::StiffSpringForceField<sofa::defaulttype::Vec1dTypes> StiffSpringForceField1d;
00175 typedef sofa::component::forcefield::StiffSpringForceField<sofa::defaulttype::Vec2dTypes> StiffSpringForceField2d;
00176 typedef sofa::component::forcefield::StiffSpringForceField<sofa::defaulttype::Vec3dTypes> StiffSpringForceField3d;
00177 typedef sofa::component::forcefield::StiffSpringForceField<sofa::defaulttype::Vec6dTypes> StiffSpringForceField6d;
00178 
00179 
00180 //TensorForceField
00181 //---------------------
00182 //Deformable
00183 typedef sofa::component::forcefield::TensorForceField<sofa::defaulttype::Vec3dTypes> TensorForceField3d;
00184 
00185 
00186 //TetrahedronFEMForceField
00187 //---------------------
00188 //Deformable
00189 typedef sofa::component::forcefield::TetrahedronFEMForceField<sofa::defaulttype::Vec3dTypes> TetrahedronFEMForceField3d;
00190 
00191 
00192 //TriangleBendingSprings
00193 //---------------------
00194 //Deformable
00195 typedef sofa::component::forcefield::TriangleBendingSprings<sofa::defaulttype::Vec2dTypes> TriangleBendingSprings2d;
00196 typedef sofa::component::forcefield::TriangleBendingSprings<sofa::defaulttype::Vec3dTypes> TriangleBendingSprings3d;
00197 
00198 //TriangleFEMForceField
00199 //---------------------
00200 //Deformable
00201 typedef sofa::component::forcefield::TriangleFEMForceField<sofa::defaulttype::Vec3dTypes> TriangleFEMForceField3d;
00202 
00203 //VectorSpringForceField
00204 //---------------------
00205 //Deformable
00206 typedef sofa::component::forcefield::VectorSpringForceField<sofa::defaulttype::Vec3dTypes> VectorSpringForceField3d;
00207 
00208 
00209 #ifndef SOFA_FLOAT
00210 typedef BeamFEMForceFieldRigid3d                          BeamFEMForceFieldRigid3;                         
00211 typedef BoxStiffSpringForceField3d            BoxStiffSpringForceField3;
00212 typedef BoxConstantForceField1d               BoxConstantForceField1;
00213 typedef BoxConstantForceField2d               BoxConstantForceField2;
00214 typedef BoxConstantForceField3d               BoxConstantForceField3;
00215 typedef BoxConstantForceField6d               BoxConstantForceField6;
00216 typedef BoxConstantForceFieldRigid2d              BoxConstantForceFieldRigid2;
00217 typedef BoxConstantForceFieldRigid3d              BoxConstantForceFieldRigid3;
00218 typedef ConicalForceField3d                   ConicalForceField3;
00219 typedef ConstantForceField1d                  ConstantForceField1;
00220 typedef ConstantForceField2d                  ConstantForceField2;
00221 typedef ConstantForceField3d                  ConstantForceField3;
00222 typedef ConstantForceField6d                  ConstantForceField6;
00223 typedef ConstantForceFieldRigid2d             ConstantForceFieldRigid2;
00224 typedef ConstantForceFieldRigid3d             ConstantForceFieldRigid3;
00225 typedef EdgePressureForceField3d              EdgePressureForceField3;
00226 typedef EllipsoidForceField1d                 EllipsoidForceField1;
00227 typedef EllipsoidForceField2d                 EllipsoidForceField2;
00228 typedef EllipsoidForceField3d                 EllipsoidForceField3;
00229 typedef JointSpringForceFieldRigid3d              JointSpringForceFieldRigid3;
00230 typedef LennardJonesForceField3d              LennardJonesForceField3;
00231 typedef MeshSpringForceField1d                MeshSpringForceField1;
00232 typedef MeshSpringForceField2d                MeshSpringForceField2;
00233 typedef MeshSpringForceField3d                MeshSpringForceField3;
00234 typedef PlaneForceField1d                 PlaneForceField1;
00235 typedef PlaneForceField2d                 PlaneForceField2;
00236 typedef PlaneForceField3d                 PlaneForceField3;
00237 typedef PlaneForceField6d                 PlaneForceField6;
00238 typedef QuadBendingSprings2d                  QuadBendingSprings2;
00239 typedef QuadBendingSprings3d                  QuadBendingSprings3;
00240 typedef RegularGridSpringForceField1d             RegularGridSpringForceField1;
00241 typedef RegularGridSpringForceField2d             RegularGridSpringForceField2;
00242 typedef RegularGridSpringForceField3d             RegularGridSpringForceField3;
00243 typedef RegularGridSpringForceField6d             RegularGridSpringForceField6;
00244 typedef SPHFluidForceField2d                  SPHFluidForceField2;
00245 typedef SPHFluidForceField3d                  SPHFluidForceField3;
00246 typedef SphereForceField1d                SphereForceField1;
00247 typedef SphereForceField2d                SphereForceField2;
00248 typedef SphereForceField3d                SphereForceField3;
00249 typedef SpringForceField1d                SpringForceField1;
00250 typedef SpringForceField2d                SpringForceField2;
00251 typedef SpringForceField3d                SpringForceField3;
00252 typedef SpringForceField6d                SpringForceField6;
00253 typedef StiffSpringForceField1d               StiffSpringForceField1;
00254 typedef StiffSpringForceField2d               StiffSpringForceField2;
00255 typedef StiffSpringForceField3d               StiffSpringForceField3;
00256 typedef StiffSpringForceField6d               StiffSpringForceField6;
00257 typedef TensorForceField3d                TensorForceField3;
00258 typedef TetrahedronFEMForceField3d            TetrahedronFEMForceField3;
00259 typedef TriangleBendingSprings2d              TriangleBendingSprings2;
00260 typedef TriangleBendingSprings3d              TriangleBendingSprings3;
00261 typedef TriangleFEMForceField3d                   TriangleFEMForceField3;
00262 typedef VectorSpringForceField3d              VectorSpringForceField3;
00263 #endif
00264 
00265 #endif

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