public override bool Equals(Object clause) { CongruentCircles cts = clause as CongruentCircles; if (cts == null) { return(false); } return(this.cc1.Equals(cts.cc1) || this.cc2.Equals(cts.cc2) || this.cc2.Equals(cts.cc1) || this.cc1.Equals(cts.cc2)); }
// // All radii of the congruent circles are congruent. // private static List<GenericInstantiator.EdgeAggregator> InstantiateFromDefinition(CongruentCircles cs) { List<EdgeAggregator> congRadii = new List<EdgeAggregator>(); // For hypergraph List<GroundedClause> antecedent = new List<GroundedClause>(); antecedent.Add(cs); for (int r1 = 0; r1 < cs.cc1.radii.Count; r1++) { for (int r2 = 0; r2 < cs.cc2.radii.Count; r2++) { GeometricCongruentSegments gcs = new GeometricCongruentSegments(cs.cc1.radii[r1], cs.cc2.radii[r2]); congRadii.Add(new GenericInstantiator.EdgeAggregator(antecedent, gcs, annotation)); } } return congRadii; }