0031687: Draw Harness, ViewerTest - extend command vrenderparams with option updating...
[occt.git] / src / Geom2d / Geom2d_Curve.cxx
1 // Created on: 1993-03-24
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 <Geom2d_Curve.hxx>
19 #include <Geom2d_UndefinedDerivative.hxx>
20 #include <Geom2d_UndefinedValue.hxx>
21 #include <gp_Pnt2d.hxx>
22 #include <gp_Trsf2d.hxx>
23 #include <gp_Vec2d.hxx>
24 #include <Standard_NoSuchObject.hxx>
25 #include <Standard_RangeError.hxx>
26 #include <Standard_Type.hxx>
27
28 IMPLEMENT_STANDARD_RTTIEXT(Geom2d_Curve,Geom2d_Geometry)
29
30 typedef Geom2d_Curve         Curve;
31
32
33 //=======================================================================
34 //function : Reversed
35 //purpose  : 
36 //=======================================================================
37
38 Handle(Geom2d_Curve) Geom2d_Curve::Reversed () const
39 {
40   Handle(Geom2d_Curve) C = Handle(Geom2d_Curve)::DownCast(Copy());
41   C->Reverse();
42   return C;
43 }
44
45 //=======================================================================
46 //function : TransformedParameter
47 //purpose  : 
48 //=======================================================================
49
50 Standard_Real Geom2d_Curve::TransformedParameter(const Standard_Real U,
51                                                  const gp_Trsf2d& ) const
52 {
53   return U;
54 }
55
56 //=======================================================================
57 //function : ParametricTransformation
58 //purpose  : 
59 //=======================================================================
60
61 Standard_Real Geom2d_Curve::ParametricTransformation(const gp_Trsf2d& ) const
62 {
63   return 1.;
64 }
65
66 //=======================================================================
67 //function : Period
68 //purpose  : 
69 //=======================================================================
70
71 Standard_Real Geom2d_Curve::Period() const
72 {
73   Standard_NoSuchObject_Raise_if
74     ( !IsPeriodic(),"Geom2d_Curve::Period");
75
76   return ( LastParameter() - FirstParameter());
77 }
78
79
80 //=======================================================================
81 //function : Value
82 //purpose  : 
83 //=======================================================================
84
85 gp_Pnt2d  Geom2d_Curve::Value(const Standard_Real U)const 
86 {
87   gp_Pnt2d P;
88   D0(U,P);
89   return P;
90 }
91
92 //=======================================================================
93 //function : DumpJson
94 //purpose  : 
95 //=======================================================================
96 void Geom2d_Curve::DumpJson (Standard_OStream& theOStream, Standard_Integer theDepth) const
97 {
98   OCCT_DUMP_TRANSIENT_CLASS_BEGIN (theOStream)
99
100   OCCT_DUMP_BASE_CLASS (theOStream, theDepth, Geom2d_Geometry)
101 }