📄 stack3.h
字号:
#ifndef _STACK3_H_
#define _STACK3_H_
#include "matrix3.h"
#define STACK_DEPTH 32 // default stack depth
class Matrix3Stack {
public:
DllExport Matrix3Stack();
DllExport Matrix3Stack(int depth);
DllExport ~Matrix3Stack();
BOOL replace(const Matrix3 &m)
{ stk[index] = m; return TRUE; }
BOOL push(const Matrix3 &m)
{ stk[index++] = m; return index < maxDepth; }
BOOL dup(void)
{ stk[index+1] = stk[index]; return ++index < maxDepth; }
BOOL concat(const Matrix3 &m)
{ stk[index] = m * stk[index]; return TRUE; }
Matrix3 & get(void)
{ return stk[index]; }
Matrix3 & pop(void)
{ return stk[index--]; }
BOOL remove(void)
{ return --index >= 0; }
BOOL reset(void)
{ index = 0; stk[0].IdentityMatrix(); return TRUE; }
private:
int maxDepth;
int index;
Matrix3 * stk;
};
#endif // _STACK3_H_
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -