0030731: Modeling Data - B-Spline should have explicit data check error messages
[occt.git] / src / Geom / Geom_Conic.cxx
1 // Created on: 1993-03-10
2 // Created by: JCV
3 // Copyright (c) 1993-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 <Geom_Conic.hxx>
19 #include <gp_Ax1.hxx>
20 #include <gp_Ax2.hxx>
21 #include <gp_Pnt.hxx>
22 #include <Standard_ConstructionError.hxx>
23 #include <Standard_DomainError.hxx>
24 #include <Standard_RangeError.hxx>
25 #include <Standard_Type.hxx>
26
27 IMPLEMENT_STANDARD_RTTIEXT(Geom_Conic,Geom_Curve)
28
29 typedef Geom_Conic         Conic;
30 typedef gp_Ax1 Ax1;
31 typedef gp_Ax2 Ax2;
32 typedef gp_Pnt Pnt;
33 typedef gp_Vec Vec;
34
35
36
37 void  Geom_Conic::Reverse () {
38
39   gp_Dir Vz = pos.Direction ();
40   Vz.Reverse();
41   pos.SetDirection (Vz);
42 }
43
44 void Geom_Conic::SetAxis (const Ax1& A1) {  pos.SetAxis (A1); }
45
46 void Geom_Conic::SetLocation (const Pnt& O) { pos.SetLocation (O); }
47
48 void Geom_Conic::SetPosition (const Ax2& A2) { pos = A2; }
49
50 Ax1 Geom_Conic::Axis () const { return pos.Axis(); }
51
52 GeomAbs_Shape Geom_Conic::Continuity () const { return GeomAbs_CN; }
53
54 Pnt Geom_Conic::Location () const { return pos.Location(); }
55
56 const gp_Ax2& Geom_Conic::Position () const { return pos; }
57
58 Ax1 Geom_Conic::XAxis () const {return Ax1(pos.Location(), pos.XDirection());}
59
60 Ax1 Geom_Conic::YAxis () const {return Ax1(pos.Location(), pos.YDirection());}
61
62 Standard_Boolean Geom_Conic::IsCN (const Standard_Integer ) const { return Standard_True; }
63