CudaSubsetMapping.cpp
Go to the documentation of this file.00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024
00025 #include "CudaTypes.h"
00026 #include <CudaSubsetMapping.inl>
00027 #include <sofa/core/ObjectFactory.h>
00028 #include <sofa/defaulttype/VecTypes.h>
00029 #include <sofa/core/componentmodel/behavior/MappedModel.h>
00030 #include <sofa/core/componentmodel/behavior/MechanicalState.h>
00031 #include <sofa/core/componentmodel/behavior/MechanicalMapping.inl>
00032 #include <sofa/core/Mapping.inl>
00033
00034 namespace sofa
00035 {
00036
00037 namespace component
00038 {
00039
00040 namespace mapping
00041 {
00042 using namespace sofa::defaulttype;
00043 using namespace sofa::core;
00044 using namespace sofa::core::componentmodel::behavior;
00045 using namespace sofa::gpu::cuda;
00046
00047 #ifndef SOFA_FLOAT
00048 #endif
00049 #ifndef SOFA_DOUBLE
00050 template class SubsetMapping< MechanicalMapping< MechanicalState<CudaVec3fTypes>, MechanicalState<CudaVec3fTypes> > >;
00051 template class SubsetMapping< MechanicalMapping< MechanicalState<CudaVec3fTypes>, MechanicalState<Vec3fTypes> > >;
00052 template class SubsetMapping< Mapping< State<CudaVec3fTypes>, MappedModel<CudaVec3fTypes> > >;
00053 template class SubsetMapping< Mapping< State<CudaVec3fTypes>, MappedModel<Vec3fTypes> > >;
00054 template class SubsetMapping< Mapping< State<CudaVec3fTypes>, MappedModel<ExtVec3fTypes> > >;
00055
00056 template class SubsetMapping< MechanicalMapping< MechanicalState<CudaVec3f1Types>, MechanicalState<CudaVec3f1Types> > >;
00057 template class SubsetMapping< MechanicalMapping< MechanicalState<CudaVec3f1Types>, MechanicalState<CudaVec3fTypes> > >;
00058 template class SubsetMapping< MechanicalMapping< MechanicalState<CudaVec3fTypes>, MechanicalState<CudaVec3f1Types> > >;
00059 template class SubsetMapping< MechanicalMapping< MechanicalState<CudaVec3f1Types>, MechanicalState<Vec3fTypes> > >;
00060 template class SubsetMapping< Mapping< State<CudaVec3f1Types>, MappedModel<CudaVec3f1Types> > >;
00061 template class SubsetMapping< Mapping< State<CudaVec3f1Types>, MappedModel<CudaVec3fTypes> > >;
00062 template class SubsetMapping< Mapping< State<CudaVec3fTypes>, MappedModel<CudaVec3f1Types> > >;
00063 template class SubsetMapping< Mapping< State<CudaVec3f1Types>, MappedModel<Vec3fTypes> > >;
00064 template class SubsetMapping< Mapping< State<CudaVec3f1Types>, MappedModel<ExtVec3fTypes> > >;
00065 #endif
00066 #ifndef SOFA_FLOAT
00067 #ifndef SOFA_DOUBLE
00068 template class SubsetMapping< MechanicalMapping< MechanicalState<CudaVec3fTypes>, MechanicalState<Vec3dTypes> > >;
00069 template class SubsetMapping< Mapping< State<CudaVec3fTypes>, MappedModel<Vec3dTypes> > >;
00070 template class SubsetMapping< MechanicalMapping< MechanicalState<CudaVec3f1Types>, MechanicalState<Vec3dTypes> > >;
00071 template class SubsetMapping< Mapping< State<CudaVec3f1Types>, MappedModel<Vec3dTypes> > >;
00072
00073 #endif
00074 #endif
00075
00076 }
00077
00078 }
00079
00080 namespace gpu
00081 {
00082
00083 namespace cuda
00084 {
00085 using namespace sofa::defaulttype;
00086 using namespace sofa::core;
00087 using namespace sofa::core::componentmodel::behavior;
00088 using namespace sofa::component::mapping;
00089
00090 SOFA_DECL_CLASS(CudaSubsetMapping)
00091
00092 int SubsetMappingCudaClass = core::RegisterObject("Supports GPU-side computations using CUDA")
00093 #ifndef SOFA_FLOAT
00094 #endif
00095 #ifndef SOFA_DOUBLE
00096 .add< SubsetMapping< MechanicalMapping< MechanicalState<CudaVec3fTypes>, MechanicalState<CudaVec3fTypes> > > >()
00097 .add< SubsetMapping< MechanicalMapping< MechanicalState<CudaVec3fTypes>, MechanicalState<Vec3fTypes> > > >()
00098 .add< SubsetMapping< Mapping< State<CudaVec3fTypes>, MappedModel<CudaVec3fTypes> > > >()
00099 .add< SubsetMapping< Mapping< State<CudaVec3fTypes>, MappedModel<Vec3fTypes> > > >()
00100 .add< SubsetMapping< Mapping< State<CudaVec3fTypes>, MappedModel<ExtVec3fTypes> > > >()
00101
00102 .add< SubsetMapping< MechanicalMapping< MechanicalState<CudaVec3f1Types>, MechanicalState<CudaVec3f1Types> > > >()
00103 .add< SubsetMapping< MechanicalMapping< MechanicalState<CudaVec3f1Types>, MechanicalState<CudaVec3fTypes> > > >()
00104 .add< SubsetMapping< MechanicalMapping< MechanicalState<CudaVec3fTypes>, MechanicalState<CudaVec3f1Types> > > >()
00105 .add< SubsetMapping< MechanicalMapping< MechanicalState<CudaVec3f1Types>, MechanicalState<Vec3fTypes> > > >()
00106 .add< SubsetMapping< Mapping< State<CudaVec3f1Types>, MappedModel<CudaVec3f1Types> > > >()
00107 .add< SubsetMapping< Mapping< State<CudaVec3f1Types>, MappedModel<CudaVec3fTypes> > > >()
00108 .add< SubsetMapping< Mapping< State<CudaVec3fTypes>, MappedModel<CudaVec3f1Types> > > >()
00109 .add< SubsetMapping< Mapping< State<CudaVec3f1Types>, MappedModel<Vec3fTypes> > > >()
00110 .add< SubsetMapping< Mapping< State<CudaVec3f1Types>, MappedModel<ExtVec3fTypes> > > >()
00111 #endif
00112 #ifndef SOFA_FLOAT
00113 #ifndef SOFA_DOUBLE
00114 .add< SubsetMapping< MechanicalMapping< MechanicalState<CudaVec3fTypes>, MechanicalState<Vec3dTypes> > > >()
00115 .add< SubsetMapping< Mapping< State<CudaVec3fTypes>, MappedModel<Vec3dTypes> > > >()
00116 .add< SubsetMapping< MechanicalMapping< MechanicalState<CudaVec3f1Types>, MechanicalState<Vec3dTypes> > > >()
00117 .add< SubsetMapping< Mapping< State<CudaVec3f1Types>, MappedModel<Vec3dTypes> > > >()
00118
00119 #endif
00120 #endif
00121 ;
00122
00123 }
00124
00125 }
00126
00127 }