These create a
Transform
t locally, and calldo_transform(t)
. See Ellipse Reference; Performing Transformations.Rotating and shifting an
Ellipse
neither 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 withtrue
as its check argument, while it isfalse
inrotate()
,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_eccentricity
are all recalculated. If theEllipse
is non-elliptical after the transformation,axis_h
,axis_v
,linear_eccentricity
, andnumerical_eccentricity
are all set toINVALID_REAL
.center
,focus0
, andfocus1
are 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.