Выполнение итераций через Вершину в Ломаной линии
Следующее выполнение итераций показов примера через вершину в ломаной линии, использующей вершину iterator. Это тогда печатает координаты для каждой вершины.
// Принимает объект ID AcDb2dPolyline, открывает это, и получает вершину iterator.
// Это тогда выполняет итерации через вершину, распечатывая местоположение вершины.
void
iterate(AcDbObjectId plineId)
{
AcDb2dPolyline *pPline;
acdbOpenObject(pPline, plineId, AcDb::kForRead);
AcDbObjectIterator *pVertIter= pPline->vertexIterator();
pPline->close(); // Finished with the pline header.
AcDb2dVertex *pVertex;
AcGePoint3d location;
AcDbObjectId vertexObjId;
for (int vertexNumber = 0; !pVertIter->done();
vertexNumber++, pVertIter->step())
{
vertexObjId = pVertIter->objectId();
acdbOpenObject(pVertex, vertexObjId,
AcDb::kForRead);
location = pVertex->position();
pVertex->close();
acutPrintf("\nVertex #%d’s location is"
" : %0.3f, %0.3f, %0.3f", vertexNumber,
location[X], location[Y], location[Z]);
}
delete pVertIter;
}