private void CacheCircleInversion( Circle inversionCircle )
{
if( inversionCircle == null )
return;
Complex p1, p2, p3;
if( inversionCircle.IsLine )
{
p1 = inversionCircle.P1;
p2 = inversionCircle.P2;
p3 = (p1 + p2) / 2;
}
else
{
p1 = (inversionCircle.Center + new Vector3D( inversionCircle.Radius, 0 ));
p2 = (inversionCircle.Center + new Vector3D( -inversionCircle.Radius, 0 ));
p3 = (inversionCircle.Center + new Vector3D( 0, inversionCircle.Radius ));
}
CacheCircleInversion( p1, p2, p3 );
}