0031642: Visualization - crash in Graphic3d_Structure::SetVisual() on redisplaying...
[occt.git] / src / BiTgte / BiTgte_CurveOnVertex.cxx
index 0e287a2..2bdf0a2 100644 (file)
@@ -5,8 +5,8 @@
 //
 // This file is part of Open CASCADE Technology software library.
 //
-// This library is free software; you can redistribute it and / or modify it
-// under the terms of the GNU Lesser General Public version 2.1 as published
+// This library is free software; you can redistribute it and/or modify it under
+// the terms of the GNU Lesser General Public License version 2.1 as published
 // by the Free Software Foundation, with special exception defined in the file
 // OCCT_LGPL_EXCEPTION.txt. Consult the file LICENSE_LGPL_21.txt included in OCCT
 // distribution for complete text of the license and disclaimer of any warranty.
 // Alternatively, this file may be used under the terms of Open CASCADE
 // commercial license or contractual agreement.
 
-#include <BiTgte_CurveOnVertex.ixx>
 
+#include <Adaptor3d_HCurve.hxx>
+#include <BiTgte_CurveOnVertex.hxx>
 #include <BiTgte_HCurveOnVertex.hxx>
 #include <BRep_Tool.hxx>
+#include <Geom_BezierCurve.hxx>
+#include <Geom_BSplineCurve.hxx>
+#include <gp_Circ.hxx>
+#include <gp_Elips.hxx>
+#include <gp_Hypr.hxx>
+#include <gp_Lin.hxx>
+#include <gp_Parab.hxx>
+#include <gp_Pnt.hxx>
+#include <gp_Vec.hxx>
+#include <Standard_DomainError.hxx>
+#include <Standard_NoSuchObject.hxx>
 #include <Standard_NotImplemented.hxx>
-
+#include <Standard_OutOfRange.hxx>
+#include <TopoDS_Edge.hxx>
+#include <TopoDS_Vertex.hxx>
 
 //=======================================================================
 //function : BiTgte_CurveOnVertex
 //purpose  : 
 //======================================================================
-
 BiTgte_CurveOnVertex::BiTgte_CurveOnVertex()
+: myFirst(0.0), myLast(0.0)
 {
 }
 
@@ -36,10 +50,11 @@ BiTgte_CurveOnVertex::BiTgte_CurveOnVertex()
 //purpose  : 
 //=======================================================================
 
-BiTgte_CurveOnVertex::BiTgte_CurveOnVertex(const TopoDS_Edge&   EonF,
-                                          const TopoDS_Vertex& V    )
+BiTgte_CurveOnVertex::BiTgte_CurveOnVertex(const TopoDS_Edge&   theEonF,
+                                           const TopoDS_Vertex& theVertex)
+: myFirst(0.0), myLast(0.0)
 {
-  Init(EonF,V);
+  Init(theEonF, theVertex);
 }
 
 
@@ -49,7 +64,7 @@ BiTgte_CurveOnVertex::BiTgte_CurveOnVertex(const TopoDS_Edge&   EonF,
 //=======================================================================
 
 void BiTgte_CurveOnVertex::Init(const TopoDS_Edge&   EonF,
-                               const TopoDS_Vertex& V   )
+                                const TopoDS_Vertex& V)
 {
   BRep_Tool::Range(EonF,myFirst,myLast);
   myPnt = BRep_Tool::Pnt(V);
@@ -85,8 +100,7 @@ Standard_Real BiTgte_CurveOnVertex::LastParameter() const
 
 GeomAbs_Shape BiTgte_CurveOnVertex::Continuity() const
 {
-  Standard_NotImplemented::Raise("BiTgte_CurveOnVertex");
-  return GeomAbs_C0;
+  throw Standard_NotImplemented("BiTgte_CurveOnVertex");
 }
 
 
@@ -97,8 +111,7 @@ GeomAbs_Shape BiTgte_CurveOnVertex::Continuity() const
 
 Standard_Integer BiTgte_CurveOnVertex::NbIntervals(const GeomAbs_Shape) const
 {
-  Standard_NotImplemented::Raise("BiTgte_CurveOnVertex");
-  return 0;
+  throw Standard_NotImplemented("BiTgte_CurveOnVertex");
 }
 
 
@@ -110,7 +123,7 @@ Standard_Integer BiTgte_CurveOnVertex::NbIntervals(const GeomAbs_Shape) const
 void BiTgte_CurveOnVertex::Intervals(TColStd_Array1OfReal&,
                                      const GeomAbs_Shape) const
 {
-  Standard_NotImplemented::Raise("BiTgte_CurveOnVertex");
+  throw Standard_NotImplemented("BiTgte_CurveOnVertex");
 }
 
 
@@ -124,9 +137,7 @@ Handle(Adaptor3d_HCurve) BiTgte_CurveOnVertex::Trim(const Standard_Real,
                                                     const Standard_Real) 
 const
 {
-  Standard_NotImplemented::Raise("BiTgte_CurveOnVertex");
-  Handle(BiTgte_HCurveOnVertex) HC;
-  return HC;
+  throw Standard_NotImplemented("BiTgte_CurveOnVertex");
 }
 
 
@@ -137,8 +148,7 @@ const
 
 Standard_Boolean BiTgte_CurveOnVertex::IsClosed() const
 {
-  Standard_NotImplemented::Raise("BiTgte_CurveOnVertex");
-  return Standard_False;
+  throw Standard_NotImplemented("BiTgte_CurveOnVertex");
 }
 
 
@@ -149,8 +159,7 @@ Standard_Boolean BiTgte_CurveOnVertex::IsClosed() const
 
 Standard_Boolean BiTgte_CurveOnVertex::IsPeriodic() const
 {
-  Standard_NotImplemented::Raise("BiTgte_CurveOnVertex");
-  return Standard_False;
+  throw Standard_NotImplemented("BiTgte_CurveOnVertex");
 }
 
 
@@ -161,8 +170,7 @@ Standard_Boolean BiTgte_CurveOnVertex::IsPeriodic() const
 
 Standard_Real BiTgte_CurveOnVertex::Period() const
 {
-  Standard_NotImplemented::Raise("BiTgte_CurveOnVertex");
-  return 0.;
+  throw Standard_NotImplemented("BiTgte_CurveOnVertex");
 }
 
 
@@ -195,7 +203,7 @@ void BiTgte_CurveOnVertex::D0(const Standard_Real /*U*/,gp_Pnt& P) const
 
 void BiTgte_CurveOnVertex::D1(const Standard_Real ,gp_Pnt& ,gp_Vec&) const
 {
-  Standard_NotImplemented::Raise("BiTgte_CurveOnVertex");
+  throw Standard_NotImplemented("BiTgte_CurveOnVertex");
 }
 
 
@@ -207,7 +215,7 @@ void BiTgte_CurveOnVertex::D1(const Standard_Real ,gp_Pnt& ,gp_Vec&) const
 void BiTgte_CurveOnVertex::D2(const Standard_Real,gp_Pnt&,
                               gp_Vec& ,gp_Vec& ) const
 {
-  Standard_NotImplemented::Raise("BiTgte_CurveOnVertex");
+  throw Standard_NotImplemented("BiTgte_CurveOnVertex");
 }
 
 
@@ -222,7 +230,7 @@ void BiTgte_CurveOnVertex::D3(const Standard_Real,
                               gp_Vec& ,
                               gp_Vec& ) const
 {
-  Standard_NotImplemented::Raise("BiTgte_CurveOnVertex");
+  throw Standard_NotImplemented("BiTgte_CurveOnVertex");
 }
 
 
@@ -234,8 +242,7 @@ void BiTgte_CurveOnVertex::D3(const Standard_Real,
 gp_Vec BiTgte_CurveOnVertex::DN(const Standard_Real,
                                 const Standard_Integer) const
 {
-  Standard_NotImplemented::Raise("BiTgte_CurveOnVertex");
-  return gp_Vec();
+  throw Standard_NotImplemented("BiTgte_CurveOnVertex");
 }
 
 
@@ -246,8 +253,7 @@ gp_Vec BiTgte_CurveOnVertex::DN(const Standard_Real,
 
 Standard_Real BiTgte_CurveOnVertex::Resolution(const Standard_Real) const
 {
-  Standard_NotImplemented::Raise("BiTgte_CurveOnVertex");
-  return 0.;
+  throw Standard_NotImplemented("BiTgte_CurveOnVertex");
 }
 
 
@@ -269,8 +275,7 @@ GeomAbs_CurveType BiTgte_CurveOnVertex::GetType() const
 
 gp_Lin BiTgte_CurveOnVertex::Line() const
 {
-  Standard_NotImplemented::Raise("BiTgte_CurveOnVertex");
-  return gp_Lin();
+  throw Standard_NotImplemented("BiTgte_CurveOnVertex");
 }
 
 
@@ -281,8 +286,7 @@ gp_Lin BiTgte_CurveOnVertex::Line() const
 
 gp_Circ BiTgte_CurveOnVertex::Circle() const
 {
-  Standard_NoSuchObject::Raise("BiTgte_CurveOnVertex::Circle");
-  return gp_Circ();
+  throw Standard_NoSuchObject("BiTgte_CurveOnVertex::Circle");
 }
 
 
@@ -293,8 +297,7 @@ gp_Circ BiTgte_CurveOnVertex::Circle() const
 
 gp_Elips BiTgte_CurveOnVertex::Ellipse() const
 {
-  Standard_NotImplemented::Raise("BiTgte_CurveOnVertex");
-  return gp_Elips();
+  throw Standard_NotImplemented("BiTgte_CurveOnVertex");
 }
 
 
@@ -305,8 +308,7 @@ gp_Elips BiTgte_CurveOnVertex::Ellipse() const
 
 gp_Hypr BiTgte_CurveOnVertex::Hyperbola() const
 {
-  Standard_NotImplemented::Raise("BiTgte_CurveOnVertex");
-  return gp_Hypr();
+  throw Standard_NotImplemented("BiTgte_CurveOnVertex");
 }
 
 
@@ -317,8 +319,7 @@ gp_Hypr BiTgte_CurveOnVertex::Hyperbola() const
 
 gp_Parab BiTgte_CurveOnVertex::Parabola() const
 {
-  Standard_NotImplemented::Raise("BiTgte_CurveOnVertex");
-  return gp_Parab();
+  throw Standard_NotImplemented("BiTgte_CurveOnVertex");
 }
 
 
@@ -329,8 +330,7 @@ gp_Parab BiTgte_CurveOnVertex::Parabola() const
 
 Standard_Integer BiTgte_CurveOnVertex::Degree() const
 {
-  Standard_NotImplemented::Raise("BiTgte_CurveOnVertex");
-  return 0;
+  throw Standard_NotImplemented("BiTgte_CurveOnVertex");
 }
 
 
@@ -341,8 +341,7 @@ Standard_Integer BiTgte_CurveOnVertex::Degree() const
 
 Standard_Boolean BiTgte_CurveOnVertex::IsRational() const
 {
-  Standard_NotImplemented::Raise("BiTgte_CurveOnVertex");
-  return Standard_False;
+  throw Standard_NotImplemented("BiTgte_CurveOnVertex");
 }
 
 
@@ -353,8 +352,7 @@ Standard_Boolean BiTgte_CurveOnVertex::IsRational() const
 
 Standard_Integer BiTgte_CurveOnVertex::NbPoles() const
 {
-  Standard_NotImplemented::Raise("BiTgte_CurveOnVertex");
-  return 0;
+  throw Standard_NotImplemented("BiTgte_CurveOnVertex");
 }
 
 
@@ -365,8 +363,7 @@ Standard_Integer BiTgte_CurveOnVertex::NbPoles() const
 
 Standard_Integer BiTgte_CurveOnVertex::NbKnots() const
 {
-  Standard_NotImplemented::Raise("BiTgte_CurveOnVertex");
-  return 0;
+  throw Standard_NotImplemented("BiTgte_CurveOnVertex");
 }
 
 
@@ -377,9 +374,7 @@ Standard_Integer BiTgte_CurveOnVertex::NbKnots() const
 
 Handle(Geom_BezierCurve) BiTgte_CurveOnVertex::Bezier() const
 {
-  Standard_NotImplemented::Raise("BiTgte_CurveOnVertex");
-  Handle(Geom_BezierCurve) B;
-  return B;
+  throw Standard_NotImplemented("BiTgte_CurveOnVertex");
 }
 
 
@@ -390,9 +385,7 @@ Handle(Geom_BezierCurve) BiTgte_CurveOnVertex::Bezier() const
 
 Handle(Geom_BSplineCurve) BiTgte_CurveOnVertex::BSpline() const
 {
-  Standard_NotImplemented::Raise("BiTgte_CurveOnVertex");
-  Handle(Geom_BSplineCurve) B;
-  return B;
+  throw Standard_NotImplemented("BiTgte_CurveOnVertex");
 }