Exemplo n.º 1
0
static void CreateGate( int flag, const AcDbObjectId& host, const AcGePoint3d& pt, double angle )
{
    Gate* pGate;
    switch( flag )
    {
    case 1:
        pGate = new PermanentGate( pt, angle );  // 永久风门
        break;
    case 2:
        pGate = new TemporaryGate( pt, angle );  // 临时风门
        break;
    case 3:
        pGate = new DoubleGate( pt, angle );    // 双向风门
        break;

    case 4:
        pGate = new BalanceGate( pt, angle ); // 平衡风门
        break;

    default:
        pGate = 0;
    }

    if( pGate == 0 ) return;

    pGate->setRelatedGE( host );

    if( !ArxUtilHelper::PostToModelSpace( pGate ) ) delete pGate;
}