vector<vector<tag_t>> pkLoopVer;
//为Parasolid 建立隔层分区,并将其设置为当前分区
tag_t partition1 = NULL_TAG;
UF_PS_ask_current_partition(&partition1);
UF_PS_create_partition(&partition1);
UF_PS_set_current_partition(partition1);
tag_t pkFaceTag = NULL_TAG;
UF_PS_ask_ps_tag_of_object(faceTag, &pkFaceTag);
if (pkFaceTag != NULL_TAG) {
PK_FACE_t pkFace = PK_ENTITY_null;
pkFace = pkFaceTag;
PK_LOOP_t* pkLoop = NULL;
int count = 0;
PK_FACE_ask_loops(pkFace, &count, &pkLoop);//查询闭环个数
for (int i(0); i < count; i++) {
PK_LOOP_type_t loopType = PK_ENTITY_null;
PK_LOOP_ask_type(pkLoop[i], &loopType);
if (loopType != PK_LOOP_type_outer_c) {//非外闭环类型
int edgeCount = 0;
PK_EDGE_t* pkEdge = NULL;
PK_LOOP_ask_edges(pkLoop[i], &edgeCount, &pkEdge);
vector<tag_t> pkEdgeVer;
for (int j(0); j < edgeCount; j++) {
tag_t egdeTag = NULL_TAG;
UF_PS_ask_object_of_ps_tag((tag_t)pkEdge[j], &egdeTag);//pk类型转为tag_t类型
if (egdeTag != NULL_TAG) {
pkEdgeVer.push_back(egdeTag);
}
}
if (pkEdgeVer.size() > 0) {
pkLoopVer.push_back(pkEdgeVer);
}
}
}
}
111