• 大小: 2.19MB
    文件类型: .rar
    金币: 1
    下载: 0 次
    发布日期: 2023-09-21
  • 语言: C/C++
  • 标签: openglstl  

资源简介

vc6.0,opengl对stl文件的读取及显示。鼠标及键盘控制。

资源截图

代码片段和文件信息

// Opengl.cpp: implementation of the Opengl class.
//
//////////////////////////////////////////////////////////////////////

#include “Opengl.h“

//////////////////////////////////////////////////////////////////////
// Construction/Destruction
//////////////////////////////////////////////////////////////////////


HDC hDC=NULL;
HGLRC hRC=NULL;
HWND hWnd=NULL;
HINSTANCE hInstance;

bool lp;
bool fp;

bool keys[256];
bool active=TRUE;
bool fullscreen=FALSE; //FALSE非全屏;

float *Hnub = NULL;
float *Cout = NULL;
int Nnub = 0;


GLfloat rtri = 7;
GLfloat xrot;
GLfloat yrot;
GLfloat zd = -3.0;
GLfloat LightAmbient[] = { 0.5f 0.5f 0.5f 1.0f };
GLfloat LightDiffuse[]={ 1.0f 1.0f 1.0f 1.0f };
GLfloat LightPosition[] = { 0.0f 0.0f 0.0f 1.0f };

Opengl::Opengl()
{

}

Opengl::~Opengl()
{

}




LRESULT CALLBACK WndProc(HWND UINT WPARAM LPARAM);

void Opengl::GetStlVertex() 
{
ifstream File;
File.open(“tooth3.stl“);//F:The New File//

if(!(File.is_open()))
{
MessageBox(NULL“The File Open False““ERROR“MB_OK|MB_ICONEXCLAMATION);
File.close();
// return 1;
}

int numb1 = 0;
int numb2 = 0;
int Cont = 0; //计算STL行数
char SStr[1024];
string Str;

while(File.good() && !File.eof()) 
{
memset(SStr01024);
//File.seekg(0ios::end);//移动指针
//int Fsize = File.tellg();//大小
File.getline(SStr1024);
Str = SStr;
Cont++;
int Ssize = Str.size();
}

Nnub = Cont/7;               //三角形面的个数,7个为一个三角形面
//cout< Hnub = new float[9*Nnub];
Cout = new float[9*Nnub];

FILE* file;
file=fopen(“tooth3.stl““r“);//F://The New File//
rewind(file);
    while (getc(file) != ‘\n‘);
if(file == NULL)
{
// char chInput[512]=“dasfsdfdfg“ ;
// sprintf(chInput“int:%d\n“500);
// OutputDebugString( chInput );
//cout<< “The File Open Flase“ < MessageBox(NULL“The File Open False““ERROR“MB_OK|MB_ICONEXCLAMATION);
fclose(file);
// return 1;
}

// 按行解析
for (int i=0;i    {
        char x[200] = ““;
        char y[200] = ““;
        char z[200] = ““;
        if(3!=fscanf(file“%*s %*s %80s %80s %80s\n“xyz))
        {
            break;
        }
        Cout[numb1] = Cout[numb1+3] = Cout[numb1+6]=atof(x);
        numb1++;
        Cout[numb1] = Cout[numb1+3] = Cout[numb1+6]=atof(y);
        numb1++;
        Cout[numb1] = Cout[numb1+3] = Cout[numb1+6]=atof(z);
        numb1 += 7;
        fscanf(file“%*s %*s“);
        if (3 != fscanf(file“%*s %80s %80s %80s\n“xyz))
        {
            break;
        }
        Hnub[numb2] = atof(x);
        numb2++;
        Hnub[numb2] = atof(y);
        numb2++;
Hnub[numb2] = atof(z);
        numb2++;
        if (3 != fscanf(file“%*s %80s %80s %80s\n“xyz))
        {
            break;

        }
        Hnub[numb2] = atof(x);
        numb2++;
        Hnub[numb2] = atof(y);
        numb2++;
  

 属性            大小     日期    时间   名称
----------- ---------  ---------- -----  ----

     文件     217036  2014-11-05 09:40  OpenGl_1\Debug\Opengl.obj

     文件     536666  2014-11-05 09:40  OpenGl_1\Debug\OpenGl_1.exe

     文件     788792  2014-11-05 09:40  OpenGl_1\Debug\OpenGl_1.ilk

     文件    5659672  2014-11-04 11:38  OpenGl_1\Debug\OpenGl_1.pch

     文件    1123328  2014-11-05 09:40  OpenGl_1\Debug\OpenGl_1.pdb

     文件     963910  2014-11-02 14:36  OpenGl_1\Debug\tooth3.stl

     文件     205824  2014-11-05 09:40  OpenGl_1\Debug\vc60.idb

     文件     159744  2014-11-05 09:40  OpenGl_1\Debug\vc60.pdb

     文件      13783  2014-11-05 09:39  OpenGl_1\Opengl.cpp

     文件        747  2014-11-04 11:38  OpenGl_1\Opengl.h

     文件       4073  2014-11-03 15:26  OpenGl_1\OpenGl_1.dsp

     文件        524  2014-11-03 13:59  OpenGl_1\OpenGl_1.dsw

     文件      50176  2014-11-05 09:41  OpenGl_1\OpenGl_1.ncb

     文件      48640  2014-11-05 09:41  OpenGl_1\OpenGl_1.opt

     文件       1226  2014-11-05 09:40  OpenGl_1\OpenGl_1.plg

     文件     963910  2014-11-02 14:36  OpenGl_1\tooth3.stl

     文件     169984  1998-08-18 16:25  OpenGl_1\开发库\glut.dll

     文件      21440  1998-08-18 16:24  OpenGl_1\开发库\glut.h

     文件      79654  1998-08-18 16:25  OpenGl_1\开发库\glut.lib

     文件     169984  1998-08-18 16:25  OpenGl_1\开发库\glut32.dll

     文件      79898  1998-08-18 16:25  OpenGl_1\开发库\glut32.lib

     目录          0  2017-12-10 01:02  OpenGl_1\Debug

     目录          0  2017-12-10 01:02  OpenGl_1\开发库

     目录          0  2017-12-10 01:02  OpenGl_1

----------- ---------  ---------- -----  ----

             11259011                    24


评论

共有 条评论

相关资源