| 108 | } |
| 109 | |
| 110 | void print_usage(bool suggest_help = true) |
| 111 | { |
| 112 | cout_ << "Usage: IfcConvert [options] <input.ifc> [<output>]\n" |
| 113 | << "\n" |
| 114 | << "Converts (the geometry in) an IFC file into one of the following formats:\n" |
| 115 | << " .obj WaveFront OBJ (a .mtl file is also created)\n" |
| 116 | #ifdef WITH_OPENCOLLADA |
| 117 | << " .dae Collada Digital Assets Exchange\n" |
| 118 | #endif |
| 119 | #ifdef WITH_GLTF |
| 120 | << " .glb glTF Binary glTF v2.0\n" |
| 121 | #endif |
| 122 | #ifdef WITH_USD |
| 123 | << " .usd USD Universal Scene Description\n" |
| 124 | #endif |
| 125 | << " .stp STEP Standard for the Exchange of Product Data\n" |
| 126 | << " .igs IGES Initial Graphics Exchange Specification\n" |
| 127 | << " .xml XML Property definitions and decomposition tree\n" |
| 128 | #ifdef WITH_GLTF |
| 129 | << " .json JSON Property definitions and decomposition tree in xeokit json format\n" |
| 130 | #endif |
| 131 | << " .rdb RocksDB RocksDB Key-Value store serialization of IFC data\n" |
| 132 | << " .svg SVG Scalable Vector Graphics (2D floor plan)\n" |
| 133 | #ifdef WITH_HDF5 |
| 134 | << " .h5 HDF Hierarchical Data Format storing positions, normals and indices\n" |
| 135 | #endif |
| 136 | << " .ttl TTL/WKT RDF Turtle with Well-Known-Text geometry\n" |
| 137 | << " .ifc IFC-SPF Industry Foundation Classes\n" |
| 138 | << "\n" |
| 139 | << "If no output filename given, <input>" << IfcUtil::path::from_utf8(DEFAULT_EXTENSION) << " will be used as the output file.\n"; |
| 140 | if (suggest_help) { |
| 141 | cout_ << "\nRun 'IfcConvert --help' for more information."; |
| 142 | } |
| 143 | cout_ << std::endl; |
| 144 | } |
| 145 | |
| 146 | /// @todo Add help for single option |
| 147 | void print_options(const po::options_description& options) |