Apply visibility to edges and
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
Ориентация вершины в списке лица оболочки указывает видимую сторону лица. Например, если вершина определена как, по часовой стрелке и вершина для данного лица перечислена в по часовой стрелке порядке, то то лицо видимо. В этом случае, лица с вершиной в против часовой стрелки порядке невидимы.
Содержание Назад Вперед