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:
@@ -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());
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -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);
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user