0029292: Coding Rules - remove Graphic3d_Vector duplicating gp_XYZ
[occt.git] / src / V3d / V3d.hxx
index 04a2249..0d22795 100644 (file)
@@ -35,9 +35,40 @@ public:
 
   DEFINE_STANDARD_ALLOC
 
-  //! Determines the orientation vector corresponding
-  //! to the predefined orientation type.
-  Standard_EXPORT static Graphic3d_Vector GetProjAxis (const V3d_TypeOfOrientation Orientation);
+  //! Determines the orientation vector corresponding to the predefined orientation type.
+  static gp_Dir GetProjAxis (const V3d_TypeOfOrientation theOrientation)
+  {
+    switch (theOrientation)
+    {
+      case V3d_Xpos:         return  gp::DX();
+      case V3d_Ypos:         return  gp::DY();
+      case V3d_Zpos:         return  gp::DZ();
+      case V3d_Xneg:         return -gp::DX();
+      case V3d_Yneg:         return -gp::DY();
+      case V3d_Zneg:         return -gp::DZ();
+      case V3d_XposYposZpos: return gp_Dir ( 1,  1,  1);
+      case V3d_XposYposZneg: return gp_Dir ( 1,  1, -1);
+      case V3d_XposYnegZpos: return gp_Dir ( 1, -1,  1);
+      case V3d_XposYnegZneg: return gp_Dir ( 1, -1, -1);
+      case V3d_XnegYposZpos: return gp_Dir (-1,  1,  1);
+      case V3d_XnegYposZneg: return gp_Dir (-1,  1, -1);
+      case V3d_XnegYnegZpos: return gp_Dir (-1, -1,  1);
+      case V3d_XnegYnegZneg: return gp_Dir (-1, -1, -1);
+      case V3d_XposYpos:     return gp_Dir ( 1,  1,  0);
+      case V3d_XposYneg:     return gp_Dir ( 1, -1,  0);
+      case V3d_XnegYpos:     return gp_Dir (-1,  1,  0);
+      case V3d_XnegYneg:     return gp_Dir (-1, -1,  0);
+      case V3d_XposZpos:     return gp_Dir ( 1,  0,  1);
+      case V3d_XposZneg:     return gp_Dir ( 1,  0, -1);
+      case V3d_XnegZpos:     return gp_Dir (-1,  0,  1);
+      case V3d_XnegZneg:     return gp_Dir (-1,  0, -1);
+      case V3d_YposZpos:     return gp_Dir ( 0,  1,  1);
+      case V3d_YposZneg:     return gp_Dir ( 0,  1, -1);
+      case V3d_YnegZpos:     return gp_Dir ( 0, -1,  1);
+      case V3d_YnegZneg:     return gp_Dir ( 0, -1, -1);
+    }
+    return gp_Dir (0, 0, 0);
+  }
 
   //! Compute the graphic structure of arrow.
   //! X0,Y0,Z0 : coordinate of the arrow.