操作器基类,用于实现各种操作器接口。本身也是一个操作器的管理类,里面可以压入多个操作器,根据用户按键选择使用哪一个操作器。
virtual const char * className() const
说明:获取当前类的名称
void addMatrixManipulator(int key , std::string nam , CameraManipulator *cm)
说明:添加一个操作器,附带名称以及响应的键,当按下响应键时,视口将自动切换到该操作器。
key 响应键的ASCII码
name 操作器的名称
cm 实际要切换的操作器
void addNumberedMatrixManipulator(CameraManipulator *cm)
说明:添加一个由数字键控制的操作器
cm 由数字控制的实际要添加的操作器
unsigned int getNumberMatrixManipulators() const
说明:得到当前已经添加了多少个操作器,这里是指操作器管理类型,例如使用addNumberedMatrixManipulator添加了10个操作器,这里直接返回10
void selectMatrixManipulator(unsigned int num)
说明:选择第几个操作器,这个和用户压入操作器的顺序是强相关的
num 操作器的编号
KeyManipMap &getKeyManipMap()
const KeyManipMap &getKeyManipMap() const
说明:返回键盘响应与操作器的对应表
CameraManipulator *getCurrentMatrixManipulator()
const Camera