#include "ledsparserstl.h" //#include "compgeomlib.h" #include "ledslib.h" CLEDSParserSTL::CLEDSParserSTL() { m_uiVertexCount = 0; m_pCLEDSGeometry = NULL; } CLEDSParserSTL::~CLEDSParserSTL() { Local_Uninit(); } VOID CLEDSParserSTL::Init(CHAR *pcFile, CHAR **ppcDirectories, UINT_32 uiDirectories, CParserSTL **ppyy_CParserSTL, YYLTYPE *pyylloc, YY_PARSE_TYPE *pfyy_Parse, CScanner **ppyy_CScanner, int *pyyleng, YY_BEGIN_INITIAL_TYPE *pfyy_BeginInitial, YY_GET_CURRENT_BUFFER_TYPE *pfyy_GetCurrentBuffer, YY_CREATE_BUFFER_TYPE *pfyy_CreateBuffer, YY_DELETE_BUFFER_TYPE *pfyy_DeleteBuffer, YY_SWITCH_TO_BUFFER_TYPE *pfyy_SwitchToBuffer, YY_SET_VALUE_INT_TYPE *pfyy_SetValueInt, YY_SET_VALUE_FLOAT_TYPE *pfyy_SetValueFloat, YY_SET_VALUE_STRING_TYPE *pfyy_SetValueString) { CParserSTL::Init(pcFile, ppcDirectories, uiDirectories, ppyy_CParserSTL, pyylloc, pfyy_Parse, ppyy_CScanner, pyyleng, pfyy_BeginInitial, pfyy_GetCurrentBuffer, pfyy_CreateBuffer, pfyy_DeleteBuffer, pfyy_SwitchToBuffer, pfyy_SetValueInt, pfyy_SetValueFloat, pfyy_SetValueString); m_pPtFirst = new Point; m_pPtCur = new Point; m_pPtPrev = new Point; } VOID CLEDSParserSTL::Uninit() { Local_Uninit(); CParserSTL::Uninit(); } VOID CLEDSParserSTL::Local_Uninit() { delete m_pPtFirst; delete m_pPtPrev; delete m_pPtCur; } VOID CLEDSParserSTL::AddLump(CHAR */*pcFile*/, UINT_32 /*uiLine*/, UINT_32 /*uiColumn*/) { } VOID CLEDSParserSTL::EndLump() { } VOID CLEDSParserSTL::EndTriangle() { } VOID CLEDSParserSTL::AddVertex(CHAR */*pcFile*/, UINT_32 /*uiLine*/, UINT_32 /*uiColumn*/, FLOAT fX, FLOAT fY, FLOAT fZ) { switch (m_uiVertexCount) { case 0: AddFirstVertex(fX, fY, fZ); break; case 1: AddMiddleVertex(fX, fY, fZ); break; case 2: AddLastVertex(fX, fY, fZ); break; default: // shouldn't get here! ASSERT(0); } m_uiVertexCount = (m_uiVertexCount+1)%3; }