public static List <RelationBrief> RelationBriefsOf(PlanetPair pair, double degree1, double degree2) { List <RelationBrief> result = new List <RelationBrief>(); double orb = pair.Orb; List <double> aspects = pair.ConcernedAspects; double angle; foreach (KeyValuePair <RelationType, angleDelegate> kvp in relationDelegates) { angle = kvp.Value(aspects, orb, degree1, degree2); if (angle != -1) { RelationBrief newRelation = new RelationBrief(kvp.Key, angle); result.Add(newRelation); } } return(result); //double distance, geometric, harmonic, hypotenuse, aspect; //distance = DistanceOf(degree1, degree2); //aspect = aspectAngleOf(aspects, orb, distance); //if (aspect != -1) //{ // RelationBrief distanceRelation = new RelationBrief(RelationType.Apparent, aspect); // aspects.Add(distanceRelation); //} //geometric = GeometricMeanOf(degree1, degree2); //aspect = aspectAngleOf(aspects, orb, geometric); //if (aspect != -1) //{ // RelationBrief geometricRelation = new RelationBrief(RelationType.GeometricMean, aspect); // aspects.Add(geometricRelation); //} //harmonic = HarmonicMeanOf(degree1, degree2); //aspect = aspectAngleOf(aspects, orb, distance); //if (aspect != -1) //{ // RelationBrief distanceRelation = new RelationBrief(RelationType.Apparent, aspect); // aspects.Add(distanceRelation); //} //geometric = GeometricMeanOf(degree1, degree2); //aspect = aspectAngleOf(aspects, orb, geometric); //if (aspect != -1) //{ // RelationBrief geometricRelation = new RelationBrief(RelationType.GeometricMean, aspect); // aspects.Add(geometricRelation); //} }
public Relation(bool isHeliocentric, bool isMovement, PlanetPair pair, RelationBrief brief, double degree1, double degree2) { IsHeliocentric = isHeliocentric; IsMovement = isMovement; Pair = pair; Brief = brief; Degree1 = degree1; Degree2 = degree2; }
public Relation(PlanetPair pair, RelationBrief brief, double degree1, double degree2) { IsHeliocentric = false; IsMovement = false; Pair = pair; Brief = brief; Degree1 = degree1; Degree2 = degree2; }