internal void Translate(HTCoordE zs, HTCoordE ze) { HTCoordE zo = new HTCoordE(drawRoot.GetOldCoordinates()); zo.X = -zo.X; zo.Y = -zo.Y; HTCoordE zs2 = new HTCoordE(zs); zs2.Translate(zo); HTCoordE t = new HTCoordE(); double de = ze.D2(); double ds = zs2.D2(); double dd = 1.0 - de * ds; t.X = (ze.X * (1.0 - ds) - zs2.X * (1.0 - de)) / dd; t.Y = (ze.Y * (1.0 - ds) - zs2.Y * (1.0 - de)) / dd; if (t.IsValid()) { HTTransformation to = new HTTransformation(); to.Composition(zo, t); drawRoot.Transform(to); view.Repaint(); } }
override internal void Transform(HTTransformation t) { base.Transform(t); HTDrawNode child = null; for (IEnumerator i = Children(); i.MoveNext();) { child = (HTDrawNode)i.Current; child.Transform(t); HTGeodesic geod = (HTGeodesic)geodesics[child]; if (geod != null) { geod.Rebuild(); } } }