#include "stdafx.h"
#include
#include "glm.h"
#include
#include
#include
#include
#include
#include "TriChip.h"
typedef struct tagPoint3D
{
double x;
double y;
double z;
} CPoint3D;
typedef struct tagVector3D
{
double dx;
double dy;
double dz;
} CVector3D;
class CTriClass:public CObject
{
public:
CPoint3D vex[3];
CVector3D normal;
public:
CTriClass();
virtual~CTriClass();
virtual void Serialize(CArchive& ar);
};
class CTriChip:public CObArray
{
};
void CTriClass::Serialize(CArchive &ar)
{
if(ar.IsStoring())
ar>normal.dx>>normal.dy>>normal.dz;
}
class myOpenGL
{
public:
CTypedPtrArray myTriList;
public:
BOOL LoadSTLFile(LPCTSTR stlfile);
};
myOpenGL::LoadSTLFile(LPCTSTR stlfile)
{
FILE*file;
int type=0;
if((file=fopen(stlfile,"r"))==NULL)
return FALSE;
char str[100];
CTriClass* tri=NULL;
while(fscanf(file,"%s",str)==1)
{
if(strncmp(str,"normal",6)==0)
{
tri=new CTriClass();
fscanf(file,"%lf%lf%lf",&(tri->normal.dx),&(tri->normal.dy),&(tri->normal.dz));
fscanf(file,"%*s%*s");
fscanf(file,"%*s%lf%lf%lf",&(tri->vex[0].x),&(tri->vex[0].y),&(tri->vex[0].z));
fscanf(file,"%*s%lf%lf%lf",&(tri->vex[1].x),&(tri->vex[1].y),&(tri->vex[1].z));
fscanf(file,"%*s%lf%lf%lf",&(tri->vex[2].x),&(tri->vex[2].y),&(tri->vex[2].z));
Add(tri);
}
}
return TRUE;
}
--------------------Configuration: Laser - Win32 Debug--------------------
Compiling...
glm.cpp
F:\课题资料\STL读取\Laser\glm.cpp(81) : error C2065: 'Add' : undeclared identifier
Error executing cl.exe.
Creating browse info file...
Laser.exe - 1 error(s), 0 warning(s)
会有个不能识别Add()函数的问题,貌似这个Add函数是CArray类里的CArray::Add
int Add( ARG_TYPE newElement );但是具体怎么定义,在哪里定义我不知道,求哪位高人指点 最好把代码修改好万分感激
|