These create a
Transformt locally, and calldo_transform(t). See Ellipse Reference; Performing Transformations.Rotating and shifting an
Ellipseneither change the size of anEllipse, nor cause it to become non-elliptical. However, scaling and shearing can have these effects. For this reason, inscale()andshear(),do_transform()is called withtrueas its check argument, while it isfalseinrotate(),shift(), andshift_times().If scaling or shearing is performed on an
Ellipse, and it is still elliptical after the transformation,focus0,focus1,axis_h,axis_v,linear_eccentricity, andnumerical_eccentricityare all recalculated. If theEllipseis non-elliptical after the transformation,axis_h,axis_v,linear_eccentricity, andnumerical_eccentricityare all set toINVALID_REAL.center,focus0, andfocus1are not set toINVALID_POINT. Although they are no longer the center and foci of an ellipticalEllipse, they may still have some use for the user or programmer.