[[Spr1の使い方/マニュアル]]
***Spr::Vec3f ( Spr::TVec3<float> ) / Spr::Vec3d ( Spr::TVec3<double> ) [#sad8d7b9]
-http://springhead.info/src/html/ja/classSpr_1_1TVec3.html
-3次元のベクトル。
-DirectX周りではVec3f、物理エンジン周りではVec3dが使われてる.物理には精度が必要なんだ.
Spr::Vec3f vec(x, y, z); //初期化。
Spr::Vec3f vec= Spr::Vec3f(x, y, z); //上と同じ意味。
vec[0]= x2; //各要素に代入。添え字は0,1,2。
Spr::Vec3f vec2= vec+Spr::Vec3f(x, y, z); //足し算とか。
***Spr::Affinef ( Spr::TAffine<float> ) [#nfe89c64]
-http://springhead.info/src/html/ja/classSpr_1_1TAffine.html
-Affine行列(4*4行列)。
Spr::Affinef trn= Spr::Affinef::Trn(x, y, z); //平行移動を表すAffine行列。
Spr::Affinef rot= Spr::Affinef::Rot(rad, 'x'); //X軸周りの回転を表すAffine行列。
Spr::Affinef aff= trn*rot; //Affine行列同士の掛け算。
aff.Pos()= Spr::Vec3f(x, y, z); //平行移動成分に代入。
aff[0][0]= 1.0; //各要素に代入。添え字は0,1,2,3。
Spr::Vec3f vec1= …;
Spr::Vec3f vec2= aff*vec1; //Affine行列×3次ベクトル。
***Spr::UTRef<T> [#h8a9957f]
-http://springhead.info/src/html/ja/group__UTRef.html
-参照カウント式スマートポインタ。
-よーするにポインタ(T*)とほぼ同じ。 -> とか * が使える。
-それ以上の事は上のリンク参照。
***Spr::SGFrame [#s98663b9]
-http://springhead.info/src/html/ja/classSpr_1_1SGFrame.html
-シーングラフのFrameに対応。
-仮想世界の中の「モノ」を表す。入れ子にして、モノをグループ化したりもできる。
-SetPosture() / GetPosture()
--親フレームに対する相対的な姿勢(位置+角度)をAffinefで設定/取得する。
--PHSolidを使っているときは、SetPosture()を使ってはいけない。
***Spr::PHSolid [#j691d583]
-http://springhead.info/src/html/ja/classSpr_1_1PHSolid.html
-シーングラフのSolidに対応。
-特定のFrameの物理的な性質(質量、速度など)を表す。
-SetVelocity() / GetVelocity()
--質量中心の速度をVec3dで設定/取得。
-AddForce()
--質量中心にVec3dで指定された力を加える。
-他にも色々。