|
// StLReader.cpp: implementation of the CStLReader class.
//
//////////////////////////////////////////////////////////////////////
#include "stdafx.h"
#include "StLViewer.h"
#include "StLReader.h"
#ifdef _DEBUG
#undef THIS_FILE
static char THIS_FILE[]=__FILE__;
#define new DEBUG_NEW
#endif
//////////////////////////////////////////////////////////////////////
// Construction/Destruction
//////////////////////////////////////////////////////////////////////
CStLReader::CStLReader(const CString& fName) : fileName(fName)
{
pointList = new CListOfCPoint3D;
Read();
}
CStLReader::~CStLReader()
{
pointList->Clear();
delete pointList;
}
CStLReader* CStLReader::Copy()
{
CStLReader* R = new CStLReader(fileName);
return R;
}
bool CStLReader::Read()
{
FILE* stlfp;
int i=0,j=0,cnt=0 ,pCnt=4;
char a[100];
char str[40];
double x=0,y=0,z=0;
CPoint3D tPoint;
stlfp = fopen(fileName,"r");
if(!stlfp)
return false;
else
{
do
{
i=0;
cnt=0;
fgets(a,100,stlfp);
while(a[i]!='\0')
{
if(!islower((int)a[i]) && !isupper((int)a[i]) && a[i]!=' ')
break;
cnt++;
i++;
}
while(a[cnt]!='\0')
{
str[j]=a[cnt];
cnt++;
j++;
}
str[j]='\0';
j=0;
if(sscanf(str,"%lf%lf%lf",&x,&y,&z)==3)
{
tPoint.SetParam(x,y,z);
pointList->Append(tPoint);
}
pCnt++;
}while(!feof(stlfp));
fclose(stlfp);
return true;
}
}
|
By viewing downloads associated with this article you agree to the Terms of Service and the article's licence.
If a file you wish to view isn't highlighted, and is a text file (not binary), please
let us know and we'll add colourisation support for it.
Sharjith is a Mechanical Engineer with strong passion for Automobiles, Aircrafts and Software development.