我要发帖 回复

正式会员

4

主题

40

积分

0

专家分

:

私信
发表时间 : 2008-5-22 12:30:31 | 浏览 : 1355    评论 : 1
我想在vs.net中用程序实现DOF节点的运动,参照一个例子,编写了下面的程序,可是运行时出现4个错误:
Error C2065:“myDof”:未声明的标识符
Error C2227:“->setRoateR”的左侧必须指向类/结构/联合    类型是“unknown-type”
Error C2227:“->setRoateR”的左侧必须指向类/结构/联合    类型是“unknown-type”
Error C3861: “myDof”:即使使用参数相关的查找,也未找到标识符
我该怎么办呢?    恳请高手指导!  最好能给我一个完整的程序,谢谢!!!


#include <vsgu.h>
#include <vp.h>
#include <vpApp.h>
#include <vpObject.h>
#include <vpObserver.h>
#include <vpMotionTetherSpin.h>
#include <vsDOF.h>
#include <vrMode.h>
#include "vuAllocTracer.h"
vuAllocTracer tracer(true, true);

class myApp : public vpApp {
public:
    vsNode* myNode;      //定义节点实例   
     vpObject* myObj;          //定义带有dof节点的模型实例
     vsDOF* myDof;            //定义dof节点实例。
    /**
    * Constructor
    */
    myApp()
    {}
    /**
    * Destructor
    */
    ~myApp()
    {}
    /**
    * Configure my app
    */
    int configure()
    {
        // pre-configuration
        // configure vega prime system first
                vpApp::configure();
                                                                                                                   myObj=vpObject::find("box");    //实例化模型实例
                                                                                                               
         if (myObj)   
                myNode = myObj ->find_named("door"); //实例化节点实例
         if(myNode&&myNode->isOfClassType(vsDOF::getStaticClassType()) )
                 myDof = (vsDOF*)myNode ;  
             else myDof=NULL;          //判断节点是否是dof节点,如果是,强制转换为dof节点, 并且实例化节点。
    }
private:
};
void onKeyInput(vrWindow::Key key, int mod)
{
        switch (key)
        {
          case vrWindow::KEY_ESCAPE: // quit the application
                //breakFrameLoop();
                 vp::shutdown();
                        break;
          case vrWindow::KEY_A:
                myDof->setRotateR(5,TRUE);
                        break;
           case vrWindow::KEY_S:
                myDof->setRoateR(-5,TRUE);
        }
}
int main(int argc, char *argv[])
{
    // initialize vega prime
    vp::initialize(argc, argv);
    // create a vpApp instance
    myApp *app = new myApp;
    // load acf file
    if (argc <= 1)
        app->define("box.acf");
    else
        app->define(argv[1]);
    // configure my app
    app->configure();
    // runtime loop
    app->run();
    // unref my app instance
    app->unref();
    // shutdown vega prime
    vp::shutdown();
    return 0;
}

最近VR访客

rosy 评论于2008-5-22 12:43:19
请帮忙,太急了
谢谢

手机版|VR开发网 统计 津ICP备18009691号
网安备12019202000257

GMT+8, 2021-6-12 08:03 PM

返回顶部