Сеть - эффективный способ сохранить parametrically прямоугольную сетку вершины. Геометрия для сети определена как число строк, число столбцов, и списка вершины, в порядке строки:
virtual Adesk::Boolean
AcGiWorldGeometry::mesh(
const Adesk::UInt32 rows,
const Adesk::UInt32 columns,
const AcGePoint3d* pVertexList,
const AcGiEdgeData* pEdgeData = NULL,
const AcGiFaceData* pFaceData = NULL,
const AcGiVertexData* pVertexData = NULL) const = 0;
Mesh() функция имеет три необязательных параметра для присоединяющихся данных свойства к граням, лицам, или вершине. Для граней в сети, Вы можете прикреплять цвет, уровень, linetype, GS маркер, и свойства видимости. Например, Вы могли использовать AcGiEdgeData:: setColors () чтобы прикрепить различный цвет к каждому краю сети. В цветном списке, сначала перечисляют цвета для всех граней строки, тогда цвета для всех граней столбца. Следующее рисунок показывает упорядочение данных свойства края для типовой сети:
Следующий типовой код создает сеть и назначает цвета, использующие данные края и данные лица. Это создает сеть " четыре четыре " с голубыми строками и зелеными столбцами.
Adesk::Boolean
AsdkMeshSamp::worldDraw(AcGiWorldDraw* pW)
{
Adesk::UInt32 i, j, k;
Adesk::UInt32 numRows = 4;
Adesk::UInt32 numCols = 4;
AcGePoint3d *pVerts =
new AcGePoint3d[numRows * numCols];
for (k = 0, i = 0; i < numRows; i++) {
for (j = 0; j < numCols; j++, k++) {
pVerts[k].x = (double)j;
pVerts[k].y = (double)i;
pVerts[k].z = 0.;
}
}
// Construct an array of colors to be applied to each
// edge of the mesh. In this example, the rows are cyan and
// the columns are green.
//
AcGiEdgeData edgeInfo;
Adesk::UInt32 numRowEdges = numRows * (numCols - 1);
Adesk::UInt32 numColEdges = (numRows - 1) * numCols;
Adesk::UInt32 numEdges = numRowEdges + numColEdges;
short *pEdgeColorArray = new short[numEdges];
for (i = 0; i < numEdges; i++) {
pEdgeColorArray[i] =
i < numRowEdges ? kCyan : kGreen;
}
edgeInfo.setColors(pEdgeColorArray);