-// File: GeomliteTest_ApproxCommands
-// Created: Thu Aug 12 19:33:52 1993
-// Author: Bruno DUMORTIER
-// <dub@topsn3>
+// Created on: 1993-08-12
+// Created by: Bruno DUMORTIER
+// Copyright (c) 1993-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.
// PMN : Ajout de la commande smooth
// PMN : 11/07/97 Passage a GeomliteTest de bsmooth.
#include <Draw.hxx>
#include <Draw_Appli.hxx>
#include <Draw_Interpretor.hxx>
-#include <Precision.hxx>
#include <Draw_Marker3D.hxx>
#include <Draw_Marker2D.hxx>
-#include <TColgp_HArray1OfPnt.hxx>
#include <TColgp_SequenceOfPnt.hxx>
#include <Geom_BSplineCurve.hxx>
#include <Geom_BezierCurve.hxx>
-#include <TColgp_HArray1OfPnt2d.hxx>
#include <TColgp_SequenceOfPnt2d.hxx>
#include <Geom2d_BSplineCurve.hxx>
#include <TColgp_HArray1OfPnt.hxx>
#include <TColgp_Array1OfPnt.hxx>
#include <TColgp_Array1OfPnt2d.hxx>
-#include <TColgp_HArray1OfVec.hxx>
-#include <TColgp_Array1OfVec.hxx>
-#include <TColStd_Array1OfReal.hxx>
-#include <TColStd_HArray1OfReal.hxx>
-#include <TColStd_HArray1OfBoolean.hxx>
-#include <Handle_TColStd_HArray1OfReal.hxx>
-#include <Handle_TColStd_HArray1OfBoolean.hxx>
-
-#include <AppParCurves_MultiBSpCurve.hxx>
-#include <AppParCurves_MultiCurve.hxx>
-#include <AppDef_MultiLine.hxx>
-#include <AppDef_TheVariational.hxx>
+
+#include <AppDef_Variational.hxx>
#include <AppDef_Compute.hxx>
#include <AppParCurves_HArray1OfConstraintCouple.hxx>
#include <AppParCurves_ConstraintCouple.hxx>
#include <AppDef_HArray1OfMultiPointConstraint.hxx>
#include <AppDef_Array1OfMultiPointConstraint.hxx>
-#include <math_Vector.hxx>
-#ifdef WNT
-#include <stdio.h>
+#ifdef _WIN32
Standard_IMPORT Draw_Viewer dout;
#endif
N = 3;
break;
}
-#ifndef DEB
default:
break;
-#endif
}
switch (C2) {
N += 3;
break;
}
-#ifndef DEB
default:
break;
-#endif
}
return N;
}
{
Standard_Integer id,XX,YY,b, i;
- di << "Pick points "<< "\n";
+ di << "Pick points \n";
dout.Select(id, XX, YY, b);
Standard_Real zoom = dout.Zoom(id);
if (b != 1) return 0;
AppDef_MultiPointConstraint mpc(1,0);
MPC->ChangeArray1().Init(mpc);
for (i=1; i<=ThePoints.Length(); i++) {
- AppDef_MultiPointConstraint mpc(1,0);
- mpc.SetPoint(1, ThePoints.Value(i));
- MPC->SetValue(i, mpc);
+ AppDef_MultiPointConstraint aLocalMpc(1,0);
+ aLocalMpc.SetPoint(1, ThePoints.Value(i));
+ MPC->SetValue(i, aLocalMpc);
}
}
//=======================================================================
static void PointsByFile(Handle(AppDef_HArray1OfMultiPointConstraint)& MPC,
Handle(AppParCurves_HArray1OfConstraintCouple)& TABofCC,
- ifstream& iFile,
+ std::ifstream& iFile,
Draw_Interpretor& di)
{
Standard_Integer nbp, i, nbc;
for(i=1; i<=nbc; i++) {
iFile >> num >> ordre;
if ((num<1)||(num>nbp)) {
- di << "Error on point Index in constrainte" << "\n";
+ di << "Error on point Index in constrainte\n";
return;
}
Constraint = (AppParCurves_Constraint) (ordre+1);
for(i=1; i<=nbc; i++) {
iFile >> num >> ordre;
if ((num<1)||(num>nbp)) {
- di << "Error on point Index in constrainte" << "\n";
+ di << "Error on point Index in constrainte\n";
return;
}
Constraint = (AppParCurves_Constraint) (ordre+1);
//
{
Standard_Real Tolerance=0;
-#ifdef DEB
- AppParCurves_Constraint Constraint;
-#else
+
AppParCurves_Constraint Constraint=AppParCurves_NoConstraint;
-#endif
+
Handle(AppParCurves_HArray1OfConstraintCouple)TABofCC;
TABofCC.Nullify();
Handle(AppDef_HArray1OfMultiPointConstraint) Points;
Standard_Integer id = 0, DegMax = -1;
if (n == 1) {
- di <<"give a name to your curve !" << "\n";
+ di <<"give a name to your curve !\n";
return 0;
}
if (n == 2) {
- di <<"give a tolerance to your curve !" << "\n";
+ di <<"give a tolerance to your curve !\n";
return 0;
}
if (n == 3) {
- Tolerance = atof(a[2]);
+ Tolerance = Draw::Atof(a[2]);
if (Abs(Tolerance) < Precision::Confusion()*1.e-7) {
Constraint = AppParCurves_PassPoint;
}
}
else if (n >= 4) {
Standard_Integer ific = 3;
- Tolerance = atof(a[2]);
+ Tolerance = Draw::Atof(a[2]);
if (Abs(Tolerance) < Precision::Confusion()*1.e-7) {
Constraint = AppParCurves_PassPoint;
}
}
if (! strcmp(a[3],"-D")) {
- DegMax = atoi(a[4]);
+ DegMax = Draw::Atoi(a[4]);
ific = 5;
}
// lecture du fichier.
// nbpoints, 2d ou 3d, puis valeurs.
const char* nomfic = a[ific];
- ifstream iFile(nomfic, ios::in);
+ std::ifstream iFile(nomfic, std::ios::in);
if (!iFile) {
- di << a[ific] <<"do not exist !" << "\n";
+ di << a[ific] <<"do not exist !\n";
return 1;
}
PointsByFile(Points, TABofCC, iFile, di);
}
}
- AppDef_TheVariational Variation(AML,
+ AppDef_Variational Variation(AML,
1, NbPoints,
TABofCC);
if (Tolerance>0) { Variation.SetWithMinMax(Standard_True);}
Variation.Approximate();
-# ifdef DEB
- //Variation.Dump(cout);
+# ifdef GEOMLITETEST_DEB
+ //Variation.Dump(std::cout);
Standard_SStream aSStream;
Variation.Dump(aSStream);
di << aSStream;
}
}
- AppDef_TheVariational Variation(AML,
+ AppDef_Variational Variation(AML,
1, NbPoints,
TABofCC);
Variation.SetTolerance( Abs(Tolerance));
if (Tolerance>0) { Variation.SetWithMinMax(Standard_True);}
Variation.Approximate();
-# ifdef DEB
- //Variation.Dump(cout);
+# ifdef GEOMLITETEST_DEB
+ //Variation.Dump(std::cout);
Standard_SStream aSStream;
Variation.Dump(aSStream);
di << aSStream;
//============================================================================
{
Standard_Real Tolerance=0;
-#ifdef DEB
- AppParCurves_Constraint Constraint;
-#else
- AppParCurves_Constraint Constraint=AppParCurves_NoConstraint;
-#endif
+ AppParCurves_Constraint Constraint = AppParCurves_NoConstraint;
Handle(AppParCurves_HArray1OfConstraintCouple)TABofCC;
Handle(AppDef_HArray1OfMultiPointConstraint) Points;
Standard_Integer Degree = 8;
if (n == 1) {
- di <<"give a name to your curve !" << "\n";
+ di <<"give a name to your curve !\n";
return 0;
}
if (n == 2) {
- di <<"give a tolerance to your curve !" << "\n";
+ di <<"give a tolerance to your curve !\n";
return 0;
}
if (n == 3) {
- di <<"give a max degree!" << "\n";
+ di <<"give a max degree!\n";
return 0;
}
if (n == 4) {
- di <<"give an option!" << "\n";
+ di <<"give an option!\n";
return 0;
}
if (n >= 5) {
- Tolerance = atof(a[2]);
- Degree = atoi(a[3]);
+ Tolerance = Draw::Atof(a[2]);
+ Degree = Draw::Atoi(a[3]);
if (! strcmp(a[4],"-GR")) {
methode = 1;
}
// lecture du fichier.
// nbpoints, 2d ou 3d, puis valeurs.
const char* nomfic = a[5];
- ifstream iFile(nomfic, ios::in);
+ std::ifstream iFile(nomfic, std::ios::in);
if (!iFile) {
- di << a[6] <<"do not exist !" << "\n";
+ di << a[6] <<"do not exist !\n";
return 1;
}
PointsByFile(Points, TABofCC, iFile, di);
Standard_Boolean mySquare = (methode == 2);
Standard_Integer degmin = 4;
Standard_Integer NbIteration = 5;
-#ifdef DEB
- Standard_Integer NbConst =
-#endif
- NbConstraint(TABofCC->Value(1).Constraint(),
- TABofCC->Value(NbPoints).Constraint());
if (Degree < 4) degmin = Max(1, Degree -1);
degmin = Max(degmin, NbConstraint(TABofCC->Value(1).Constraint(),
Appr.Perform (AML);
if (! Appr.IsAllApproximated()) {
- di << " No result" << "\n";
+ di << " No result\n";
}
AppParCurves_MultiCurve AnMuC = Appr.Value();
ThePoints = new (TColgp_HArray1OfPnt2d) (1, AnMuC.NbPoles() );
di <<" Error2D is : " << err2d << "\n";
}
else {
- AppDef_TheVariational Varia(AML,
+ AppDef_Variational Varia(AML,
1, NbPoints,
TABofCC,
Degree, 1);
Varia.Approximate();
if (! Varia.IsDone()) {
- di << " No result" << "\n";
+ di << " No result\n";
}
AppParCurves_MultiBSpCurve AnMuC = Varia.Value();
Appr.Perform (AML);
if (! Appr.IsAllApproximated()) {
- di << " No result" << "\n";
+ di << " No result\n";
}
AppParCurves_MultiCurve AnMuC = Appr.Value();
ThePoints = new (TColgp_HArray1OfPnt) (1, AnMuC.NbPoles() );
di <<" Error3D is : " << err << "\n";
}
else {
- AppDef_TheVariational Varia(AML,
+ AppDef_Variational Varia(AML,
1, NbPoints,
TABofCC,
Degree, 1);
Varia.SetTolerance(Abs(Tolerance));
Varia.Approximate();
if (! Varia.IsDone()) {
- di << " No result" << "\n";
+ di << " No result\n";
}
AppParCurves_MultiBSpCurve AnMuC = Varia.Value();