24 #ifndef __ODGISECTIONGEOMETRYOUTPUT_H__
25 #define __ODGISECTIONGEOMETRYOUTPUT_H__
60 kOutputClosedPrimitives = 1,
61 kOutputOpenedPrimitives = 2,
62 kClosedPrimitivesAsPolylines = 4,
63 kToleranceOverrideEnabled = 8
149 m_overrideFlags = nFlags;
156 return m_overrideFlags;
227 setupTraits(getInterface().conveyorContext());
228 getInterface().destinationGeometry().polylineProc(numPoints, vertexList, pNormal, pExtrusion, baseSubEntMarker);
229 releaseTraits(getInterface().conveyorContext());
240 setupTraits(getInterface().conveyorContext());
241 if (!isOutputOfClosedSectionsAsPolylinesEnabled())
242 getInterface().destinationGeometry().shellProc(numVertices, vertexList, faceListSize, faceList, pEdgeData, pFaceData, pVertexData);
244 shellProcAsPolylineProc(numVertices, vertexList, faceListSize, faceList, pEdgeData, pFaceData, pVertexData);
245 releaseTraits(getInterface().conveyorContext());
251 OdInt32 nFace = 0, nFaceList = 0;
253 const bool bExtrusion =
OdNonZero(getInterface().conveyorContext().subEntityTraits().thickness());
254 while (nFaceList < faceListSize)
258 if (pNormal && bExtrusion)
259 extrusion = *pNormal * getInterface().conveyorContext().subEntityTraits().thickness();
260 m_tmpPoints.
resize(numVerts + 1);
262 for (
OdInt32 nVert = 0; nVert < numVerts; nVert++)
263 tmpPoints[nVert] = vertexList[faceList[nFaceList++]];
264 tmpPoints[numVerts] = tmpPoints[0];
265 getInterface().destinationGeometry().polylineProc(numVerts + 1, tmpPoints, pNormal, (pNormal && bExtrusion) ? &
extrusion :
NULL);
278 #endif //#ifndef __ODGISECTIONGEOMETRYOUTPUT_H__