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



         

Оболочка (Shell) - часть 3


pEdgeColorArray[3] = kCyan;

pEdgeColorArray[4] = kBlue;

pEdgeColorArray[5] = kMagenta;

edgeData.setColors(pEdgeColorArray);

// Apply visibility to edges and make the common edge

// between two faces have silhouette visibility during

// the HIDE command with AutoCAD variable DISPSILH = 1.

//

Adesk::UInt8 *pEdgeVisArray

= new Adesk::UInt8[numEdges];

edgeData.setVisibility(pEdgeVisArray);

pEdgeVisArray[0] = kAcGiVisible;

pEdgeVisArray[1] = kAcGiVisible;

pEdgeVisArray[2] = kAcGiSilhouette;

pEdgeVisArray[3] = kAcGiSilhouette;

pEdgeVisArray[4] = kAcGiVisible;

pEdgeVisArray[5] = kAcGiVisible;

// Apply colors to faces.

//

AcGiFaceData faceData;

int numFaces = 2;

short *pFaceColorArray = new short[numFaces];

pFaceColorArray[0] = kBlue;

pFaceColorArray[1] = kRed;

faceData.setColors(pFaceColorArray);

pW->geometry().shell(numVerts, pVerts, faceListSize,

pFaceList, &edgeData, &faceData);

delete [] pVerts;

delete [] pFaceList;

delete [] pEdgeColorArray;

delete [] pFaceColorArray;

return Adesk::kTrue;

}

Объект AcGiVertexData содержит единственный флажок, который определяет, как вершина в оболочке упорядочивается. Этот флажок установлен и делается запрос со следующими функциями:

virtual void

AcGiVertexData::setOrientationFlag(AcGiOrientationType oflag);

virtual AcGiOrientationType

AcGiVertexData::orientationFlag() const;

Этот флажок не используется для сетей, потому что упорядочение вершины, определяющей сеть установлено. Значения для флажка

§         kAcGiClockwise

§         kAcGiCounterClockwise

§         kAcGiNoOrientation

Ориентация вершины в списке лица оболочки указывает видимую сторону лица. Например, если вершина определена как, по часовой стрелке и вершина для данного лица перечислена в по часовой стрелке порядке, то то лицо видимо. В этом случае, лица с вершиной в против часовой стрелки порядке невидимы.




Содержание  Назад  Вперед