private void GetInfoCylindre() { if (Surface.IsCylinder()) { Double[] Param = Surface.CylinderParams; Origine = new gPoint(Param[0], Param[1], Param[2]); Direction = new gVecteur(Param[3], Param[4], Param[5]); Rayon = Param[6]; var UV = (Double[])SwFace.GetUVBounds(); Boolean Reverse = SwFace.FaceInSurfaceSense(); var ev1 = (Double[])Surface.Evaluate((UV[0] + UV[1]) * 0.5, (UV[2] + UV[3]) * 0.5, 0, 0); if (Reverse) { ev1[3] = -ev1[3]; ev1[4] = -ev1[4]; ev1[5] = -ev1[5]; } Normale = new gVecteur(ev1[3], ev1[4], ev1[5]); } }