Move center-model, model-offset and model-rotation under geom_options instead of serializer_options

This commit is contained in:
blocovin
2020-02-13 19:23:28 +01:00
committed by Thomas Krijnen
parent e1af6d34e4
commit 32511bd9e9
+9 -8
View File
@@ -221,6 +221,7 @@ int main(int argc, char** argv) {
"based on an interpretation of the geometry when exporting IFC"); "based on an interpretation of the geometry when exporting IFC");
int num_threads; int num_threads;
std::string offset_str, rotation_str;
po::options_description geom_options("Geometry options"); po::options_description geom_options("Geometry options");
geom_options.add_options() geom_options.add_options()
@@ -252,6 +253,13 @@ int main(int argc, char** argv) {
"This is a potentially time consuming operation, but guarantees a " "This is a potentially time consuming operation, but guarantees a "
"consistent orientation of surface normals, even if the faces are not " "consistent orientation of surface normals, even if the faces are not "
"properly oriented in the IFC file.") "properly oriented in the IFC file.")
("center-model",
"Centers the elements by applying the center point of all placements as an offset."
"Can take several minutes on large models.")
("model-offset", po::value<std::string>(&offset_str),
"Applies an arbitrary offset of form 'x;y;z' to all placements.")
("model-rotation", po::value<std::string>(&rotation_str),
"Applies an arbitrary quaternion rotation of form 'x;y;z;w' to all placements.")
#if OCC_VERSION_HEX < 0x60900 #if OCC_VERSION_HEX < 0x60900
// In Open CASCADE version prior to 6.9.0 boolean operations with multiple // In Open CASCADE version prior to 6.9.0 boolean operations with multiple
// arguments where not introduced yet and a work-around was implemented to // arguments where not introduced yet and a work-around was implemented to
@@ -311,7 +319,7 @@ int main(int argc, char** argv) {
"if an object does not have any specified material in the IFC file.") "if an object does not have any specified material in the IFC file.")
("validate", "Checks whether geometrical output conforms to the included explicit quantities."); ("validate", "Checks whether geometrical output conforms to the included explicit quantities.");
std::string bounds, offset_str, rotation_str; std::string bounds;
#ifdef HAVE_ICU #ifdef HAVE_ICU
std::string unicode_mode; std::string unicode_mode;
#endif #endif
@@ -344,13 +352,6 @@ int main(int argc, char** argv) {
("use-element-hierarchy", ("use-element-hierarchy",
"Order the elements using their IfcBuildingStorey parent. " "Order the elements using their IfcBuildingStorey parent. "
"Applicable for DAE output.") "Applicable for DAE output.")
("center-model",
"Centers the elements by applying the center point of all placements as an offset."
"Can take several minutes on large models.")
("model-offset", po::value<std::string>(&offset_str),
"Applies an arbitrary offset of form 'x;y;z' to all placements.")
("model-rotation", po::value<std::string>(&rotation_str),
"Applies an arbitrary quaternion rotation of form 'x;y;z;w' to all placements.")
("site-local-placement", ("site-local-placement",
"Place elements locally in the IfcSite coordinate system, instead of placing " "Place elements locally in the IfcSite coordinate system, instead of placing "
"them in the IFC global coords. Applicable for OBJ and DAE output.") "them in the IFC global coords. Applicable for OBJ and DAE output.")