1 // Created on: 1992-04-29
2 // Created by: Remi LEQUETTE
3 // Copyright (c) 1992-1999 Matra Datavision
4 // Copyright (c) 1999-2012 OPEN CASCADE SAS
6 // The content of this file is subject to the Open CASCADE Technology Public
7 // License Version 6.5 (the "License"). You may not use the content of this file
8 // except in compliance with the License. Please obtain a copy of the License
9 // at http://www.opencascade.org and read it completely before using this file.
11 // The Initial Developer of the Original Code is Open CASCADE S.A.S., having its
12 // main offices at: 1, place des Freres Montgolfier, 78280 Guyancourt, France.
14 // The Original Code and all software distributed under the License is
15 // distributed on an "AS IS" basis, without warranty of any kind, and the
16 // Initial Developer hereby disclaims all such warranties, including without
17 // limitation, any warranties of merchantability, fitness for a particular
18 // purpose or non-infringement. Please see the License for the specific terms
19 // and conditions governing the rights and limitations under the License.
22 #include <Draw_Axis3D.ixx>
26 extern Standard_Boolean Draw_Bounds;
29 //=======================================================================
30 //function : Draw_Axis3D
32 //=======================================================================
34 Draw_Axis3D::Draw_Axis3D (const Draw_Color& col,
35 const Standard_Integer Size) :
36 myAxes(gp::XOY()),myColor(col), mySize(Size)
40 //=======================================================================
41 //function : Draw_Axis3D
43 //=======================================================================
45 Draw_Axis3D::Draw_Axis3D (const gp_Pnt& p,
46 const Draw_Color& col,
47 const Standard_Integer Size) :
48 myAxes(p,gp::DZ(),gp::DX()), myColor(col), mySize(Size)
52 //=======================================================================
53 //function : Draw_Axis3D
55 //=======================================================================
57 Draw_Axis3D::Draw_Axis3D (const gp_Ax3& a,
58 const Draw_Color& col,
59 const Standard_Integer Size) :
60 myAxes(a), myColor(col), mySize(Size)
64 //=======================================================================
67 //=======================================================================
69 void Draw_Axis3D::DrawOn (Draw_Display& dis) const
71 Draw_Bounds = Standard_False;
72 dis.SetColor(myColor);
73 Standard_Real z = dis.Zoom();
74 z = (Standard_Real)mySize / z;
75 gp_Pnt P,P0 = myAxes.Location();
76 P = P0.Translated(gp_Vec(myAxes.XDirection()) * z);
78 dis.DrawString(P,"X");
79 P = P0.Translated(gp_Vec(myAxes.YDirection()) * z);
81 dis.DrawString(P,"Y");
82 P = P0.Translated(gp_Vec(myAxes.Direction()) * z);
84 dis.DrawString(P,"Z");
85 Draw_Bounds = Standard_True;