今天先看aabbox3d.h文件。在这个文件里实现了边界盒的相关操作,如边界盒与点、平面、边界盒的相交关系,重载运算符等等。
在heapsort.h中,实现了一个堆排序的算法。
在array.h中,实现了数组模板类,感觉就像SLT中的vector,该数组有堆排序、二分查找、增删元素、易调试等特点。但在二分查找函数中,有语句如下:
if (!(element < data[m]) &&!(data[m] < element)) { return m;}
// 为什么不直接写if(element== data[m]){ return m; }
// 因为用于浮点数比较
在irrstring.h中,实现了字符串模板类,类似于STL中的string。
在rect.h中,实现矩形模板类,具有碰撞检测的功能。模板类rect的对象以尺寸和左上角坐标确定矩形大小及位置,扩展的模板类rectEx的对象以左上角坐标和右下角坐标确定矩形大小及位置。
在list.h中,实现了一个双端链表模板类。
在matrix4.h中,实现了一个4x4矩阵模板类,主要是在3D运算中用于矩阵各种转换操作。
至此,include\core部分的代码,16个文件全部搞定!
OVER!今天解决7个代码文件,还剩160个。