/// <summary> /// このクラスのpropertiesのうち in と書かれているものを入力に受け取り、 /// outと書かれているものを出力する。 /// /// Clipper2Dの合成(operator *)を行なうときには自動的にこのUpdate関数が /// 呼び出されるので明示的に呼び出す必要はない。 /// </summary> public void Update() { if (SrcClipRegion != null && SrcRegion != null) { // 転送元クリップリージョン SrcRegionClipped = GeometricTools.Intersect(SrcClipRegion, SrcRegion); } else { SrcRegionClipped = SrcRegion; } DstRegionClipped = GeometricTools.TransRegion(Trnas, SrcRegionClipped); // 転送先にクリッパが設定されていれば… if (DstClipRegion != null) { DstRegionClipped = GeometricTools.Intersect(DstClipRegion, DstRegionClipped); // ↑を転送元へ戻す SrcRegionClipped = GeometricTools.TransRegion(Trans.Inverse(), DstRegionClipped); } }