Toponaming: Squash to one index character in element names
This commit is contained in:
@@ -93,8 +93,6 @@ const char *Data::hasMappedElementName(const char *subname) {
|
||||
return isMappedElement(findElementName(subname));
|
||||
}
|
||||
|
||||
// Currently used by CrossSection.cpp and FeatureTransformed.cpp with different label types
|
||||
// with a default of "I" and "_" used by CrossSection.
|
||||
const std::string Data::indexSuffix(int index, const char *label)
|
||||
{
|
||||
if ( index < 2 ) { // Don't add a suffix for item #1, begin appending at 2
|
||||
|
||||
@@ -69,8 +69,7 @@ constexpr const char* POSTFIX_GEN = ";:G";
|
||||
constexpr const char* POSTFIX_MODGEN = ";:MG";
|
||||
constexpr const char* POSTFIX_DUPLICATE = ";D";
|
||||
|
||||
constexpr const char* ELEMENT_MAP_INDEX = "I";
|
||||
constexpr const char* ELEMENT_MAP_INDEX2 = "_";
|
||||
constexpr const char* ELEMENT_MAP_INDEX = "_";
|
||||
|
||||
/// Check if a subname contains missing element
|
||||
AppExport bool hasMissingElement(const char *subname);
|
||||
|
||||
@@ -265,7 +265,7 @@ void TopoCrossSection::sliceNonSolid(int idx,
|
||||
BRepAlgoAPI_Section cs(shape.getShape(), gp_Pln(a, b, c, -d));
|
||||
if (cs.IsDone()) {
|
||||
std::string prefix(op);
|
||||
prefix += Data::indexSuffix(idx,Data::ELEMENT_MAP_INDEX2);
|
||||
prefix += Data::indexSuffix(idx);
|
||||
auto res = TopoShape()
|
||||
.makeElementShape(cs, shape, prefix.c_str())
|
||||
.makeElementWires()
|
||||
@@ -294,7 +294,7 @@ void TopoCrossSection::sliceSolid(int idx,
|
||||
BRepPrimAPI_MakeHalfSpace mkSolid(TopoDS::Face(face.getShape()), refPoint);
|
||||
TopoShape solid(idx);
|
||||
std::string prefix(op);
|
||||
prefix += Data::indexSuffix(idx,Data::ELEMENT_MAP_INDEX2);
|
||||
prefix += Data::indexSuffix(idx);
|
||||
solid.makeElementShape(mkSolid, face, prefix.c_str());
|
||||
BRepAlgoAPI_Cut mkCut(shape.getShape(), solid.getShape());
|
||||
|
||||
|
||||
Reference in New Issue
Block a user