查看: 4080|回复: 10

FreeSouth请进

[复制链接]

该用户从未签到

发表于 2008-4-12 18:21:37 | 显示全部楼层 |阅读模式
你给我的那个step into OSG,由于版本是以前的, 我试着重新写,但是里面有些用到了dll,还有lib,这些东西没办法修改,
该怎么处理?
说明:主要是里面的TravelManipulator那个demo。
谢谢。
  • TA的每日心情
    开心
    2019-11-11 10:36
  • 签到天数: 2 天

    [LV.1]初来乍到

    发表于 2008-4-12 21:32:02 | 显示全部楼层
    我写个2.20的操作器你看一下,

    SouthManipulator.rar

    2.12 KB, 下载次数: 290, 下载积分: 威望 1

  • TA的每日心情
    开心
    2019-11-11 10:36
  • 签到天数: 2 天

    [LV.1]初来乍到

    发表于 2008-4-12 21:34:57 | 显示全部楼层
    用这个操作器两步就够,也就是除了加LIB与头文件之外的:
        keyswitchManipulator->addMatrixManipulator( '1', "Trackball", trackball.get());
            keyswitchManipulator->addMatrixManipulator( '2', "South", mSouth) ;

    mSouth ->setNode(mRoot.get()) ;

    setNode设置的是根结点,是把m_bPeng设置为TRUE时加碰撞检测用的,可以检测到mRoot里面模型的碰撞,由于现实坐标系统比较大,键F键可以找到该物体的包转盒中点,一看代码就明白了,很好懂的

    该用户从未签到

     楼主| 发表于 2008-4-12 22:13:47 | 显示全部楼层
    先谢谢你了,我看看,
  • TA的每日心情
    开心
    2019-11-11 10:36
  • 签到天数: 2 天

    [LV.1]初来乍到

    发表于 2008-4-12 22:31:59 | 显示全部楼层
    嗯,不用客气

    该用户从未签到

     楼主| 发表于 2008-4-13 22:55:14 | 显示全部楼层
    自己写了一个test文件,把CSouth文件加进去,怎么出现一大堆关于dll的错误;
    请指教,谢谢。
  • TA的每日心情
    开心
    2019-11-11 10:36
  • 签到天数: 2 天

    [LV.1]初来乍到

    发表于 2008-4-14 13:10:26 | 显示全部楼层
    不是,和以前一样,也是DLL,我传给你的也是动态链接库的项目啊,如果用在代码里,要改的

    该用户从未签到

     楼主| 发表于 2008-4-14 17:35:12 | 显示全部楼层
    我是新建了一个控制台项目,将CSouth.h,CSouth.cpp添加进去。
    把里面的和dll有关的语句全部注释,
    1. class CSouth: public osgGA::MatrixManipulator{...};
    复制代码
    test.cpp里面的使用:
    1. int _tmain(int argc, _TCHAR* argv[])
    2. {
    3.         osg::ref_ptr<osgViewer::Viewer>viewer= new osgViewer::Viewer;
    4.         osg::ref_ptr<osg::Node> node = osgDB::readNodeFile("ceep.ive");

    5.         CSouth* mSouth= new CSouth;
    6.         osg::ref_ptr<osgGA::KeySwitchMatrixManipulator>keyswitchManipulator =
    7.                 new osgGA::KeySwitchMatrixManipulator;
    8.         keyswitchManipulator->addMatrixManipulator( '1', "Trackball",
    9.                 new osgGA::TrackballManipulator());
    10.         keyswitchManipulator->addMatrixManipulator( '2', "South", mSouth) ;

    11.         mSouth->setNode(node.get()) ;

    12.         viewer->setSceneData(node.get());

    13.         return 0;
    14. }
    复制代码
    运行时候出现一大堆无法解析的错误。
    有什么问题吗?请指教,谢谢。
  • TA的每日心情
    开心
    2019-11-11 10:36
  • 签到天数: 2 天

    [LV.1]初来乍到

    发表于 2008-4-15 08:58:50 | 显示全部楼层
    应该不会有错的,要把.CPP里的DLL语句也注释掉,,,解析错没有语法错可怕,,,再TRY一下

    该用户从未签到

    发表于 2008-5-6 12:57:50 | 显示全部楼层
    初学,down了

    该用户从未签到

    发表于 2008-5-15 17:43:01 | 显示全部楼层

    回复 9楼 的帖子

    为什么我用的时候 在生成的时候出现这么多错误!

    d:\osg\project\schooletest\schooletest\stdafx.h(18) : error C2011: “CSouth”: “class”类型重定义
            d:\osg\project\schooletest\schooletest\stdafx.h(18) : 参见“CSouth”的声明
    d:\osg\project\schooletest\schooletest\stdafx.cpp(7) : error C2027: 使用了未定义类型“CSouth”
            d:\osg\project\schooletest\schooletest\stdafx.h(18) : 参见“CSouth”的声明
    d:\osg\project\schooletest\schooletest\stdafx.cpp(7) : error C2062: 意外的类型“void”
    d:\osg\project\schooletest\schooletest\stdafx.cpp(8) : error C4430: 缺少类型说明符 - 假定为 int。注意: C++ 不支持默认 int
    d:\osg\project\schooletest\schooletest\stdafx.cpp(9) : error C4430: 缺少类型说明符 - 假定为 int。注意: C++ 不支持默认 int
    d:\osg\project\schooletest\schooletest\stdafx.cpp(10) : error C4430: 缺少类型说明符 - 假定为 int。注意: C++ 不支持默认 int
    d:\osg\project\schooletest\schooletest\stdafx.cpp(11) : error C4430: 缺少类型说明符 - 假定为 int。注意: C++ 不支持默认 int
    d:\osg\project\schooletest\schooletest\stdafx.cpp(12) : error C4430: 缺少类型说明符 - 假定为 int。注意: C++ 不支持默认 int
    d:\osg\project\schooletest\schooletest\stdafx.cpp(13) : error C2448: “m_fpushY”: 函数样式初始值设定项类似函数定义
    d:\osg\project\schooletest\schooletest\stdafx.cpp(19) : error C2027: 使用了未定义类型“CSouth”
            d:\osg\project\schooletest\schooletest\stdafx.h(18) : 参见“CSouth”的声明
    d:\osg\project\schooletest\schooletest\stdafx.cpp(19) : error C2062: 意外的类型“void”
    d:\osg\project\schooletest\schooletest\stdafx.cpp(20) : error C2143: 语法错误 : 缺少“;”(在“{”的前面)
    d:\osg\project\schooletest\schooletest\stdafx.cpp(20) : error C2447: “{”: 缺少函数标题(是否是老式的形式表?)
    d:\osg\project\schooletest\schooletest\stdafx.cpp(23) : error C2027: 使用了未定义类型“CSouth”
            d:\osg\project\schooletest\schooletest\stdafx.h(18) : 参见“CSouth”的声明
    d:\osg\project\schooletest\schooletest\stdafx.cpp(28) : error C2027: 使用了未定义类型“CSouth”
            d:\osg\project\schooletest\schooletest\stdafx.h(18) : 参见“CSouth”的声明
    d:\osg\project\schooletest\schooletest\stdafx.cpp(33) : error C2027: 使用了未定义类型“CSouth”
            d:\osg\project\schooletest\schooletest\stdafx.h(18) : 参见“CSouth”的声明
    d:\osg\project\schooletest\schooletest\stdafx.cpp(34) : error C2270: “getMatrix”: 非成员函数上不允许修饰符
    d:\osg\project\schooletest\schooletest\stdafx.cpp(38) : error C2065: “m_vRotation”: 未声明的标识符
    d:\osg\project\schooletest\schooletest\stdafx.cpp(38) : error C2228: “._v”的左边必须有类/结构/联合
            类型是“'unknown-type'”
    d:\osg\project\schooletest\schooletest\stdafx.cpp(40) : error C2228: “._v”的左边必须有类/结构/联合
            类型是“'unknown-type'”
    d:\osg\project\schooletest\schooletest\stdafx.cpp(42) : error C2228: “._v”的左边必须有类/结构/联合
    您需要登录后才可以回帖 登录 | 注册

    本版积分规则

    OSG中国官方论坛-有您OSG在中国才更好

    网站简介:osgChina是国内首个三维相关技术开源社区,旨在为国内更多的技术开发人员提供最前沿的技术资讯,为更多的三维从业者提供一个学习、交流的技术平台。

    联系我们

    • 工作时间:09:00--18:00
    • 反馈邮箱:1315785073@qq.com
    快速回复 返回顶部 返回列表