fix: Correct face generation and resolve tool preview glitches

Co-authored-by: aider (gemini/gemini-2.5-pro) <aider@aider.chat>
This commit is contained in:
2026-02-18 12:04:05 -07:00
parent fa6e4662a6
commit 41639882db
2 changed files with 2 additions and 1 deletions

View File

@@ -112,7 +112,7 @@ void SketchFeature::buildShape()
TopoDS_Edge edge = makeEdge.Edge(); TopoDS_Edge edge = makeEdge.Edge();
BRepBuilderAPI_MakeWire wireBuilder(edge); BRepBuilderAPI_MakeWire wireBuilder(edge);
if(wireBuilder.IsDone()) { if(wireBuilder.IsDone()) {
BRepBuilderAPI_MakeFace faceBuilder(wireBuilder.Wire()); BRepBuilderAPI_MakeFace faceBuilder(sketchPlane, wireBuilder.Wire());
if (faceBuilder.IsDone()) { if (faceBuilder.IsDone()) {
faces.append(faceBuilder.Face()); faces.append(faceBuilder.Face());
} }

View File

@@ -732,6 +732,7 @@ void ViewportWidget::drawSketch(const SketchFeature* sketch)
glDrawArrays(GL_TRIANGLES, 0, faceData.size() / 6); glDrawArrays(GL_TRIANGLES, 0, faceData.size() / 6);
m_litShaderProgram->disableAttributeArray(1); m_litShaderProgram->disableAttributeArray(1);
m_shaderProgram->bind(); // rebind simple shader for subsequent draws m_shaderProgram->bind(); // rebind simple shader for subsequent draws
m_shaderProgram->setAttributeBuffer(0, GL_FLOAT, 0, 3, 0);
} }
glEnable(GL_CULL_FACE); glEnable(GL_CULL_FACE);
} }