for ( ; anIter.More(); anIter.Next() )
{
Standard_Boolean IsValidData = Standard_False;
- if (anIsElement)
- IsValidData = aMesh->GetDataSource()->GetNormal(anIter.Key(), 3, aCoords.ChangeValue(1), aCoords.ChangeValue(2), aCoords.ChangeValue(3));
- else
+ if (anIsElement) {
+ aMesh->GetDataSource()->GetGeomType(anIter.Key(), anIsElement, aEntType);
+ if (aEntType == MeshVS_ET_Face)
+ IsValidData = aMesh->GetDataSource()->GetNormal(anIter.Key(), 3, aCoords.ChangeValue(1), aCoords.ChangeValue(2), aCoords.ChangeValue(3));
+ } else
IsValidData = aMesh->GetDataSource()->GetGeom(anIter.Key(), Standard_False, aCoords, aNbNodes, aEntType);
gp_Vec aNorm;
--- /dev/null
+puts "============"
+puts "CR27905"
+puts "============"
+puts ""
+##########################################################################################################
+# Visualization - randomly directed arrows on test v3d mesh B7
+##########################################################################################################
+
+pload XSDRAW
+
+vinit
+vclear
+
+mesh3delem m
+vsetdispmode m 5
+
+meshvectors m -mode elem -maxlen 10 -color green -arrowpart 0.5 -issipmle 0
+vdump ${imagedir}/${test_image}_1.png
+
+meshvectors m -mode elem -maxlen 10 -color green -arrowpart 0.5 -issipmle 0
+vdump ${imagedir}/${test_image}_2.png
+
+meshvectors m -mode elem -maxlen 10 -color green -arrowpart 0.5 -issipmle 0
+vdump ${imagedir}/${test_image}_3.png