V1.Subtract (MiddlePoint.XYZ ());
L1 = V1.Modulus ();
L2 = V2.Modulus ();
- Standard_Real angg = V1.CrossMagnitude(V2)/(L1*L2);
- if (L1 > LTol && L2 > LTol) ACoef = angg/AngleMax;
- else ACoef = 0.0;
+ if (L1 > LTol && L2 > LTol)
+ {
+ Standard_Real angg = V1.CrossMagnitude(V2) / (L1 * L2);
+ ACoef = angg / AngleMax;
+ }
+ else
+ ACoef = 0.0;
if (ACoef >= FCoef) Coef = ACoef; //On retient le plus penalisant
else Coef = FCoef;
--- /dev/null
+puts "============"
+puts "CR25179"
+puts "============"
+puts ""
+###################################################################################
+# BRepMesh cannot build a mesh on specific geometry
+###################################################################################
+
+restore [locate_data_file bug25179_nurbs-with-partial-seam.brep] result
+
+tclean result
+incmesh result 0.1
+
+set trinfo_s [trinfo result]
+regexp {([0-9]+) triangles} ${trinfo_s} str nbtri_s
+regexp {([0-9]+) nodes} ${trinfo_s} str nbnod_s
+regexp {deflection ([0-9.+e-]+)} ${trinfo_s} str defl_s
+
+if { ${nbtri_s} == 0 } {
+ puts "Error: shape contains 0 triangles"
+}
+
+if { ${nbnod_s} == 0 } {
+ puts "Error: shape contains 0 nodes"
+}
+
+if { ${defl_s} == 0 } {
+ puts "Error: deflection is 0"
+}
+
+if [catch { tricheck result } ] {
+ puts "Error : Problem of build a mesh on specific geometry"
+} else {
+ puts "OK : Building a mesh on specific geometry is good"
+}
+
+set 3dviewer 1