Acad::ErrorStatus SingleTunnelDraw::subGetGeomExtents( AcDbExtents& extents ) const { assertReadEnabled(); extents.addPoint( m_startPt ); extents.addPoint( m_endPt ); return Acad::eOk; }
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 ); } }
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; }