void InteriorPointsConstructor::printFirstInteriorPoints(int color, bool flag) { int i = 1; int j = 0; AcGePoint3dArray ptArr; ptArr.setLogicalLength(_interiorArray[i].length()+1); while (j < _interiorArray[i].length()) { ptArr[j].set(_interiorArray[i][j].x, _interiorArray[i][j].y, _interiorArray[i][j].z); j++; } ptArr[j].set(_interiorArray[0][0].x, _interiorArray[0][0].y, _interiorArray[0][0].z); AcDb3dPolyline *pNewPline = new AcDb3dPolyline(AcDb::k3dSimplePoly , ptArr, Adesk::kFalse); pNewPline->setColorIndex(color); AcDbBlockTable *pBlockTable; AcDbBlockTableRecord *pBlockTableRecord; acdbHostApplicationServices()->workingDatabase()->getSymbolTable(pBlockTable, AcDb::kForRead); pBlockTable->getAt(ACDB_MODEL_SPACE, pBlockTableRecord, AcDb::kForWrite); AcDbObjectId plineObjId; pBlockTableRecord->appendAcDbEntity(plineObjId, pNewPline); pBlockTable->close(); pBlockTableRecord->close(); //pNewPline->setLayer(_T("0")); //pNewPline->setClosed(Adesk::kFalse); pNewPline->close(); //} //delete pNewPline; }
void InteriorPointsConstructor::printInteriorPoints(int color, bool flag) { int i = 0; while (i < _contourArray->length()/2 + 1) { int j = 0; AcGePoint3dArray ptArr; if ((flag)|| (_interiorArray[i].length() <2)) ptArr.setLogicalLength(_interiorArray[i].length()); else ptArr.setLogicalLength(_interiorArray[i].length()-1); if ((flag)|| (_interiorArray[i].length() < 2)) while (j < _interiorArray[i].length()) { ptArr[j].set(_interiorArray[i][j].x, _interiorArray[i][j].y, _interiorArray[i][j].z); j++; } else { while (j < _interiorArray[i].length()-2) { ptArr[j].set(_interiorArray[i][j].x, _interiorArray[i][j].y, _interiorArray[i][j].z); if (sqrt(_interiorArray[i][j].x*_interiorArray[i][j].x + _interiorArray[i][j].y*_interiorArray[i][j].y + _interiorArray[i][j].z*_interiorArray[i][j].z) < 100) acutPrintf(_T("The shitty: %d, %d\n"), i, j); j++; } j++; ptArr[j].set(_interiorArray[i][j].x, _interiorArray[i][j].y, _interiorArray[i][j].z); } //if (i == 10){ AcDb3dPolyline *pNewPline = new AcDb3dPolyline(AcDb::k3dSimplePoly , ptArr, Adesk::kFalse); pNewPline->setColorIndex(color); AcDbBlockTable *pBlockTable; AcDbBlockTableRecord *pBlockTableRecord; acdbHostApplicationServices()->workingDatabase()->getSymbolTable(pBlockTable, AcDb::kForRead); pBlockTable->getAt(ACDB_MODEL_SPACE, pBlockTableRecord, AcDb::kForWrite); AcDbObjectId plineObjId; pBlockTableRecord->appendAcDbEntity(plineObjId, pNewPline); pBlockTable->close(); pBlockTableRecord->close(); //pNewPline->setLayer(_T("0")); //pNewPline->setClosed(Adesk::kFalse); pNewPline->close(); //} //delete pNewPline; i++; } }