Test case for issue CR24989
if (myIsXYZAxis){
// calcul de myPFirst,myPlast
Handle(Prs3d_DatumAspect) DA = myDrawer->DatumAspect();
if (myIsXYZAxis){
// calcul de myPFirst,myPlast
Handle(Prs3d_DatumAspect) DA = myDrawer->DatumAspect();
- gp_Pnt Orig = myAx2->Ax2().Location();
- gp_Dir oX = myAx2->Ax2().XDirection();
- gp_Dir oY = myAx2->Ax2().YDirection();
- gp_Dir oZ = myAx2->Ax2().Direction();
+ gp_Ax2 anAxis = myAx2->Ax2();
+ const gp_Pnt& Orig = anAxis.Location();
+ const gp_Dir& oX = anAxis.XDirection();
+ const gp_Dir& oY = anAxis.YDirection();
+ const gp_Dir& oZ = anAxis.Direction();
Quantity_Length xo,yo,zo,x = 0.,y = 0.,z = 0.;
Orig.Coord(xo,yo,zo);
myPfirst.SetCoord(xo,yo,zo);
Quantity_Length xo,yo,zo,x = 0.,y = 0.,z = 0.;
Orig.Coord(xo,yo,zo);
myPfirst.SetCoord(xo,yo,zo);
--- /dev/null
+puts "============"
+puts "OCC24989"
+puts "============"
+puts ""
+#######################################################################
+# Visualization - workaround vc12 32-bit compiler optimizer bug resulted in crash in AIS_Axis
+#######################################################################
+
+vinit
+vtrihedron vtr
+set only_screen 1