0028838: Configuration - undefine macros coming from X11 headers in place of collision
[occt.git] / src / GC / GC_MakeRotation.cxx
1 // Created on: 1992-10-02
2 // Created by: Remi GILET
3 // Copyright (c) 1992-1999 Matra Datavision
4 // Copyright (c) 1999-2014 OPEN CASCADE SAS
5 //
6 // This file is part of Open CASCADE Technology software library.
7 //
8 // This library is free software; you can redistribute it and/or modify it under
9 // the terms of the GNU Lesser General Public License version 2.1 as published
10 // by the Free Software Foundation, with special exception defined in the file
11 // OCCT_LGPL_EXCEPTION.txt. Consult the file LICENSE_LGPL_21.txt included in OCCT
12 // distribution for complete text of the license and disclaimer of any warranty.
13 //
14 // Alternatively, this file may be used under the terms of Open CASCADE
15 // commercial license or contractual agreement.
16
17
18 #include <GC_MakeRotation.hxx>
19 #include <Geom_Transformation.hxx>
20 #include <gp_Ax1.hxx>
21 #include <gp_Dir.hxx>
22 #include <gp_Lin.hxx>
23 #include <gp_Pnt.hxx>
24 #include <StdFail_NotDone.hxx>
25
26 //=========================================================================
27 //   Creation d une rotation 3d de gp d angle Angle par rapport a une     +
28 //   droite Line.                                                         +
29 //=========================================================================
30 GC_MakeRotation::GC_MakeRotation(const gp_Lin&  Line  ,
31                                    const Standard_Real     Angle ) {
32   TheRotation = new Geom_Transformation();
33   TheRotation->SetRotation(gp_Ax1(Line.Location(),Line.Direction()),Angle);
34 }
35
36 //=========================================================================
37 //   Creation d une rotation 3d de gp d angle Angle par rapport a un      +
38 //   axe Axis.                                                            +
39 //=========================================================================
40
41 GC_MakeRotation::GC_MakeRotation(const gp_Ax1&  Axis  ,
42                                    const Standard_Real     Angle ) {
43   TheRotation = new Geom_Transformation();
44   TheRotation->SetRotation(Axis,Angle);
45 }
46
47 //=========================================================================
48 //   Creation d une rotation 3d de gp d angle Angle par rapport a une     +
49 //   droite issue du point Point et de direction Direc.                   +
50 //=========================================================================
51
52 GC_MakeRotation::GC_MakeRotation(const gp_Pnt&  Point ,
53                                    const gp_Dir&  Direc ,
54                                    const Standard_Real     Angle ) {
55   TheRotation = new Geom_Transformation();
56   TheRotation->SetRotation(gp_Ax1(Point,Direc),Angle);
57 }
58
59 const Handle(Geom_Transformation)& GC_MakeRotation::Value() const
60
61   return TheRotation;
62 }