to.tetramorph.starbase.lib
クラス Body

java.lang.Object
  上位を拡張 to.tetramorph.starbase.lib.Body

public class Body
extends Object

Bodyは天体や感受点の位置を表すのに使う。 名前、黄経、黄緯、距離、速度等といったフィールド変数からなる。 スイスエフェメリスで計算した感受点は、1点づつこのクラスに格納して使用する。 黄経(lon)黄緯(lat)などを表す各フィールド変数には直接アクセスして使用する (フィールドの数も多く、また一括セットすれば後は変更する事は少なく、読み出し オンリーなのでメソッドでラップはしていない。


フィールドの概要
 double dist
          感受点の距離
 double distSpeed
          感受点の距離の速度
 int group
          Natal,Progress,Transit等の識別用フィールド。
 int house
          感受点のハウス。
 int id
          感受点の天体番号。
 double lat
          感受点の黄緯や赤緯
 double latSpeed
          感受点の黄緯の速度
 double lon
          感受点の黄経や赤経
 double lonSpeed
          感受点の黄経の速度
 double plot
          感受点のグラフィック座標
 int serial
          シリアル番号。
 
コンストラクタの概要
Body(Body point)
          感受点オブジェクトから感受点を作成する。
Body(int id, double lon)
          天体番号と経度から天体オブジェクトを作成する。
Body(int id, double[] values)
          天体番号とvalues[]に格納された値から天体オブジェクトを作成する。
Body(int id, double[] values, int group)
          天体番号とグループ番号、values[]に格納された値から天体オブジェクトを作成する。
Body(int id, double lon, int group)
          天体番号、黄経、グループ番号からオブジェクトを作成する。
Body(int id, double lon, int group, int house)
          天体番号、黄経、グループ番号、ハウス番号からオブジェクトを作成する。
 
メソッドの概要
 String getName()
          感受点の名前(略称)を返す
 int getSign()
          サインのオフセット(0-11)を返す。
 double getSignAngle()
          この天体のサイン内における角度を返す。
 String getSignName()
          サインの名前を返す
 boolean isSame(Body body)
          この天体と指定された天体のidとgroupが同じ場合は真を返す。
 String toString()
          感受点位置の文字表現を返す。
 
クラス java.lang.Object から継承されたメソッド
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

フィールドの詳細

lon

public double lon
感受点の黄経や赤経


lat

public double lat
感受点の黄緯や赤緯


dist

public double dist
感受点の距離


distSpeed

public double distSpeed
感受点の距離の速度


lonSpeed

public double lonSpeed
感受点の黄経の速度


latSpeed

public double latSpeed
感受点の黄緯の速度


plot

public double plot
感受点のグラフィック座標


serial

public int serial
シリアル番号。PlotAdusterが感受点の位置調整を行うときに、天体にシリアル ナンバーを割り当てる必要があり、そのときに使われるフィールド。


house

public int house
感受点のハウス。今のところ室番号は必ず1から始まると想定していて、houseの 初期値は0なので、もし0のままなら、ハウス番号は未定義だと判定できる。


id

public int id
感受点の天体番号。未定義のときは-1


group

public int group
Natal,Progress,Transit等の識別用フィールド。

コンストラクタの詳細

Body

public Body(Body point)
感受点オブジェクトから感受点を作成する。つまりクローンを作成する。


Body

public Body(int id,
            double[] values)
天体番号とvalues[]に格納された値から天体オブジェクトを作成する。 plotにはlonの値がセットされる。

パラメータ:
values - values[0]からlon,lat,dist,lonSpeed,latSpeed,distSpeedの順番で、 values[Body.LON] = ...というように指定することも可能。ちなみにこの配列は、 SwissEphe.swe_calc()が、配列に計算結果をセットして返すものと同じ。

Body

public Body(int id,
            double[] values,
            int group)
天体番号とグループ番号、values[]に格納された値から天体オブジェクトを作成する。 plotにはlonの値がセットされる。

パラメータ:
values - values[0]からlon,lat,dist,lonSpeed,latSpeed,distSpeedの順番で、 values[Body.LON] = ...というように指定することも可能。ちなみにこの配列は、 SwissEphe.swe_calc()が、配列に計算結果をセットして返すものと同じ。

Body

public Body(int id,
            double lon)
天体番号と経度から天体オブジェクトを作成する。plotにはlonの値がセットされる。


Body

public Body(int id,
            double lon,
            int group)
天体番号、黄経、グループ番号からオブジェクトを作成する。カスプやAC等の 感受点作成用。


Body

public Body(int id,
            double lon,
            int group,
            int house)
天体番号、黄経、グループ番号、ハウス番号からオブジェクトを作成する。 カスプやAC等の感受点作成用。

メソッドの詳細

getSignAngle

public double getSignAngle()
この天体のサイン内における角度を返す。格納されている黄経(lon)が186度の場合、 これは天秤6度であるので6度を返す。

戻り値:
サイン内における度数 (0 >= value < 30)

getSign

public int getSign()
サインのオフセット(0-11)を返す。


getSignName

public String getSignName()
サインの名前を返す


getName

public String getName()
感受点の名前(略称)を返す

戻り値:
"sun","mon"等、Const.SYMBOL_NAMES[]で宣言されている天体略称。

toString

public String toString()
感受点位置の文字表現を返す。 "Sun 天秤 6.71 H1 group=0"とか、"Mer 乙女 24.5 R H12 group=2"といった表現。

オーバーライド:
クラス Object 内の toString

isSame

public boolean isSame(Body body)
この天体と指定された天体のidとgroupが同じ場合は真を返す。 判定は次のように行われる。
(id == body.id && group == body.group)