首页|行业资讯|企业名录|周边产品|数字城市|增强现实|工业仿真|解决方案|虚拟医疗|行业仿真|图形处理|军事战场
资讯首页
行业资讯 >> 学习教程>>正文
OSG教程:操作器管理类:KeySwitchMatrixManipulator
2012年3月31日    评论:    分享:

    来源:第三维度
    作者:FreeSouth[杨石兴]编著

    选自《OSG程序设计教程》第二章第四节

    osgGA::KeySwitchMatrixManipulator

    类描述:KeySwitchMatrixManipulator类可以被看做一个管理器,管理一些被添加到它里面的操作器,用按键来切换这些操作器。比如‘1’会被切换到TrackBall‘2’会被切换到Driver等等。

    类继承图:

OSG教程:操作器管理类:KeySwitchMatrixManipulator

    类中方法:

    virtual const char * className () const

    说明:返回该类名称。

    void addMatrixManipulator (int key, std::string name, MatrixManipulator *cm)

    说明:添加一个操作器到keySwitchMatrixManipulator中。其中操作器可以是MatrixManipulator也可以是他的派生类型。比如TrackBall.

    参数

OSG教程:操作器管理类:KeySwitchMatrixManipulator

    void addNumberedMatrixManipulator (MatrixManipulator *cm)

    说明:添加一个操作器到KeySwitchMatrixManipulator中。其中操作器可以是MatrixManipulator也可以是他的派生类型,比如TrackBall。他的热键是递增的,比上一个加入的热键加一,比如上次加入的热键是1那么这个就是2。

    参数

OSG教程:操作器管理类:KeySwitchMatrixManipulator

    unsigned int getNumMatrixManipulators () const

    说明:得到当前KeySwitchMatrixManipulator中的操作器个数。返回具体数目。

    void selectMatrixManipulator (unsigned int num)

    说明:选择一个操作器。

    参数

OSG教程:操作器管理类:KeySwitchMatrixManipulator

    KeyManipMap & getKeyManipMap () const KeyManipMap & getKeyManipMap () const

    说明:得到绑定到这个KeySwitchMatrixManipulator 中所有的操作器,包含键的映射。返回值是KeyManip其实是一个键-值对,前面为操作器对应的键,比如1,后面是对应的名,比如TrackBall

    MatrixManipulator * getCurrentMatrixManipulator () const

    MatrixManipulator * getCurrentMatrixManipulator () const

    说明:得到当前使用的操作器类,返回该类的指针。

    MatrixManipulator * getMatrixManipulatorWithIndex (unsigned int index) const

    MatrixManipulator * getMatrixManipulatorWithIndex (unsigned int index) const

    说明:得到某一个索引对映的操作器,返回该操作器的指针。

    参数

OSG教程:操作器管理类:KeySwitchMatrixManipulator

    MatrixManipulator * getMatrixManipulatorWithKey (unsigned int key) const

    MatrixManipulator * getMatrixManipulatorWithKey (unsigned int key) const

    说明:得到某一个热键对映的操作器,返回该操作器的指针。

    参数

OSG教程:操作器管理类:KeySwitchMatrixManipulator

    virtual void setMinimumDistance (float minimumDistance)

    说明:设置最小的矩离。在靠近中心的时候视点会按比率伸缩以保持大于该最小矩。

    参数

OSG教程:操作器管理类:KeySwitchMatrixManipulator

    virtual void setCoordinateFrameCallback (CoordinateFrameCallback *cb)

    说明:当前绘制坐标系统的回调,该回调的作用是告诉操作者具体的方向,东西南北。

    参数

OSG教程:操作器管理类:KeySwitchMatrixManipulator

    virtual void setByMatrix (const osg::Matrixd &matrix)

    说明:用矩阵来设置当前视口。

    参数

OSG教程:操作器管理类:KeySwitchMatrixManipulator

    virtual void setByInverseMatrix (const osg::Matrixd &matrix)

    说明:用逆矩阵来设置当前视口。

    参数

OSG教程:操作器管理类:KeySwitchMatrixManipulator

    virtual osg::Matrixd getMatrix () const virtual osg::Matrixd getInverseMatrix () const

    说明:得到当前视口的矩阵/逆矩阵。

    virtual osgUtil::SceneView::FusionDistanceMode getFusionDistanceMode () const

    说明:得到空间融合距模式。返回值为模式值,为下列值之一:USE_FUSION_DISTANCE_VALUE, PROPORTIONAL_TO_SCREEN_DISTANCE

    virtual float getFusionDistanceValue () const

    说明:得到空间融合距值。

    virtual void setNode (osg::Node *n)

    说明:绑定一个结点到KeySwitchMatrixManipulator,会自动的解除以前的结点。如果设置为NULL,则不绑定任何结点。

    参数

OSG教程:操作器管理类:KeySwitchMatrixManipulator

    virtual const osg::Node * getNode () const

    virtual osg::Node * getNode ()

    说明:得到KeySwitchMatrixManipulator绑定的结点。

    virtual void setHomePosition (const osg::Vec3d &eye, const osg::Vec3d &center, const osg::Vec3d &up, bool autoComputeHomePosition =false)

    说明:设置视口原点,一般为按空格键后返回的点。使用欧拉坐标系固定。

    参数

OSG教程:操作器管理类:KeySwitchMatrixManipulator

    virtual void setAutoComputeHomePosition (bool flag)

    说明:说明是否自动计算视口原点位置。

OSG教程:操作器管理类:KeySwitchMatrixManipulator

    virtual void computeHomePosition ()

    说明:计算视口原点位置。

    virtual void home (const GUIEventAdapter &ee, GUIActionAdapter &aa)

    virtual void init (const GUIEventAdapter &ee, GUIActionAdapter &aa)

    virtual bool handle (const GUIEventAdapter &ea, GUIActionAdapter &us)

    virtual void getUsage (osg::ApplicationUsage &usage) const

   说明:上述是响应事件的一些函数,在事件响应一节中会详加解释。

标签:OSG
上一篇:OSG教程:场景保存基类ViewerBase
下一篇:RIM发布黑莓第一款WebGL游戏
网友评论:OSG教程:操作器管理类:KeySwitchMatrixManipulator
评论
留名: 验证码:
您可能还需要关注一下内容:
·OSG基础教程:读取模型
·OSG教程:外部参数管理类ArgumentParser
·OSG教程:操作器管理类:KeySwitchMatrixManipulator
·OSG教程:场景保存基类ViewerBase
·OSG教程:场景保存类Viewer
·OSG基础教程:官方的四程序
·OSG基础教程:Hello World
·OSG可视化图形开发环境的编译与安装
·Win7下OSG开发环境的搭建
·OSG虚拟可视化图形开发简介
☏ 推荐产品

Ladybug5全景
商家:力方国际

ProJet®
商家:力方国际

ProJet®
商家:视科创新

Premium1.5
商家:视科创新

巴可HDX主动立体投
商家:德浩科视

巴可HDF-W26投
商家:德浩科视

巴可30000流明2
商家:德浩科视

巴可4万流明2K投影
商家:德浩科视
☞ 外设导航
☏ 企业名录
【广州】中科院广州电子技术有限公司
【北京】第二空间(北京)科技有限公司
【北京】幻维世界(北京)网络科技有限公司
【厦门】厦门惠拓动漫科技有限公司
【厦门】厦门幻眼信息科技有限公司
【深圳】深圳南方百捷文化传播有限公司
【北京】北京思源科安信息技术有限公司
【上海】上海殊未信息科技有限公司
【北京】北京赢康科技开发有限公司
【武汉】武汉科码软件有限公司
友情链接 关于本站 咨询策划 行业推广 广告服务 免责声明 网站建设 联系我们 融资计划
北京第三维度科技有限公司 版权所有 京ICP备09001338
2008-2016 Beijing The third dimension Inc. All Rights Reserved.
Tel:010-57255801 Mob:13371637112(24小时)
Email:d3dweb@163.com  QQ:496466882
扫一扫 第三维度
官方微信号