
com.innovativeastrosolutions.astrosoftcore.consts.Nakshathra Maven / Gradle / Ivy
/**
* Nakshathra.java
* Created On 2005, Oct 20, 2005 8:02:06 PM
* @author E. Rajasekar
*/
package com.innovativeastrosolutions.astrosoftcore.consts;
import static com.innovativeastrosolutions.astrosoftcore.consts.AstroConsts.*;
import java.util.EnumSet;
import com.innovativeastrosolutions.astrosoftcore.beans.Interval;
import com.innovativeastrosolutions.astrosoftcore.util.Internalization;
public enum Nakshathra {
Ashwini, Bharani, Krithika, Rohini, Mrigasira, Thiruvaadhirai, Punarpoosam, Poosam, Ayilyam, Magam, Pooram, Uththiram, Hastam, Chittirai, Swathi, Vishakham, Anusham, Kettai, Moolam, Pooradam, Uththiradam, Thiruvonam, Avittam, Shathayam, Poorattadhi, Uttarattadhi, Revathi;
private static Nakshathra vals[] = values();
public static Nakshathra ofIndex(int index) {
return vals[index % vals.length];
}
public static Nakshathra ofDeg(double deg) {
return ofIndex((int) (deg / nakLength));
}
public static Interval degFor(Nakshathra nak) {
double nakStart = nak.ordinal() * nakLength;
//double nakEnd = nakStart + nakLength;
double nakEnd = (nak.ordinal() + 1) * nakLength;
Interval nakInt = new Interval(nakStart, nakEnd);
return nakInt;
}
/**
* Returns nakshathra of absolute pos from current nakshathra
*
* @param pos
* @return
*/
public Nakshathra absolute(int pos) {
return Nakshathra.ofIndex(this.ordinal() + pos);
}
public static EnumSet ofRasi(Rasi rasi) {
int nakIndex = (rasi.ordinal() / 4) + (rasi.ordinal() * 2);
return EnumSet.range(Nakshathra.ofIndex(nakIndex), Nakshathra
.ofIndex(nakIndex + 2));
}
public static EnumSet muhurtaNakshathras(MuhurthaRank rank) {
EnumSet naks = null;
switch (rank) {
case VeryGood:
naks = EnumSet.of(Nakshathra.Ashwini, Nakshathra.Rohini,
Nakshathra.Mrigasira, Nakshathra.Poosam,
Nakshathra.Uththiram, Nakshathra.Hastam, Nakshathra.Swathi,
Nakshathra.Anusham, Nakshathra.Uththiradam,
Nakshathra.Thiruvonam, Nakshathra.Uttarattadhi,
Nakshathra.Revathi);
break;
case Good:
naks = EnumSet.of(Nakshathra.Thiruvaadhirai,
Nakshathra.Punarpoosam, Nakshathra.Magam,
Nakshathra.Chittirai, Nakshathra.Moolam,
Nakshathra.Avittam, Nakshathra.Shathayam);
break;
}
return naks;
}
public String toString() {
return Internalization.getString(this.name());
}
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy