コード例 #1
0
Acad::ErrorStatus SingleTunnelDraw::subGetGeomExtents( AcDbExtents& extents ) const
{
    assertReadEnabled();

    extents.addPoint( m_startPt );
    extents.addPoint( m_endPt );

    return Acad::eOk;
}
コード例 #2
0
ファイル: ArxEntityHelper.cpp プロジェクト: kanbang/TIDS
void ArxEntityHelper::ZoomToEntities( const AcDbObjectIdArray& objIds )
{
    AcTransaction* pTrans = actrTransactionManager->startTransaction();
    if( pTrans == 0 ) return;

    AcDbExtents exts;
    int len = objIds.length();
    for( int i = 0; i < len; i++ )
    {
        AcDbObject* pObj;
        if( Acad::eOk != pTrans->getObject( pObj, objIds[i], AcDb::kForRead ) ) continue;

        AcDbEntity* pEnt = AcDbEntity::cast( pObj );
        if( pEnt == 0 ) continue;

        AcDbExtents extents;
        if( Acad::eOk != pEnt->getGeomExtents( extents ) ) continue;

        exts.addPoint( extents.minPoint() );
        exts.addPoint( extents.maxPoint() );
    }

    actrTransactionManager->endTransaction();

    AcGePoint3d minPt = exts.minPoint();
    AcGePoint3d maxPt = exts.maxPoint();
    if( minPt.x <= maxPt.x && minPt.y <= maxPt.y && minPt.z <= maxPt.z )
    {
        ZoomEntity_Helper( minPt, maxPt );
    }
}
コード例 #3
0
Acad::ErrorStatus PDEcone::subGetGeomExtents(AcDbExtents& extents) const
#else
Acad::ErrorStatus PDEcone::getGeomExtents(AcDbExtents& extents) const
#endif
{
    assertReadEnabled();
    extents.set(m_ptStart, m_ptStart);
    AcGePoint3dArray pArray;
    AcGeIntArray stdIdx;
    int actPrecision;
    getVertices(m_dDividPrecision, pArray, stdIdx, actPrecision);
    int i;
    for(i = 0; i < actPrecision; ++i)
    {
        extents.addPoint(pArray[i]);
        extents.addPoint(pArray[i + actPrecision + 1]);
    }
    return Acad::eOk;
}