[TD]CL removal

This commit is contained in:
wandererfan
2019-11-06 14:52:16 -05:00
committed by WandererFan
parent 5957b72573
commit 3921a22e8b
3 changed files with 37 additions and 11 deletions

View File

@@ -1020,24 +1020,20 @@ void CmdTechDrawCosmeticEraser::activated(int iMsg)
}
std::vector<std::string> cv2Delete;
std::vector<std::string> ce2Delete;
std::vector<int> cl2Delete;
std::vector<std::string> cl2Delete;
for (auto& s: subNames) {
int idx = TechDraw::DrawUtil::getIndexFromName(s);
std::string geomType = TechDraw::DrawUtil::getGeomTypeFromName(s);
if (geomType == "Edge") {
TechDraw::BaseGeom* bg = objFeat->getGeomByIndex(idx);
Base::Console().Message("CMD::Eraser - have an edge: %s - bg: %X\n", s.c_str(), bg);
if ((bg != nullptr) &&
(bg->cosmetic) ) {
Base::Console().Message("CMD::Eraser - cos: %d source: %d tag: %s\n",
bg->cosmetic, bg->sourceIndex(), bg->getCosmeticTag().c_str());
int source = bg->source();
int sourceIndex = bg->sourceIndex();
std::string tag = bg->getCosmeticTag();
if (source == 1) { //this is a "CosmeticEdge"
ce2Delete.push_back(tag);
} else if (source == 2) { //this is a "CenterLine"
cl2Delete.push_back(sourceIndex);
cl2Delete.push_back(tag);
} else {
Base::Console().Message(
"CMD::CosmeticEraserP - edge: %d is confused - source: %d\n",idx,source);
@@ -1070,11 +1066,7 @@ void CmdTechDrawCosmeticEraser::activated(int iMsg)
objFeat->removeCosmeticEdge(ce2Delete);
}
if (!cl2Delete.empty()) {
std::sort(cl2Delete.begin(), cl2Delete.end());
auto itcl = cl2Delete.rbegin();
for ( ; itcl != cl2Delete.rend(); itcl++) {
objFeat->removeCenterLine((*itcl));
}
objFeat->removeCenterLine(cl2Delete);
}
objFeat->recomputeFeature();
}