我要发帖 回复

管理员

735

主题

2万

积分

30

专家分

忠于职守杰出贡献鼓励

兴趣点(最多三项):

建模技术

私信
发表时间 : 2011-10-24 21:32:17 | 浏览 : 2166    评论 : 5
读取文本文件:
任意行,flt文件名+物体指定位置
  1. 1.flt 0,-35,-1,0,0,0
  2. 2.flt -15,-36,0,0,0,0
  3. 3.flt 0,0,0,0,0,0
复制代码
下面是代码


  1. class myApp : public vpApp
  2. {
  3. public:

  4.     /**
  5.      * Constructor
  6.      */
  7.     myApp()
  8.      {}

  9.     /**
  10.      * Destructor
  11.      */
  12.     ~myApp()
  13.         { }

  14.     /**
  15.      * Run my app
  16.      */
  17.     virtual void run(void);

  18.     /**
  19.      * Configure my app
  20.      */
  21.     virtual int configure(void);

  22.         void createObj(char* file,float x,float y,float z,float h,float p,float r);






  23. };

  24. void myApp::createObj(char* file,float x,float y,float z,float h,float p,float r)
  25. {
  26.          char name[256];

  27.         sprintf(name, "name_%s", file);

  28.         vpObject* pObject_myObject = new vpObject();
  29.     pObject_myObject->setName(name);
  30.     pObject_myObject->setCullMask( 0x0FFFFFFFF );
  31.     pObject_myObject->setRenderMask( 0x0FFFFFFFF );
  32.     pObject_myObject->setIsectMask( 0x0FFFFFFFF );
  33.     pObject_myObject->setStrategyEnable( true );
  34.     pObject_myObject->setTranslate(x, y, z );
  35.     pObject_myObject->setRotate( h, p, r);
  36.     pObject_myObject->setScale( 1 ,  1 ,  1 );
  37.     pObject_myObject->setStaticEnable( false );
  38.     pObject_myObject->setFileName(file );
  39.     pObject_myObject->setAutoPage( vpObject::AUTO_PAGE_SYNCHRONOUS );
  40.     pObject_myObject->setManualLODChild( -1 );

  41.         vpScene *pScene = (*vpScene::begin());
  42.          if(pScene)
  43.                  pScene->addChild( pObject_myObject );
  44. }
  45. void myApp::run()
  46. {
  47.    

  48.     while( beginFrame() != 0)
  49.     {


  50.       

  51.         endFrame();
  52.     }

  53.     unconfigure();
  54. }

  55. int myApp::configure()
  56. {
  57.    

  58.    
  59.         FILE *file;
  60.         char modelfile[32];
  61.         float x,y,z,h,p,r;


  62.         file=fopen("loadlist.txt","r");
  63.         
  64.         while(!feof(file))
  65.         {         
  66.             fscanf(file,"%s %f,%f,%f,%f,%f,%f\n",modelfile,&x,&y,&z,&h,&p,&r);

  67.                 createObj(modelfile,x,y,z,h,p,r);
  68.         }
  69.          fclose(file);


  70.     return vpApp::configure();
  71. }



复制代码

最近VR访客

renyuhua 评论于2012-3-22 09:21:45
学习了,MARK一下。。。
sichuanwww 评论于2011-10-25 13:34:07
不错  老大的代码一般质量都很高
努力挣钱,快乐生活!
吴军 评论于2012-1-24 20:40:32
不错  老大的代码一般质量都很高
famcy 评论于2012-5-13 09:09:42
haohaohaohaohaohaohaohao
xrqking 评论于2016-11-15 23:03:04
站主,你好。我按照你写的格式定义好了类。在自定义的myApp.h文件中
  1. class myApp:public vpApp
  2. {
  3. public:
  4.         myApp(void);

  5.         ~myApp(void);

  6.         virtual void run(void);
  7. }
复制代码

然后在myApp.cpp文件中对void fly函数进行具体定义(该函数也是来源于本网站)。
  1. void myApp::run()
  2. {
  3.                        
  4.         float  stu[3][100];                //SIZE为数据的个数
  5.         int i;
  6.         FILE *fp;

  7.         fp = fopen("afile.txt", "rt");
  8.         for(i=0;i<100;i++)
  9.         {        
  10.         fscanf(fp,"%f ","%f","%f",stu[0]+i,stu[1]+i,stu[2]+i);
  11.         vuVec3<double> m_xyz;
  12.         m_xyz[0]=stu[0][i];
  13.         m_xyz[1]=stu[1][i];
  14.         m_xyz[2]=stu[2][i];

  15.         vpObject* pObject_f16 = new vpObject();
  16.         pObject_f16->setTranslate(m_xyz[0], m_xyz[1], m_xyz[2] );
  17.         pObject_f16->setRotate(0.0f, 0.0f, 0.0f );
  18.         }
  19.         fclose(fp);
  20. }
复制代码

现在,我的问题是:当我想在myApp.cpp文件中调用函数run。我的调用格式是
  1. run();
复制代码

出现错误:error C2352: “myApp::run” : 非静态成员函数的非法调用
请问我的问题出在哪里?谢谢。

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

GMT+8, 2022-12-3 01:22 AM

返回顶部