一、小技巧:
float pos[3] = {0.0, 0.0, 0.0};
Ogre::Vector3 position = Ogre::Vector3(pos[0]);
可以写成
float pos[3] = {0.0, 0.0, 0.0};
Ogre::Vector3 position(pos);
表达三维向量V(x,y,z)的类,三维世界中的位置、方向和缩放因子都可以用Vector3来表达,关键看你如何解释与使用它。
为了提高效率,Vector3类的成员函数大部分都实现为内联函数。又为了将来操作方便,Vector3类的数据成员都实现为public类型。
常量:
static const Vector3 ZERO;
static const Vector3 UNIT_X;
static const Vector3 UNIT_Y;
static const Vector3 UNIT_Z;
static const Vector3 UNIT_SCALE;
分别代表零向量、X轴单位向量、Y轴单位向量、Z轴单位向量和单位缩放因子(其实是不缩放),这些向量使用频繁,所以实现为常量。