Remove Poly_TriangulationParameters and API related to Poly_Triangulation in order to keep binary compatibility of dynamic libraries.
#include <IMeshData_PCurve.hxx>
#include <OSD_Parallel.hxx>
#include <BRepLib.hxx>
-#include <Poly_TriangulationParameters.hxx>
IMPLEMENT_STANDARD_RTTIEXT(BRepMesh_ModelPostProcessor, IMeshTools_ModelAlgo)
{
public:
//! Constructor
- DeflectionEstimator (const Handle(IMeshData_Model)& theModel,
- const IMeshTools_Parameters& theParams)
- : myModel (theModel)
- , myParams (new Poly_TriangulationParameters (
- theParams.Deflection, theParams.Angle, theParams.MinSize))
+ DeflectionEstimator (const Handle(IMeshData_Model)& theModel)
+ : myModel(theModel)
{
}
}
BRepLib::UpdateDeflection (aDFace->GetFace());
-
- TopLoc_Location aLoc;
- const Handle(Poly_Triangulation)& aTriangulation =
- BRep_Tool::Triangulation (aDFace->GetFace(), aLoc);
-
- if (!aTriangulation.IsNull())
- {
- aTriangulation->Deflection(myParams->Deflection());
- }
}
private:
- Handle(IMeshData_Model) myModel;
- Handle(Poly_TriangulationParameters) myParams;
+ Handle(IMeshData_Model) myModel;
};
}
// Estimate deflection here due to BRepLib::EstimateDeflection requires
// existence of both Poly_Triangulation and Poly_PolygonOnTriangulation.
- OSD_Parallel::For (0, theModel->FacesNb(), DeflectionEstimator (theModel, theParameters), !theParameters.InParallel);
+ OSD_Parallel::For (0, theModel->FacesNb(), DeflectionEstimator (theModel), !theParameters.InParallel);
return Standard_True;
}
Poly_Triangle.cxx
Poly_Triangle.hxx
Poly_Triangle.lxx
-Poly_TriangulationParameters.hxx
-Poly_TriangulationParameters.cxx
Poly_Triangulation.cxx
Poly_Triangulation.hxx
class Poly_Triangulation;
-class Poly_TriangulationParameters;
-
DEFINE_STANDARD_HANDLE(Poly_Triangulation, Standard_Transient)
//! Provides a triangulation for a surface, a set of surfaces, or
//! Deallocates the UV nodes.
Standard_EXPORT void RemoveUVNodes();
- //! Returns initial set of parameters used to generate this triangulation.
- //const Handle(Poly_TriangulationParameters)& Parameters() const { return myParams; }
-
- //! Updates initial set of parameters used to generate this triangulation.
- //void Parameters (const Handle(Poly_TriangulationParameters)& theParams) { myParams = theParams; }
-
//! Returns the number of nodes for this triangulation.
Standard_Integer NbNodes() const { return myNodes.Length(); }
Poly_Array1OfTriangle myTriangles;
Handle(TShort_HArray1OfShortReal) myNormals;
- //Handle(Poly_TriangulationParameters) myParams;
};
#endif // _Poly_Triangulation_HeaderFile
+++ /dev/null
-// Created on: 2021-07-20
-// Copyright (c) 2021 OPEN CASCADE SAS
-// Created by: Oleg AGASHIN
-//
-// 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 <Poly_TriangulationParameters.hxx>
-
-IMPLEMENT_STANDARD_RTTIEXT (Poly_TriangulationParameters, Standard_Transient)
+++ /dev/null
-// Created on: 2021-07-20
-// Copyright (c) 2021 OPEN CASCADE SAS
-// Created by: Oleg AGASHIN
-//
-// 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.
-
-#ifndef _Poly_TriangulationParameters_HeaderFile
-#define _Poly_TriangulationParameters_HeaderFile
-
-#include <Standard_Transient.hxx>
-#include <Standard_DefineHandle.hxx>
-
-//! Represents initial set of parameters triangulation is built for.
-class Poly_TriangulationParameters : public Standard_Transient
-{
-public:
-
- //! Constructor.
- //! Initializes object with the given parameters.
- //! @param theDeflection linear deflection
- //! @param theAngle angular deflection
- //! @param theMinSize minimum size
- Poly_TriangulationParameters (const Standard_Real theDeflection = -1.,
- const Standard_Real theAngle = -1.,
- const Standard_Real theMinSize = -1.)
- : myDeflection (theDeflection)
- , myAngle (theAngle)
- , myMinSize (theMinSize)
- {
- }
-
- //! Destructor.
- virtual ~Poly_TriangulationParameters()
- {
- }
-
- //! Returns true if linear deflection is defined.
- Standard_Boolean HasDeflection() const
- {
- return !(myDeflection < 0.);
- }
-
- //! Returns true if angular deflection is defined.
- Standard_Boolean HasAngle() const
- {
- return !(myAngle < 0.);
- }
-
- //! Returns true if minimum size is defined.
- Standard_Boolean HasMinSize() const
- {
- return !(myMinSize < 0.);
- }
-
- //! Returns linear deflection or -1 if undefined.
- Standard_Real Deflection() const
- {
- return myDeflection;
- }
-
- //! Returns angular deflection or -1 if undefined.
- Standard_Real Angle() const
- {
- return myAngle;
- }
-
- //! Returns minimum size or -1 if undefined.
- Standard_Real MinSize() const
- {
- return myMinSize;
- }
-
- DEFINE_STANDARD_RTTIEXT (Poly_TriangulationParameters, Standard_Transient)
-
-private:
-
- Standard_Real myDeflection;
- Standard_Real myAngle;
- Standard_Real myMinSize;
-};
-
-DEFINE_STANDARD_HANDLE (Poly_TriangulationParameters, Standard_Transient)
-
-#endif
vsetdispmode result 1
vfit
-checktrinfo result -tri 5656 -nod 4088
+checktrinfo result -tri 2711 -nod 2611
checkview -display result -2d -path ${imagedir}/${test_image}.png
psphere a 100 -45 45 180
puts ""
puts "incmesh first time"
-set t1 [expr [lindex [time {incmesh a 0.003}] 0]/1000000]
+set t1 [expr [lindex [time {incmesh a 0.003 -a 1}] 0]/1000000]
puts "spent $t1 sec"
puts ""
puts "incmesh second time"
-set t2 [expr [lindex [time {incmesh a 0.003}] 0]/1000000]
+set t2 [expr [lindex [time {incmesh a 0.003 -a 1}] 0]/1000000]
puts "spent $t2 sec"
if {$t2 != 0} {puts "Error: second time must be quicker"}
psphere a 100
puts ""
puts "incmesh first time"
-set t3 [expr [lindex [time {incmesh a 0.015}] 0]/1000000]
+set t3 [expr [lindex [time {incmesh a 0.015 -a 1}] 0]/1000000]
puts "spent $t3 sec"
puts ""
puts "incmesh second time"
-set t4 [expr [lindex [time {incmesh a 0.015}] 0]/1000000]
+set t4 [expr [lindex [time {incmesh a 0.015 -a 1}] 0]/1000000]
puts "spent $t4 sec"
if {$t4 != 0} {puts "Error: second time must be quicker"}
puts ""
triangles result
vfit
-checktrinfo result -tri !5496 -nod !5406
-checkview -screenshot -3d -path ${imagedir}/${test_image}.png
+checktrinfo result -tri 10924 -nod 7869
+checkview -screenshot -2d -path ${imagedir}/${test_image}_axo.png