Sketcher: PythonConverter: Replace useLastGeoIdVar bool by enum class
This commit is contained in:
@@ -59,11 +59,11 @@ std::string PythonConverter::convert(const Part::Geometry* geo, Mode mode)
|
||||
return command;
|
||||
}
|
||||
|
||||
std::string PythonConverter::convert(const Sketcher::Constraint* constraint, bool useLastGeoIdVar)
|
||||
std::string PythonConverter::convert(const Sketcher::Constraint* constraint, GeoIdMode geoIdMode)
|
||||
{
|
||||
// addConstraint(Sketcher.Constraint('Distance',%d,%f))
|
||||
std::string command;
|
||||
auto cg = process(constraint, useLastGeoIdVar);
|
||||
auto cg = process(constraint, geoIdMode);
|
||||
|
||||
command = boost::str(boost::format("addConstraint(%s)\n") % cg);
|
||||
|
||||
@@ -166,7 +166,7 @@ std::string PythonConverter::convert(const std::string& doc,
|
||||
|
||||
std::string PythonConverter::convert(const std::string& doc,
|
||||
const std::vector<Sketcher::Constraint*>& constraints,
|
||||
bool useLastGeoIdVar)
|
||||
GeoIdMode geoIdMode)
|
||||
{
|
||||
if (constraints.size() == 1) {
|
||||
auto cg = convert(constraints[0]);
|
||||
@@ -177,7 +177,7 @@ std::string PythonConverter::convert(const std::string& doc,
|
||||
std::string constraintlist = "constraintList = []";
|
||||
|
||||
for (auto constraint : constraints) {
|
||||
auto cg = process(constraint, useLastGeoIdVar);
|
||||
auto cg = process(constraint, geoIdMode);
|
||||
|
||||
constraintlist =
|
||||
boost::str(boost::format("%s\nconstraintList.append(%s)") % constraintlist % cg);
|
||||
@@ -344,11 +344,12 @@ PythonConverter::SingleGeometry PythonConverter::process(const Part::Geometry* g
|
||||
return creator(geo);
|
||||
}
|
||||
|
||||
std::string PythonConverter::process(const Sketcher::Constraint* constraint, bool useLastIdVar)
|
||||
std::string PythonConverter::process(const Sketcher::Constraint* constraint, GeoIdMode geoIdMode)
|
||||
{
|
||||
std::string geoId1 = (useLastIdVar ? "lastGeoId + " : "") + std::to_string(constraint->First);
|
||||
std::string geoId2 = (useLastIdVar ? "lastGeoId + " : "") + std::to_string(constraint->Second);
|
||||
std::string geoId3 = (useLastIdVar ? "lastGeoId + " : "") + std::to_string(constraint->Third);
|
||||
bool addLastIdVar = geoIdMode == GeoIdMode::AddLastGeoIdToGeoIds;
|
||||
std::string geoId1 = (addLastIdVar ? "lastGeoId + " : "") + std::to_string(constraint->First);
|
||||
std::string geoId2 = (addLastIdVar ? "lastGeoId + " : "") + std::to_string(constraint->Second);
|
||||
std::string geoId3 = (addLastIdVar ? "lastGeoId + " : "") + std::to_string(constraint->Third);
|
||||
|
||||
static std::map<
|
||||
const Sketcher::ConstraintType,
|
||||
|
||||
@@ -60,6 +60,12 @@ public:
|
||||
OmitInternalGeometry
|
||||
};
|
||||
|
||||
enum class GeoIdMode
|
||||
{
|
||||
DoNotChangeGeoIds,
|
||||
AddLastGeoIdToGeoIds,
|
||||
};
|
||||
|
||||
PythonConverter() = delete;
|
||||
~PythonConverter() = delete;
|
||||
|
||||
@@ -72,11 +78,11 @@ public:
|
||||
Mode mode = Mode::CreateInternalGeometry);
|
||||
|
||||
static std::string convert(const Sketcher::Constraint* constraint,
|
||||
bool useLastGeoIdVar = false);
|
||||
GeoIdMode geoIdMode = GeoIdMode::DoNotChangeGeoIds);
|
||||
|
||||
static std::string convert(const std::string& doc,
|
||||
const std::vector<Sketcher::Constraint*>& constraints,
|
||||
bool useLastGeoIdVar = false);
|
||||
GeoIdMode geoIdMode = GeoIdMode::DoNotChangeGeoIds);
|
||||
|
||||
static std::vector<std::string> multiLine(std::string&& singlestring);
|
||||
|
||||
@@ -84,7 +90,7 @@ private:
|
||||
static SingleGeometry process(const Part::Geometry* geo);
|
||||
|
||||
static std::string process(const Sketcher::Constraint* constraint,
|
||||
bool useLastGeoIdVar = false);
|
||||
GeoIdMode geoIdMode = GeoIdMode::DoNotChangeGeoIds);
|
||||
};
|
||||
|
||||
} // namespace Sketcher
|
||||
|
||||
@@ -192,7 +192,7 @@ bool copySelectionToClipboard(Sketcher::SketchObject* obj) {
|
||||
}
|
||||
shapeConstraints.push_back(temp);
|
||||
}
|
||||
std::string cstrAsStr = Sketcher::PythonConverter::convert("objectStr", shapeConstraints, true);
|
||||
std::string cstrAsStr = Sketcher::PythonConverter::convert("objectStr", shapeConstraints, Sketcher::PythonConverter::GeoIdMode::AddLastGeoIdToGeoIds);
|
||||
|
||||
std::string exportedData = "# Copied from sketcher. From:\n#objectStr = " + Gui::Command::getObjectCmd(obj) + "\n"
|
||||
+ geosAsStr + "\n" + cstrAsStr;
|
||||
|
||||
Reference in New Issue
Block a user