00001 #ifndef Geometry_CommonTopologies_SurfaceDeformationFactory_H 00002 #define Geometry_CommonTopologies_SurfaceDeformationFactory_H 00003 00013 00014 #include <vector> 00015 #include <string> 00016 00017 class SurfaceDeformation; 00018 00019 namespace SurfaceDeformationFactory 00020 { 00021 enum Type { 00022 // rigid body has no deformations! kRigidBody = 0, 00023 kBowedSurface = 1, // BowedSurfaceDeformation 00024 kTwoBowedSurfaces // TwoBowedSurfacesDeformation 00025 }; 00026 00028 Type surfaceDeformationType(const std::string &typeString); 00029 00030 00036 SurfaceDeformation* create(int type, const std::vector<double> ¶ms); 00037 00038 } 00039 00040 #endif