|
楼主 |
发表于 2008-8-25 09:28:13
|
显示全部楼层
回复: Review - PR 245566 Perpendicularity FCF problems with Diameter and Proj
void CFeatCtrlFrmOutputDlg::OnCancel()
{
// PR245566 - restore original axes list
if (! m_arrays_save.IsEmpty())
{
int featCnt = m_pFCFEditing->GetFeatureListSize();
for (int idx = 0; idx < featCnt; idx++)
{
CPCDFeatCtrlFrm::AXES_ARRAY tmpArray;
m_pFCFEditing->GetAxesList(tmpArray, idx);
if (! tmpArray.IsEmpty())
{
int infoCnt = tmpArray.GetCount();
for (int j = 0; j < infoCnt; j++)
{
AXIS_INFO *info1 = &tmpArray.GetAt(j);
AXIS_INFO *info2 = &m_arrays_save[idx]->GetAt(j);
info1->SetReportAxis(info2->ReportAxis());
info1->SetUpdateFeatureNominals(info2->UpdateFeatureNominals()); // PR237923
// PR233722
info1->SetNominal(info2->Nominal());
if (info1->HasPlusTol())
info1->SetPlusTol(info2->lusTol());
if (info1->HasMinusTol())
info1->SetMinusTol(info2->MinusTol());
}
//240975: a change in the axes is not applied to the selected features , unless you changed the last feature's ones,
// using third parameter EnforceSameAxes== TRUE,it is applying current feature's Axes to all features,
// so any previous ones are covered by the last feature's selection.
//m_pFCFEditing->SetAxesList(tmpArray, TRUE, idx, TRUE, (idx==0) ? TRUE : FALSE); // PR237360
m_pFCFEditing->SetAxesList(tmpArray, TRUE, idx, FALSE, (idx==0) ? TRUE : FALSE); // PR237360
}
}
m_pFCFEditing->SetLine1Str2(m_line1Str2);
m_pFCFEditing->SetLine1Str3(m_line1Str3);
m_pFCFEditing->SetLine1Str4(m_line1Str4);
}
Cancel();
} |
|