|
楼主 |
发表于 2008-6-23 20:43:19
|
显示全部楼层
回复: PR 248101 MYCRONA: Form Only Profile doesn't work correctly
1) V43B\DIMENS\DIM_PROF.CPP
// PR248101 - for speed draw_trihedron() should call this method since the trihedron doesn't need a full evaluation
CPCDdatum_reference * CPCDdim_profile::CreateDatumReference(BOOL * status/*=NULL*/)
{
BOOL valid = FALSE;
CPCDdatum_reference * pTmpDrf= new CPCDdatum_reference(m_pPartProgram, NONE,
m_feature1, 0, 0, 0.0,
m_pPrimary, m_matlCondPrimary,
m_pSecondary, m_matlCondSecondary,
m_pTertiary, m_matlCondTertiary,
NULL);
if( pTmpDrf )
{
pTmpDrf->m_pDimension = this; // PR239837
valid = (pTmpDrf->verify_datum_reference_frame() == DRF_OK);
if(valid)
{
SetDatumBonus(pTmpDrf,PRIMARY,m_pPrimary,m_matlCondPrimary);
SetDatumBonus(pTmpDrf,SECONDARY,m_pSecondary,m_matlCondSecondary);
SetDatumBonus(pTmpDrf,TERTIARY,m_pTertiary,m_matlCondTertiary);
pTmpDrf->m_pSaveAlign = global_align; // PR232870
pTmpDrf->m_pAlign = pTmpDrf->create_datum_reference_frame();
}
CPCDdatum_reference * pDrf = NULL;
if( m_pFCF )
pDrf = ((CPCDFeatCtrlFrm*)m_pFCF)->GetDRF();
if( !pDrf )
{
// Remember the drf so we can delete it in the our destructor.
if( m_pDrf )
delete m_pDrf;
m_pDrf = pTmpDrf;
}
}
if( status )
*status = valid;
return pTmpDrf;
} |
|