MCPcopy Create free account
hub / github.com/MeshInspector/MeshLib / splitQuad

Function splitQuad

source/MRMesh/MRMeshFillHole.cpp:1201–1216  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

1199}
1200
1201void splitQuad( MeshTopology & topology, EdgeId a, FaceBitSet * outNewFaces )
1202{
1203 assert( topology.isLeftQuad( a ) );
1204 assert( topology.left( a ) );
1205 auto d = topology.makeEdge();
1206 topology.splice( topology.prev( a.sym() ), d );
1207 topology.splice( topology.next( a ).sym(), d.sym() );
1208 assert( topology.isLeftTri( d ) );
1209 assert( topology.isLeftTri( d.sym() ) );
1210 assert( topology.left( d ) );
1211 assert( !topology.left( d.sym() ) );
1212 auto f = topology.addFaceId();
1213 topology.setLeft( d.sym(), f );
1214 if ( outNewFaces )
1215 outNewFaces->autoResizeSet( f );
1216}
1217
1218MakeBridgeResult makeBridge( MeshTopology & topology, EdgeId a, EdgeId b, FaceBitSet * outNewFaces )
1219{

Callers 2

makeBridgeFunction · 0.85
makeSmoothBridgeFunction · 0.85

Calls 11

isLeftQuadMethod · 0.80
leftMethod · 0.80
isLeftTriMethod · 0.80
addFaceIdMethod · 0.80
setLeftMethod · 0.80
makeEdgeMethod · 0.45
spliceMethod · 0.45
prevMethod · 0.45
symMethod · 0.45
nextMethod · 0.45
autoResizeSetMethod · 0.45

Tested by

no test coverage detected