OSDN Git Service

パッケージ変更。テスト整備。
[mikutoga/TogaGem.git] / src / main / java / jp / sfjp / mikutoga / math / MkVec3D.java
1 /*
2  * 3D vector
3  *
4  * License : The MIT License
5  * Copyright(c) 2010 MikuToga Partners
6  */
7
8 package jp.sfjp.mikutoga.math;
9
10 /**
11  * XYZ三次元ベクトル。
12  */
13 public strictfp class MkVec3D {
14
15     private static final String DELIM = ", ";
16
17     private double xVal;
18     private double yVal;
19     private double zVal;
20
21     /**
22      * コンストラクタ。
23      */
24     public MkVec3D(){
25         this(0.0, 0.0, 0.0);
26         return;
27     }
28
29     /**
30      * コンストラクタ。
31      * @param xValArg X値
32      * @param yValArg Y値
33      * @param zValArg Z値
34      */
35     public MkVec3D(double xValArg, double yValArg, double zValArg){
36         this.xVal = xValArg;
37         this.yVal = yValArg;
38         this.zVal = zValArg;
39         return;
40     }
41
42     /**
43      * X値を設定する。
44      * @param xValArg X値
45      */
46     public void setXVal(double xValArg){
47         this.xVal = xValArg;
48         return;
49     }
50
51     /**
52      * X値を返す。
53      * @return X値
54      */
55     public double getXVal(){
56         return this.xVal;
57     }
58
59     /**
60      * Y値を設定する。
61      * @param yValArg Y値
62      */
63     public void setYVal(double yValArg){
64         this.yVal = yValArg;
65         return;
66     }
67
68     /**
69      * Y値を返す。
70      * @return Y値
71      */
72     public double getYVal(){
73         return this.yVal;
74     }
75
76     /**
77      * Z値を設定する。
78      * @param zValArg Z値
79      */
80     public void setZVal(double zValArg){
81         this.zVal = zValArg;
82         return;
83     }
84
85     /**
86      * Z値を返す。
87      * @return Z値
88      */
89     public double getZVal(){
90         return this.zVal;
91     }
92
93     /**
94      * ベクトル成分を設定する。
95      * @param xValArg X値
96      * @param yValArg Y値
97      * @param zValArg Z値
98      */
99     public void setVector(double xValArg, double yValArg, double zValArg){
100         this.xVal = xValArg;
101         this.yVal = yValArg;
102         this.zVal = zValArg;
103         return;
104     }
105
106     /**
107      * {@inheritDoc}
108      * @return {@inheritDoc}
109      */
110     @Override
111     public String toString(){
112         StringBuilder result = new StringBuilder();
113
114         result.append("vec=[")
115               .append(this.xVal).append(DELIM)
116               .append(this.yVal).append(DELIM)
117               .append(this.zVal).append(']');
118
119         return result.toString();
120     }
121
122 }