|
AcDbCircle* pCircle = static_cast(pObj);
AcGePoint3d cen = pCircle->center();
cen.transformBy(mat);
double dRadius = pCircle->radius();
double dX = dRadius * m_vScale.x;
double dY = dRadius * m_vScale.y;
double dRatio = dX > dY ? dY / dX : dX / dY;
AcGeVector3d vNorm(0,0,1);
AcGeVector3d vMajor(dX >= dY ? dX : 0, dX < dY ? dY : 0, 0);
AcDbEllipse ellipse;
ellipse.set(cen, vNorm, vMajor, dRatio);
ellipse.worldDraw(mode); |
|