// modify normals
if (theTriangulation->HasNormals())
{
- for (Standard_Integer anInd = 1; anInd <= theTriangulation->NbTriangles(); ++anInd)
+ for (Standard_Integer anInd = 1; anInd <= theTriangulation->NbNodes(); ++anInd)
{
gp_Dir aNormal = theTriangulation->Normal(anInd);
- aNormal.Transform(aGTrsf.Trsf());
+ gp_Mat aMat = aGTrsf.VectorialPart();
+ aMat.SetDiagonal(1., 1., 1.);
+ gp_Trsf aTrsf;
+ aTrsf.SetForm(gp_Rotation);
+ (gp_Mat&)aTrsf.HVectorialPart() = aMat;
+ aNormal.Transform(aTrsf);
theTriangulation->SetNormal(anInd, aNormal);
}
}