ProError IsInterference(ProSelection pMdlSel1, ProSelection pMdlSel2, ProBoolean & pIsInterference, double &nVolume)
{
pIsInterference = PRO_B_FALSE;
nVolume = 0;
Prohandle pModel = pro_get_current_object();
if (pModel == NULL)
return PRO_TK_GENERAL_ERROR;
Select3d pSel[2];
pSel[0] = *pMdlSel1;
pSel[1] = *pMdlSel2;
Prohandle* pSurArr = NULL;
int nSurNum = 0;
int nErr = pro_compute_interference(pSel, PROINTERF_SOLID_ONLY, &pSurArr, &nSurNum);
if (nErr != PRODEV_NO_ERROR)
return PRO_TK_GENERAL_ERROR;
if (nSurNum > 0)
pIsInterference = PRO_B_TRUE;
if (pIsInterference == PRO_B_TRUE)
{
pro_compute_volume(pSurArr, nSurNum, &nVolume);
pro_display_interf_volume(pSurArr, nSurNum, ERROR_COLOR );
}
return PRO_TK_NO_ERROR;
}