fix: step_import — add <optional>, replace operator[] with at() on const map
This commit is contained in:
@@ -3,6 +3,7 @@
|
||||
#include "vde/curves/nurbs_surface.h"
|
||||
#include <fstream>
|
||||
#include <sstream>
|
||||
#include <optional>
|
||||
#include <unordered_map>
|
||||
#include <unordered_set>
|
||||
#include <variant>
|
||||
@@ -1115,7 +1116,7 @@ private:
|
||||
int loop_ref = -1;
|
||||
for (const auto& arg : ent.args) {
|
||||
int r = to_ref(arg);
|
||||
if (r > 0 && entities_.count(r) && entities_[r].type == "EDGE_LOOP") {
|
||||
if (r > 0 && entities_.count(r) && entities_.at(r).type == "EDGE_LOOP") {
|
||||
loop_ref = r;
|
||||
break;
|
||||
}
|
||||
@@ -1162,7 +1163,7 @@ private:
|
||||
bool reversed = false;
|
||||
for (const auto& arg : ent.args) {
|
||||
int r = to_ref(arg);
|
||||
if (r > 0 && entities_.count(r) && (entities_[r].type == "EDGE_CURVE" || entities_[r].type == "EDGE_CURVE_IMPLICIT")) {
|
||||
if (r > 0 && entities_.count(r) && (entities_.at(r).type == "EDGE_CURVE" || entities_.at(r).type == "EDGE_CURVE_IMPLICIT")) {
|
||||
edge_ref = r;
|
||||
}
|
||||
}
|
||||
@@ -1332,7 +1333,7 @@ private:
|
||||
std::vector<int> filtered;
|
||||
for (int r : solid_refs) {
|
||||
if (entities_.count(r)) {
|
||||
const auto& e = entities_[r];
|
||||
const auto& e = entities_.at(r);
|
||||
if (e.type == "MANIFOLD_SOLID_BREP" || e.type == "SHELL_BASED_SURFACE_MODEL")
|
||||
filtered.push_back(r);
|
||||
}
|
||||
@@ -1352,10 +1353,10 @@ private:
|
||||
if (arg.type == StepValue::Type::Ref) {
|
||||
int r = arg.ival;
|
||||
if (entities_.count(r)) {
|
||||
if (entities_[r].type == target_type)
|
||||
if (entities_.at(r).type == target_type)
|
||||
out.push_back(r);
|
||||
else
|
||||
find_nested_refs(entities_[r], target_type, out);
|
||||
find_nested_refs(entities_.at(r), target_type, out);
|
||||
}
|
||||
} else if (arg.type == StepValue::Type::List) {
|
||||
for (const auto& v : arg.list) {
|
||||
|
||||
Reference in New Issue
Block a user