-// Copyright (C) 2007-2022 CEA/DEN, EDF R&D, OPEN CASCADE
+// Copyright (C) 2007-2023 CEA, EDF, OPEN CASCADE
//
// Copyright (C) 2003-2007 OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN,
// CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS
#include <TopoDS.hxx>
#include <TopoDS_Compound.hxx>
+#include <Basics_OCCTVersion.hxx>
// Netgen include files
#ifndef OCCGEOMETRY
#define OCCGEOMETRY
_fineness = NETGENPlugin_Hypothesis::GetDefaultFineness();
mparams.uselocalh = NETGENPlugin_Hypothesis::GetDefaultSurfaceCurvature();
netgen::merge_solids = NETGENPlugin_Hypothesis::GetDefaultFuseEdges();
+ // Unused argument but set 0 to initialise it
+ mparams.elementorder = 0;
#ifdef NETGEN_V6
#endif
}
+
//=============================================================================
/*!
* Pass parameters to NETGEN
{
Standard_Integer n1,n2,n3;
triangulation->Triangles()(i).Get( n1,n2,n3 );
+#if OCC_VERSION_LARGE < 0x07060000
p [0] = triangulation->Nodes()(n1).Transformed(loc).XYZ();
p [1] = triangulation->Nodes()(n2).Transformed(loc).XYZ();
p [2] = triangulation->Nodes()(n3).Transformed(loc).XYZ();
uv[0] = triangulation->UVNodes()(n1).XY();
uv[1] = triangulation->UVNodes()(n2).XY();
uv[2] = triangulation->UVNodes()(n3).XY();
+#else
+ p[0] = triangulation->Node(n1).Transformed(loc).XYZ();
+ p[1] = triangulation->Node(n2).Transformed(loc).XYZ();
+ p[2] = triangulation->Node(n3).Transformed(loc).XYZ();
+ uv[0] = triangulation->UVNode(n1).XY();
+ uv[1] = triangulation->UVNode(n2).XY();
+ uv[2] = triangulation->UVNode(n3).XY();
+#endif
surfProp.SetParameters( uv[0].X(), uv[0].Y() );
if ( !surfProp.IsCurvatureDefined() )
break;
BRep_Tool::Triangulation ( TopoDS::Face( fExp.Current() ), loc);
if ( triangulation.IsNull() ) continue;
const double fTol = BRep_Tool::Tolerance( TopoDS::Face( fExp.Current() ));
- const TColgp_Array1OfPnt& points = triangulation->Nodes();
+#if OCC_VERSION_HEX < 0x070600
+ const TColgp_Array1OfPnt& points = triangulation->Nodes();
+#else
+ auto points = [&triangulation](Standard_Integer index) {
+ return triangulation->Node(index);
+ };
+#endif
+
const Poly_Array1OfTriangle& trias = triangulation->Triangles();
for ( int iT = trias.Lower(); iT <= trias.Upper(); ++iT )
{
if ( !ngMesh )
ngMesh = new netgen::Mesh;
+ // To dump mparam
+ // netgen::mparam.Print(std::cerr);
+
#ifdef NETGEN_V6
ngMesh->SetGeometry( shared_ptr<netgen::NetgenGeometry>( &occgeo, &NOOP_Deleter ));