}:
// wommmmmm Affine4 class m&mmmm
class Affine4{
// manages homogeneous affine transformations
// including inverse transformations
// and a stack to put them on
// used by Scene class to read SDL files
// управляет однородными аффинными преобразованиями.
// в том числе обратными преобразованиями, а также стеком,
// используемым в классе Scene для чтения SDL-файлов
public:
float m[16]: // hold a 4-by-4 matrix // содержат матрицу 4 на 4
Affine4():
void setldentityMatrixO: void set(Affine4 a): void preMult(Affine4 n): void postMult(Affine4 n);
}:
// end of Affine4 class // конец класса Affine4
ВЗ. Класс SCENE и сопутствующие классы
//тотт AffineNode class тШООШ class AffineNode{
// used by Scene class to read SDL files
// используется классом Scene для чтения SDL-файлов
public:
Affine4 * affn:
Affine4 * invAffn:
AffineNode * next:
AffineNodeО
{
next - NULL:
affn - new Affine4; // new affine with identity in it // новое аффинное с единичной матрицей внутри
invAffn - new Affine4; // and for the inverse // а также для обратного }
-AffineNodeО // destructor // деструктор
{
delete affn: delete invAffn:
}
}:
//mmmomm Affinestack class oomomm
class AffineStack{
// used by Scene class to read SDL files
// используется классом Scene для чтения SDL-файлов
public:
AffineNode * tos;
AffineStackО // default constructor:puts identity on top // конструктор no умолчанию: посылает единичную // матрицу на вершину стека
{
tos - new AffineNode: // node with identity in it // узел, содержащий единичную матрицу
tos->next - NULL:
}
void dupO:
void setldentityO: // make top item the identity matrix // записываем в верхний элемент единичную матрицу
void popAndDropO:
void releaseAffinesO: // pop and drop all remaining items // выталкиваем и бросаем оставшиеся элементы
void rotateCfloat angle. Vector3 u):
void scale(float sx. float sy. float sz):
void translate(Vector3 d):
Приложение В. Некоторые полезные классы и служебные подпрограммы
}:
// end of AffineStack class
// конец класса AffineStack
//this was Shapes.h
// это был файл Shapes.h
// Shapes class and Supporting classes