ObjectARX, AutoCAD. Среда программирования библиотеки C++

       

Выполнение итераций через Вершину в Ломаной линии


Следующее выполнение итераций показов примера через вершину в ломаной линии, использующей вершину 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;

}



Содержание раздела