Vector3*Matrix って書けるようにしたい
Vector3 hoge = Vector3.Transform(vec, mat);
をなんとか、
Vector3 hoge = vec * mat;
みたいにしたかったけど、作戦失敗。
Vector3を継承して operator * 付きのクラスにしよーかと思ったけど甘かった。
Vector3は構造体で、構造体は継承できない!!!ガーン。
将来的にVectorとかMatrixはラップして自前のものにしときたいんだけど。
一瞬、気合でXNA.Framework.Vector3と同等のインターフェスを持つ構造体を
自前で作るかと考えたけど、2秒でメンドくなった。
でもC#の構造体の勉強になった。
- クラスに比べて軽量を目指した設計
- 値型
- 継承できない
- スタックに作られる
- 引数なしコンストラクタを自作できない
- デストラクタがない
クラスとのキャラの違いがハッキリしてて面白い。