diff --git a/src/GeometryTest/FILES b/src/GeometryTest/FILES index 9af1016db9..10d07372cc 100755 --- a/src/GeometryTest/FILES +++ b/src/GeometryTest/FILES @@ -1,6 +1,5 @@ GeometryTest.cxx GeometryTest.hxx -GeometryTest_API2dCommands.cxx GeometryTest_APICommands.cxx GeometryTest_ConstraintCommands.cxx GeometryTest_ContinuityCommands.cxx diff --git a/src/GeometryTest/GeometryTest.cxx b/src/GeometryTest/GeometryTest.cxx index 556a671a03..17d9a1d975 100644 --- a/src/GeometryTest/GeometryTest.cxx +++ b/src/GeometryTest/GeometryTest.cxx @@ -14,9 +14,6 @@ // Alternatively, this file may be used under the terms of Open CASCADE // commercial license or contractual agreement. -// modified by mps (dec 96) ajout de ContinuityCommands -// jpi 09/06/97 utilisation des commandes de GeomliteTest - #include #include #include @@ -34,10 +31,6 @@ void GeometryTest::AllCommands(Draw_Interpretor& theCommands) GeometryTest::FairCurveCommands(theCommands); GeometryTest::SurfaceCommands(theCommands); GeometryTest::ConstraintCommands(theCommands); - -// See bug #0030366 -// GeometryTest::API2dCommands(theCommands); - GeometryTest::APICommands(theCommands); GeometryTest::ContinuityCommands(theCommands); GeometryTest::TestProjCommands(theCommands); diff --git a/src/GeometryTest/GeometryTest.hxx b/src/GeometryTest/GeometryTest.hxx index 6f0fa28095..0645a4a96c 100644 --- a/src/GeometryTest/GeometryTest.hxx +++ b/src/GeometryTest/GeometryTest.hxx @@ -50,15 +50,8 @@ public: //! defines cosntrained curves commands. Standard_EXPORT static void ConstraintCommands (Draw_Interpretor& I); - - //! defines commands to test the Geom2dAPI - //! - Intersection - //! - Extrema - //! - Projection - //! - Approximation, interpolation - Standard_EXPORT static void API2dCommands (Draw_Interpretor& I); - - //! defines commands to test the Geom2dAPI + + //! defines commands to test the GeomAPI //! - Intersection //! - Extrema //! - Projection @@ -76,27 +69,6 @@ public: //! defines commands to test projection of geometric objects Standard_EXPORT static void TestProjCommands (Draw_Interpretor& I); - - - -protected: - - - - - -private: - - - - - }; - - - - - - #endif // _GeometryTest_HeaderFile diff --git a/src/GeometryTest/GeometryTest_API2dCommands.cxx b/src/GeometryTest/GeometryTest_API2dCommands.cxx deleted file mode 100644 index 45fd7d72ad..0000000000 --- a/src/GeometryTest/GeometryTest_API2dCommands.cxx +++ /dev/null @@ -1,287 +0,0 @@ -// Created on: 1995-01-11 -// Created by: Remi LEQUETTE -// Copyright (c) 1995-1999 Matra Datavision -// Copyright (c) 1999-2014 OPEN CASCADE SAS -// -// 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 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 -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include - -#include -#ifdef _WIN32 -Standard_IMPORT Draw_Viewer dout; -#endif - -//======================================================================= -//function : proj -//purpose : -//======================================================================= - -static Standard_Integer proj (Draw_Interpretor& di, Standard_Integer n, const char** a) -{ - if ( n < 4) return 1; - - gp_Pnt2d P(Draw::Atof(a[2]),Draw::Atof(a[3])); - - char name[100]; - - Handle(Geom2d_Curve) GC = DrawTrSurf::GetCurve2d(a[1]); - - if (GC.IsNull()) - return 1; - - Geom2dAPI_ProjectPointOnCurve proj(P,GC,GC->FirstParameter(), - GC->LastParameter()); - - for ( Standard_Integer i = 1; i <= proj.NbPoints(); i++) { - gp_Pnt2d P1 = proj.Point(i); - Handle(Geom2d_Line) L = new Geom2d_Line(P,gp_Vec2d(P,P1)); - Handle(Geom2d_TrimmedCurve) CT = - new Geom2d_TrimmedCurve(L, 0., P.Distance(P1)); - Sprintf(name,"%s%d","ext_",i); - char* temp = name; // portage WNT - DrawTrSurf::Set(temp, CT); - di << name << " "; - } - - return 0; -} - -//======================================================================= -//function : appro -//purpose : -//======================================================================= - -static Standard_Integer appro(Draw_Interpretor& di, Standard_Integer n, const char** a) -{ - // Approximation et interpolation 2d - - // 2dappro - // - affiche la tolerance - // 2dappro tol - // - change la tolerance - // 2dappro result nbpoint - // - saisie interactive - // 2dappro result nbpoint curve - // - calcule des points sur la courbe - // 2dappro result nbpoint x1 y1 x2 y2 .. - // - tableau de points - // 2dappro result nbpoint x1 dx y1 y2 .. - // - tableau de points (x1,y1) (x1+dx,y2) ... avec x = t - - - static Standard_Real Tol2d = 1.e-6; - - if (n < 3) { - if (n == 2) - Tol2d = Draw::Atof(a[1]); - - di << "Tolerance for 2d approx : "<< Tol2d << "\n"; - return 0; - } - - - Standard_Integer i, Nb = Draw::Atoi(a[2]); - - Standard_Boolean hasPoints = Standard_True; - TColgp_Array1OfPnt2d Points(1, Nb); - TColStd_Array1OfReal YValues(1,Nb); - Standard_Real X0=0,DX=0; - - Handle(Draw_Marker2D) mark; - - if (n == 3) { - // saisie interactive - Standard_Integer id,XX,YY,b; - dout.Select(id,XX,YY,b); - Standard_Real zoom = dout.Zoom(id); - - Points(1) = gp_Pnt2d( ((Standard_Real)XX)/zoom, - ((Standard_Real)YY)/zoom ); - - mark = new Draw_Marker2D( Points(1), Draw_X, Draw_vert); - - dout << mark; - - for (Standard_Integer j = 2; j<=Nb; j++) { - dout.Select(id,XX,YY,b); - Points(j) = gp_Pnt2d( ((Standard_Real)XX)/zoom, - ((Standard_Real)YY)/zoom ); - mark = new Draw_Marker2D( Points(j), Draw_X, Draw_vert); - dout << mark; - } - } - else { - if ( n == 4) { - // points sur courbe - Handle(Geom2d_Curve) GC = DrawTrSurf::GetCurve2d(a[3]); - if ( GC.IsNull()) - return 1; - - Standard_Real U, U1, U2; - U1 = GC->FirstParameter(); - U2 = GC->LastParameter(); - Standard_Real Delta = ( U2 - U1) / (Nb-1); - for ( i = 1 ; i <= Nb; i++) { - U = U1 + (i-1) * Delta; - Points(i) = GC->Value(U); - } - } - - else { - // test points ou ordonnees - hasPoints = Standard_False; - Standard_Integer nc = n - 3; - if (nc == 2 * Nb) { - // points - nc = 3; - for (i = 1; i <= Nb; i++) { - Points(i).SetCoord(Draw::Atof(a[nc]),Draw::Atof(a[nc+1])); - nc += 2; - } - } - else if (nc - 2 == Nb) { - // YValues - nc = 5; - X0 = Draw::Atof(a[3]); - DX = Draw::Atof(a[4]); - for (i = 1; i <= Nb; i++) { - YValues(i) = Draw::Atof(a[nc]); - Points(i).SetCoord(X0+(i-1)*DX,YValues(i)); - nc++; - } - } - else - return 1; - } - // display the points - for ( i = 1 ; i <= Nb; i++) { - mark = new Draw_Marker2D( Points(i), Draw_X, Draw_vert); - dout << mark; - } - } - dout.Flush(); - Standard_Integer Dmin = 3; - Standard_Integer Dmax = 8; - - Handle(Geom2d_BSplineCurve) TheCurve; - if (hasPoints) - TheCurve = Geom2dAPI_PointsToBSpline(Points,Dmin,Dmax,GeomAbs_C2,Tol2d); - else - TheCurve = Geom2dAPI_PointsToBSpline(YValues,X0,DX,Dmin,Dmax,GeomAbs_C2,Tol2d); - - DrawTrSurf::Set(a[1], TheCurve); - di << a[1]; - - return 0; - -} - -//======================================================================= -//function : intersect -//purpose : -//======================================================================= - -static Standard_Integer intersect(Draw_Interpretor& /*di*/, Standard_Integer n, const char** a) -{ - if( n < 2) - return 1; - - Handle(Geom2d_Curve) C1 = DrawTrSurf::GetCurve2d(a[1]); - if ( C1.IsNull()) - return 1; - - Standard_Real Tol = 0.001; - Geom2dAPI_InterCurveCurve Intersector; - - Handle(Geom2d_Curve) C2; - if ( n == 3) { - C2 = DrawTrSurf::GetCurve2d(a[2]); - if ( C2.IsNull()) - return 1; - Intersector.Init(C1,C2,Tol); - } - else { - Intersector.Init(C1, Tol); - } - - Standard_Integer i; - - for ( i = 1; i <= Intersector.NbPoints(); i++) { - gp_Pnt2d P = Intersector.Point(i); - Handle(Draw_Marker2D) mark = new Draw_Marker2D( P, Draw_X, Draw_vert); - dout << mark; - } - dout.Flush(); - - Handle(Geom2d_Curve) S1,S2; - Handle(DrawTrSurf_Curve2d) CD; - if ( n == 3) { - for ( i = 1; i <= Intersector.NbSegments(); i++) { - Intersector.Segment(i,S1,S2); - CD = new DrawTrSurf_Curve2d(S1, Draw_bleu, 30); - dout << CD; - CD = new DrawTrSurf_Curve2d(S2, Draw_violet, 30); - dout << CD; - } - } - dout.Flush(); - - return 0; -} - - -void GeometryTest::API2dCommands(Draw_Interpretor& theCommands) -{ - static Standard_Boolean done = Standard_False; - if (done) return; - - const char *g; - - done = Standard_True; - g = "GEOMETRY curves and surfaces analysis"; - - theCommands.Add("2dproj", "proj curve x y",__FILE__, proj,g); - - g = "GEOMETRY approximations"; - - theCommands.Add("2dapprox", "2dapprox result nbpoint [curve] [[x] y [x] y...]",__FILE__, - appro,g); - theCommands.Add("2dinterpole", "2dinterpole result nbpoint [curve] [[x] y [x] y ...]",__FILE__, - appro,g); - - g = "GEOMETRY curves and surfaces analysis"; - - g = "GEOMETRY intersections"; - - theCommands.Add("2dintersect", "intersect curve curve",__FILE__, - intersect,g); -}