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_FLOAT_H 00026 #define SOFA_TYPEDEF_FORCEFIELD_FLOAT_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::Rigid3fTypes> BeamFEMForceFieldRigid3f; 00062 00063 //BoxStiffSpringForceField 00064 //--------------------- 00065 //Deformable 00066 typedef sofa::component::forcefield::BoxStiffSpringForceField<sofa::defaulttype::Vec3fTypes> BoxStiffSpringForceField3f; 00067 00068 //BoxConstantForceField 00069 //--------------------- 00070 //Deformable 00071 typedef sofa::component::forcefield::BoxConstantForceField<sofa::defaulttype::Vec1fTypes> BoxConstantForceField1f; 00072 typedef sofa::component::forcefield::BoxConstantForceField<sofa::defaulttype::Vec2fTypes> BoxConstantForceField2f; 00073 typedef sofa::component::forcefield::BoxConstantForceField<sofa::defaulttype::Vec3fTypes> BoxConstantForceField3f; 00074 typedef sofa::component::forcefield::BoxConstantForceField<sofa::defaulttype::Vec6fTypes> BoxConstantForceField6f; 00075 typedef sofa::component::forcefield::BoxConstantForceField<sofa::defaulttype::Rigid2fTypes> BoxConstantForceFieldRigid2f; 00076 typedef sofa::component::forcefield::BoxConstantForceField<sofa::defaulttype::Rigid3fTypes> BoxConstantForceFieldRigid3f; 00077 00078 //ConicalForceField 00079 //--------------------- 00080 //Deformable 00081 typedef sofa::component::forcefield::ConicalForceField<sofa::defaulttype::Vec3fTypes> ConicalForceField3f; 00082 00083 //ConstantForceField 00084 //--------------------- 00085 //Deformable 00086 typedef sofa::component::forcefield::ConstantForceField<sofa::defaulttype::Vec1fTypes> ConstantForceField1f; 00087 typedef sofa::component::forcefield::ConstantForceField<sofa::defaulttype::Vec2fTypes> ConstantForceField2f; 00088 typedef sofa::component::forcefield::ConstantForceField<sofa::defaulttype::Vec3fTypes> ConstantForceField3f; 00089 typedef sofa::component::forcefield::ConstantForceField<sofa::defaulttype::Vec6fTypes> ConstantForceField6f; 00090 typedef sofa::component::forcefield::ConstantForceField<sofa::defaulttype::Rigid2fTypes> ConstantForceFieldRigid2f; 00091 typedef sofa::component::forcefield::ConstantForceField<sofa::defaulttype::Rigid3fTypes> ConstantForceFieldRigid3f; 00092 00093 //EdgePressureForceField 00094 //--------------------- 00095 //Deformable 00096 typedef sofa::component::forcefield::EdgePressureForceField<sofa::defaulttype::Vec3fTypes> EdgePressureForceField3f; 00097 00098 //EllipsoidForceField 00099 //--------------------- 00100 //Deformable 00101 typedef sofa::component::forcefield::EllipsoidForceField<sofa::defaulttype::Vec1fTypes> EllipsoidForceField1f; 00102 typedef sofa::component::forcefield::EllipsoidForceField<sofa::defaulttype::Vec2fTypes> EllipsoidForceField2f; 00103 typedef sofa::component::forcefield::EllipsoidForceField<sofa::defaulttype::Vec3fTypes> EllipsoidForceField3f; 00104 00105 00106 //JointSpringForceField 00107 //--------------------- 00108 //Rigid 00109 typedef sofa::component::forcefield::JointSpringForceField<sofa::defaulttype::Rigid3fTypes> JointSpringForceFieldRigid3f; 00110 00111 //LennardJonesForceField 00112 //--------------------- 00113 //Deformable 00114 typedef sofa::component::forcefield::LennardJonesForceField<sofa::defaulttype::Vec3fTypes> LennardJonesForceField3f; 00115 00116 00117 //MeshSpringForceField 00118 //--------------------- 00119 //Deformable 00120 typedef sofa::component::forcefield::MeshSpringForceField<sofa::defaulttype::Vec1fTypes> MeshSpringForceField1f; 00121 typedef sofa::component::forcefield::MeshSpringForceField<sofa::defaulttype::Vec2fTypes> MeshSpringForceField2f; 00122 typedef sofa::component::forcefield::MeshSpringForceField<sofa::defaulttype::Vec3fTypes> MeshSpringForceField3f; 00123 00124 //PlaneForceField 00125 //--------------------- 00126 //Deformable 00127 typedef sofa::component::forcefield::PlaneForceField<sofa::defaulttype::Vec1fTypes> PlaneForceField1f; 00128 typedef sofa::component::forcefield::PlaneForceField<sofa::defaulttype::Vec2fTypes> PlaneForceField2f; 00129 typedef sofa::component::forcefield::PlaneForceField<sofa::defaulttype::Vec3fTypes> PlaneForceField3f; 00130 typedef sofa::component::forcefield::PlaneForceField<sofa::defaulttype::Vec6fTypes> PlaneForceField6f; 00131 00132 //QuadBendingSprings 00133 //--------------------- 00134 //Deformable 00135 typedef sofa::component::forcefield::QuadBendingSprings<sofa::defaulttype::Vec2fTypes> QuadBendingSprings2f; 00136 typedef sofa::component::forcefield::QuadBendingSprings<sofa::defaulttype::Vec3fTypes> QuadBendingSprings3f; 00137 00138 00139 //RegularGridSpringForceField 00140 //--------------------- 00141 //Deformable 00142 typedef sofa::component::forcefield::RegularGridSpringForceField<sofa::defaulttype::Vec1fTypes> RegularGridSpringForceField1f; 00143 typedef sofa::component::forcefield::RegularGridSpringForceField<sofa::defaulttype::Vec2fTypes> RegularGridSpringForceField2f; 00144 typedef sofa::component::forcefield::RegularGridSpringForceField<sofa::defaulttype::Vec3fTypes> RegularGridSpringForceField3f; 00145 typedef sofa::component::forcefield::RegularGridSpringForceField<sofa::defaulttype::Vec6fTypes> RegularGridSpringForceField6f; 00146 00147 00148 //SPHFluidForceField 00149 //--------------------- 00150 //Deformable 00151 typedef sofa::component::forcefield::SPHFluidForceField<sofa::defaulttype::Vec2fTypes> SPHFluidForceField2f; 00152 typedef sofa::component::forcefield::SPHFluidForceField<sofa::defaulttype::Vec3fTypes> SPHFluidForceField3f; 00153 00154 00155 //SphereForceField 00156 //--------------------- 00157 //Deformable 00158 typedef sofa::component::forcefield::SphereForceField<sofa::defaulttype::Vec1fTypes> SphereForceField1f; 00159 typedef sofa::component::forcefield::SphereForceField<sofa::defaulttype::Vec2fTypes> SphereForceField2f; 00160 typedef sofa::component::forcefield::SphereForceField<sofa::defaulttype::Vec3fTypes> SphereForceField3f; 00161 00162 //SpringForceField 00163 //--------------------- 00164 //Deformable 00165 typedef sofa::component::forcefield::SpringForceField<sofa::defaulttype::Vec1fTypes> SpringForceField1f; 00166 typedef sofa::component::forcefield::SpringForceField<sofa::defaulttype::Vec2fTypes> SpringForceField2f; 00167 typedef sofa::component::forcefield::SpringForceField<sofa::defaulttype::Vec3fTypes> SpringForceField3f; 00168 typedef sofa::component::forcefield::SpringForceField<sofa::defaulttype::Vec6fTypes> SpringForceField6f; 00169 00170 00171 //StiffSpringForceField 00172 //--------------------- 00173 //Deformable 00174 typedef sofa::component::forcefield::StiffSpringForceField<sofa::defaulttype::Vec1fTypes> StiffSpringForceField1f; 00175 typedef sofa::component::forcefield::StiffSpringForceField<sofa::defaulttype::Vec2fTypes> StiffSpringForceField2f; 00176 typedef sofa::component::forcefield::StiffSpringForceField<sofa::defaulttype::Vec3fTypes> StiffSpringForceField3f; 00177 typedef sofa::component::forcefield::StiffSpringForceField<sofa::defaulttype::Vec6fTypes> StiffSpringForceField6f; 00178 00179 00180 //TensorForceField 00181 //--------------------- 00182 //Deformable 00183 typedef sofa::component::forcefield::TensorForceField<sofa::defaulttype::Vec3fTypes> TensorForceField3f; 00184 00185 00186 //TetrahedronFEMForceField 00187 //--------------------- 00188 //Deformable 00189 typedef sofa::component::forcefield::TetrahedronFEMForceField<sofa::defaulttype::Vec3fTypes> TetrahedronFEMForceField3f; 00190 00191 00192 //TriangleBendingSprings 00193 //--------------------- 00194 //Deformable 00195 typedef sofa::component::forcefield::TriangleBendingSprings<sofa::defaulttype::Vec2fTypes> TriangleBendingSprings2f; 00196 typedef sofa::component::forcefield::TriangleBendingSprings<sofa::defaulttype::Vec3fTypes> TriangleBendingSprings3f; 00197 00198 //TriangleFEMForceField 00199 //--------------------- 00200 //Deformable 00201 typedef sofa::component::forcefield::TriangleFEMForceField<sofa::defaulttype::Vec3fTypes> TriangleFEMForceField3f; 00202 00203 //VectorSpringForceField 00204 //--------------------- 00205 //Deformable 00206 typedef sofa::component::forcefield::VectorSpringForceField<sofa::defaulttype::Vec3fTypes> VectorSpringForceField3f; 00207 00208 00209 #ifdef SOFA_FLOAT 00210 typedef BeamFEMForceFieldRigid3f BeamFEMForceFieldRigid3; 00211 typedef BoxStiffSpringForceField3f BoxStiffSpringForceField3; 00212 typedef BoxConstantForceField1f BoxConstantForceField1; 00213 typedef BoxConstantForceField2f BoxConstantForceField2; 00214 typedef BoxConstantForceField3f BoxConstantForceField3; 00215 typedef BoxConstantForceField6f BoxConstantForceField6; 00216 typedef BoxConstantForceFieldRigid2f BoxConstantForceFieldRigid2; 00217 typedef BoxConstantForceFieldRigid3f BoxConstantForceFieldRigid3; 00218 typedef ConicalForceField3f ConicalForceField3; 00219 typedef ConstantForceField1f ConstantForceField1; 00220 typedef ConstantForceField2f ConstantForceField2; 00221 typedef ConstantForceField3f ConstantForceField3; 00222 typedef ConstantForceField6f ConstantForceField6; 00223 typedef ConstantForceFieldRigid2f ConstantForceFieldRigid2; 00224 typedef ConstantForceFieldRigid3f ConstantForceFieldRigid3; 00225 typedef EdgePressureForceField3f EdgePressureForceField3; 00226 typedef EllipsoidForceField1f EllipsoidForceField1; 00227 typedef EllipsoidForceField2f EllipsoidForceField2; 00228 typedef EllipsoidForceField3f EllipsoidForceField3; 00229 typedef JointSpringForceFieldRigid3f JointSpringForceFieldRigid3; 00230 typedef LennardJonesForceField3f LennardJonesForceField3; 00231 typedef MeshSpringForceField1f MeshSpringForceField1; 00232 typedef MeshSpringForceField2f MeshSpringForceField2; 00233 typedef MeshSpringForceField3f MeshSpringForceField3; 00234 typedef PlaneForceField1f PlaneForceField1; 00235 typedef PlaneForceField2f PlaneForceField2; 00236 typedef PlaneForceField3f PlaneForceField3; 00237 typedef PlaneForceField6f PlaneForceField6; 00238 typedef QuadBendingSprings2f QuadBendingSprings2; 00239 typedef QuadBendingSprings3f QuadBendingSprings3; 00240 typedef RegularGridSpringForceField1f RegularGridSpringForceField1; 00241 typedef RegularGridSpringForceField2f RegularGridSpringForceField2; 00242 typedef RegularGridSpringForceField3f RegularGridSpringForceField3; 00243 typedef RegularGridSpringForceField6f RegularGridSpringForceField6; 00244 typedef SPHFluidForceField2f SPHFluidForceField2; 00245 typedef SPHFluidForceField3f SPHFluidForceField3; 00246 typedef SphereForceField1f SphereForceField1; 00247 typedef SphereForceField2f SphereForceField2; 00248 typedef SphereForceField3f SphereForceField3; 00249 typedef SpringForceField1f SpringForceField1; 00250 typedef SpringForceField2f SpringForceField2; 00251 typedef SpringForceField3f SpringForceField3; 00252 typedef SpringForceField6f SpringForceField6; 00253 typedef StiffSpringForceField1f StiffSpringForceField1; 00254 typedef StiffSpringForceField2f StiffSpringForceField2; 00255 typedef StiffSpringForceField3f StiffSpringForceField3; 00256 typedef StiffSpringForceField6f StiffSpringForceField6; 00257 typedef TensorForceField3f TensorForceField3; 00258 typedef TetrahedronFEMForceField3f TetrahedronFEMForceField3; 00259 typedef TriangleBendingSprings2f TriangleBendingSprings2; 00260 typedef TriangleBendingSprings3f TriangleBendingSprings3; 00261 typedef TriangleFEMForceField3f TriangleFEMForceField3; 00262 typedef VectorSpringForceField3f VectorSpringForceField3; 00263 #endif 00264 00265 #endif
1.5.7.1