UNPKG

@polygonjs/polygonjs

Version:

node-based WebGL 3D engine https://polygonjs.com

48 lines (47 loc) 1.21 kB
"use strict"; export function traverseFaces(oc, shape, callback) { let index = 0; const explorer = new oc.TopExp_Explorer_2( shape, oc.TopAbs_ShapeEnum.TopAbs_FACE, oc.TopAbs_ShapeEnum.TopAbs_SHAPE ); while (explorer.More()) { const explorerCurrent = explorer.Current(); const face = oc.TopoDS.Face_1(explorerCurrent); callback(face, index); index += 1; explorer.Next(); } explorer.delete(); } export function traverseEdges(oc, shape, callback) { let index = 0; const explorer = new oc.TopExp_Explorer_2( shape, oc.TopAbs_ShapeEnum.TopAbs_EDGE, oc.TopAbs_ShapeEnum.TopAbs_SHAPE ); while (explorer.More()) { const edge = oc.TopoDS.Edge_1(explorer.Current()); callback(edge, index); index += 1; explorer.Next(); } explorer.delete(); } export function traverseVertices(oc, shape, callback) { let index = 0; const explorer = new oc.TopExp_Explorer_2( shape, oc.TopAbs_ShapeEnum.TopAbs_VERTEX, oc.TopAbs_ShapeEnum.TopAbs_SHAPE ); while (explorer.More()) { const vertex = oc.TopoDS.Vertex_1(explorer.Current()); callback(vertex, index); index += 1; explorer.Next(); } explorer.delete(); }