vector<TaggedObject*>selNxInter = sInterferenceBody->GetSelectedObjects();// 需要判断干涉的对象
if (selNxInter.size() == 0)
{
return;
}
int num_tools = (int)limitObj.size();//参与干涉检查的对象
if (num_tools == 0)
{
return;
}
tag_t* tools = new tag_t[num_tools];
//std::copy(limitObj.begin(), limitObj.begin() + num_tools, tools);
for (int i = 0; i < num_tools; i++)
{
tools[i] = limitObj[i];
}
bool interfereState = false;
// int results=0;// 一个体和一个体检查干涉 定义一个整数就行
for (int i = 0; i < selNxInter.size(); i++)
{
int* results = new int[num_tools]; //一个体和多个体干涉 返回结果需要定义为数组
int err = UCall(UF_MODL_check_interference(selNxInter[i]->Tag(), num_tools, tools, results));
if (err != 0)
{
continue;
}
for (int j = 0; j < num_tools; j++)
{
if (results[j] == 1)
{
interfereState = true;
break;
}
}
delete[]results;
results = nullptr;
if (interfereState)
{
break;
}
}