Toponaming/Part: trasnfer in getElementName

This commit is contained in:
Zheng, Lei
2024-02-27 10:09:32 -05:00
committed by bgbsww
parent 566e97e11a
commit 59b563ca69
9 changed files with 440 additions and 6 deletions

View File

@@ -477,6 +477,20 @@ std::pair<TopAbs_ShapeEnum,int> TopoShape::shapeTypeAndIndex(const char *name) {
return std::make_pair(type,idx);
}
std::pair<TopAbs_ShapeEnum,int>
TopoShape::shapeTypeAndIndex(const Data::IndexedName & element)
{
if (!element)
return std::make_pair(TopAbs_SHAPE, 0);
static const std::string _subshape("SubShape");
if (boost::equals(element.getType(), _subshape))
return std::make_pair(TopAbs_SHAPE, element.getIndex());
TopAbs_ShapeEnum shapetype = shapeType(element.getType(), true);
if (shapetype == TopAbs_SHAPE)
return std::make_pair(TopAbs_SHAPE, 0);
return std::make_pair(shapetype, element.getIndex());
}
TopAbs_ShapeEnum TopoShape::shapeType(const char *type, bool silent) {
if(type) {
initShapeNameMap();