MCPcopy Create free account
hub / github.com/OpenWebCAD/node-occ / makeEdgesIndexes

Function makeEdgesIndexes

lib/shape.js:49–91  ·  view source on GitHub ↗
(solid, jsonSolidMesh)

Source from the content-addressed store, hash-verified

47 occ.buildSolidMeshNew = function (solid) {
48
49 function makeEdgesIndexes(solid, jsonSolidMesh) {
50
51 // produce each edge
52 const mesh = solid.mesh;
53 let indexes = null;
54
55 solid.getEdges().forEach(edge => {
56 if (edge.isSeam) {
57 return;
58 }
59 try {
60 indexes = mesh.getEdgeIndices(edge);
61 }
62 catch(err) {
63
64 // fall back to complete edge
65 const polyline = edge.polygonize();
66 if (!polyline) {
67 debugLog("mesh# failed ! cannot extract edges indexes on solid", err, solid.hasMesh, solid.name, solid.getShapeName(edge));
68 debugLog(" mesh", mesh.numVertex);
69 debugLog(" edge", edge.polygonize());
70 export_debug_step(solid);
71 //xx process.exit(2);
72 }
73
74 const entry = {
75 name: solid.getShapeName(edge),
76 mesh: toBase64(polyline)
77 };
78 jsonSolidMesh.edges.push(entry);
79 return;
80 }
81 if (!indexes || indexes.length == 0) {
82 return ; // ignore empty edges
83 }
84
85 const entry = {
86 name: solid.getShapeName(edge),
87 indexes: toBase64(indexes),
88 };
89 jsonSolidMesh.edges.push(entry);
90 });
91 }
92
93 function toBase64_1(typedArray) {
94 return ( new Buffer(typedArray.buffer)).toString("base64");

Callers 1

shape.jsFile · 0.85

Calls 5

export_debug_stepFunction · 0.85
toBase64Function · 0.85
polygonizeMethod · 0.80
getShapeNameMethod · 0.80
debugLogFunction · 0.70

Tested by

no test coverage detected