Test for 0022778: Bug in BRepMesh
[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-2012 OPEN CASCADE SAS
5 //
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.
10 //
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.
13 //
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.
20
21
22 #include <GC_MakeRotation.ixx>
23 #include <GC_MakeRotation.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
31 GC_MakeRotation::GC_MakeRotation(const gp_Lin&  Line  ,
32                                    const Standard_Real     Angle ) {
33   TheRotation = new Geom_Transformation();
34   TheRotation->SetRotation(gp_Ax1(Line.Location(),Line.Direction()),Angle);
35 }
36
37 //=========================================================================
38 //   Creation d une rotation 3d de gp d angle Angle par rapport a un      +
39 //   axe Axis.                                                            +
40 //=========================================================================
41
42 GC_MakeRotation::GC_MakeRotation(const gp_Ax1&  Axis  ,
43                                    const Standard_Real     Angle ) {
44   TheRotation = new Geom_Transformation();
45   TheRotation->SetRotation(Axis,Angle);
46 }
47
48 //=========================================================================
49 //   Creation d une rotation 3d de gp d angle Angle par rapport a une     +
50 //   droite issue du point Point et de direction Direc.                   +
51 //=========================================================================
52
53 GC_MakeRotation::GC_MakeRotation(const gp_Pnt&  Point ,
54                                    const gp_Dir&  Direc ,
55                                    const Standard_Real     Angle ) {
56   TheRotation = new Geom_Transformation();
57   TheRotation->SetRotation(gp_Ax1(Point,Direc),Angle);
58 }
59
60 const Handle(Geom_Transformation)& GC_MakeRotation::Value() const
61
62   return TheRotation;
63 }
64
65 const Handle(Geom_Transformation)& GC_MakeRotation::Operator() const 
66 {
67   return TheRotation;
68 }
69
70 GC_MakeRotation::operator Handle(Geom_Transformation) () const
71 {
72   return TheRotation;
73 }
74
75
76
77