1
0
mirror of https://git.dev.opencascade.org/repos/occt.git synced 2025-04-26 10:19:45 +03:00
tiv 0423218095 0030895: Coding Rules - specify std namespace explicitly for std::cout and streams
"endl" manipulator for Message_Messenger is renamed to "Message_EndLine".

The following entities from std namespace are now used
with std:: explicitly specified (from Standard_Stream.hxx):
std::istream,std::ostream,std::ofstream,std::ifstream,std::fstream,
std::filebuf,std::streambuf,std::streampos,std::ios,std::cout,std::cerr,
std::cin,std::endl,std::ends,std::flush,std::setw,std::setprecision,
std::hex,std::dec.
2019-08-16 12:16:38 +03:00

97 lines
2.4 KiB
C++
Executable File

#include "stdafx.h"
#include "Fonc.hxx"
//=======================================================================
//function : grid2surf
//purpose : grid2surf S FileName
// cf jm-oliva@paris3.matra-dtv.fr ( Merci JMO )
//=======================================================================
Standard_Boolean grid2surf(CString ShapeName, Handle(Geom_BSplineSurface)& S)
{
CString aFileName = ShapeName;
aFileName.Replace(L'\\', L'/');
Handle(TColStd_HArray2OfReal) H;
Standard_Real xmin, ymin, Dx, Dy;
H = ReadRegularGrid (aFileName, xmin, ymin, Dx, Dy);
GeomAPI_PointsToBSplineSurface MkSurf;
MkSurf.Interpolate(H->Array2(), xmin, Dx, ymin, Dy);
S = MkSurf.Surface();
return Standard_True;
}
//=======================================================================
//function : ReadRegularGrid
//purpose :
// cf jm-oliva@paris3.matra-dtv.fr ( Merci JMO )
//=======================================================================
Handle(TColStd_HArray2OfReal) ReadRegularGrid(CString FileName,
Standard_Real& xmin,
Standard_Real& ymin,
Standard_Real& Deltax,
Standard_Real& Deltay)
{
CString aFileName = FileName;
aFileName.Replace (L'\\', L'/');
Handle(TColStd_HArray2OfReal) H;
Standard_Integer R1 = 1, R2, C1 = 1, C2, R, C;
Standard_Real x, y, z;
xmin = ymin = 10000000;
FILE *fp = NULL;
_wfopen_s (&fp, aFileName, L"r");
if (fp)
{
fscanf_s(fp, "%d %d", &R2, &C2);
std::cout << "Reading Grid : ( " << R2 << " , " << C2 << " )." << std::endl;
H = new TColStd_HArray2OfReal(C1, C2, R1, R2);
Standard_Real FirstX = 0.0;
Standard_Real FirstY = 0.0;
for(R = R1; R <= R2; R++)
{
for(C = C1; C <= C2; C++)
{
fscanf_s(fp, "%lf %lf %lf ", &x, &y, &z);
if(R == 1 && C == 1)
{
FirstX=x;
FirstY=y;
}
// First step for X
if(R == 1 && C == 2)
Deltax = x - FirstX;
// First step for Y
if(R == 2 && C == 1)
Deltay = y - FirstY;
// H->SetValue(R, C, z);
H->SetValue(C, R, z);
if(x < xmin) xmin = x;
if(y < ymin) ymin = y;
}
}
std::cout << "Deltax = " << Deltax << std::endl;
std::cout << "Deltay = " << Deltay << std::endl;
fclose(fp);
}
else
{
std::cout << "cannot open file : " << FileName << std::endl;
}
return H;
}