+#else
+ if (aType == STANDARD_TYPE(AIS_Trihedron)) {
+ Handle(AIS_Trihedron) aTrihedron = Handle(AIS_Trihedron)::DownCast(aSelObj);
+ Handle(AIS_TrihedronOwner) aTrOwner = Handle(AIS_TrihedronOwner)::DownCast(theOwner);
+ if (!aTrOwner.IsNull())
+ {
+ const Prs3d_DatumParts& aPart = aTrOwner->DatumPart();
+ if (aPart >= Prs3d_DP_XAxis && aPart <= Prs3d_DP_ZAxis)
+ {
+ Handle(Prs3d_Drawer) aDrawer = aTrihedron->Attributes();
+ Handle(Prs3d_DatumAspect) aDatumAspect = aDrawer->DatumAspect();
+ Handle(Graphic3d_ArrayOfPrimitives) aPrimitives =
+ aDatumAspect->ArrayOfPrimitives(aPart);
+ Standard_Real aX1, anY1, aZ1, aX2, anY2, aZ2;
+ aPrimitives->Vertice(1, aX1, anY1, aZ1);
+ aPrimitives->Vertice(2, aX2, anY2, aZ2);
+ gp_Pnt aPnt1(aX1, anY1, aZ1);
+ gp_Pnt aPnt2(aX2, anY2, aZ2);
+ gp_Lin aLine(aPnt1, gp_Dir(gp_Vec(aPnt1, aPnt2)));
+ return aPlane.Contains(aLine, Precision::Confusion(), Precision::Angular());
+ }
+ }
+ }
+#endif