| 144 | } |
| 145 | |
| 146 | VectorSTBNTypeArgs ParsedOptionsToMakeType(cxxopts::ParseResult& parsedOptions) |
| 147 | { |
| 148 | VectorSTBNTypeArgs typeArgs; |
| 149 | auto typeStr = parsedOptions["type"].as<std::string>(); |
| 150 | auto generatorStr = parsedOptions["generator"].as<std::string>(); |
| 151 | auto valueDistanceStr = parsedOptions["valueDistance"].as<std::string>(); |
| 152 | |
| 153 | if (typeStr == FloatStr) |
| 154 | { |
| 155 | typeArgs.type = VECTOR_TYPE::FLOAT; |
| 156 | typeArgs.floatArgs.generatorType = FloatGeneratorStrToEnum(generatorStr); |
| 157 | typeArgs.floatArgs.valueDistanceFunction = FloatValueDistanceFunctionStrToEnum(valueDistanceStr); |
| 158 | } |
| 159 | else if (typeStr == Float2Str) |
| 160 | { |
| 161 | typeArgs.type = VECTOR_TYPE::FLOAT2; |
| 162 | typeArgs.float2Args.generatorType = Float2GeneratorStrToEnum(generatorStr); |
| 163 | typeArgs.float2Args.valueDistanceFunction = Float2ValueDistanceFunctionStrToEnum(valueDistanceStr); |
| 164 | } |
| 165 | else if (typeStr == Float3Str) |
| 166 | { |
| 167 | typeArgs.type = VECTOR_TYPE::FLOAT3; |
| 168 | typeArgs.float3Args.generatorType = Float3GeneratorStrToEnum(generatorStr); |
| 169 | typeArgs.float3Args.valueDistanceFunction = Float3ValueDistanceFunctionStrToEnum(valueDistanceStr); |
| 170 | } |
| 171 | else |
| 172 | { |
| 173 | std::cout << "Error: Unrecognized type option \'" << typeStr << "\'. Exiting." << std::endl; |
| 174 | exit(-1); |
| 175 | } |
| 176 | return typeArgs; |
| 177 | } |
| 178 | |
| 179 | VectorProgramOptions BuildProgramOptionsFromParsedArgs(cxxopts::ParseResult& parsedOptions) |
| 180 | { |
no test coverage detected