+
+Model Model::modelFactory(const std::string& name){
+ if (name == "X"){
+ return Model(new Models::X());
+ }else if(name == "Whirl"){
+ return Model(new Models::Whirl());
+ }else if(name == "Standard"){
+ return Model(new Models::ModelImpl());
+ }else if(name == "Zipper"){
+ return Model(new Models::Zipper());
+ }else if(name == "FatX"){
+ return Model(new Models::FatX());
+ }else if(name == "Cloud"){
+ return Model(new Models::Cloud());
+ }
+ throw std::invalid_argument(name + " is not a valid model");
+}