1
0
mirror of https://git.dev.opencascade.org/repos/occt.git synced 2025-08-09 13:22:24 +03:00

0025276: Visualization - Lighting is broken if some kinds of transformation applied to a shape

In order to solve the problem, triangle vertices order is inverted in
mirrored mesh (triangulation). Mesh considered to be mirrored if its
transformation matrix determinant is less than 0.

To handle AIS object mirror transformations "Mirrored" flag stored in
OpenGl_Structure. If this flag is enabled, glFrontFace (GL_CW) applied
before the draw call.

New DRAW commands for visualization level transformations added.
This commit is contained in:
duv
2014-09-26 14:41:51 +04:00
committed by bugmaster
parent c60370656c
commit 7d9e854bdc
9 changed files with 402 additions and 77 deletions

View File

@@ -1616,7 +1616,7 @@ void Graphic3d_Structure::SetTransform (const TColStd_Array2OfReal& theMat
ReCompute();
}
GraphicTransform (aNewTrsf);
myCStructure->UpdateTransformation();
myStructureManager->SetTransform (this, aNewTrsf);
Update();