1
0
mirror of https://git.dev.opencascade.org/repos/occt.git synced 2025-08-04 13:13:25 +03:00

0026252: GeomAdaptor_Surface should use inner adaptor to calculate values of complex surfaces

* Implement GeomEvaluator package
* Inject evaluators to GeomAdaptor_Surface to calculate values of complex surfaces
* Inject evaluators to Geom_Surface classes to calculate values for offset surfaces, surfaces of revolution and surfaces of extrusion
* Move Adaptor3d_SurfaceOfLinearExtrusion and Adaptor3d_SurfaceOfRevolution to GeomAdaptor and unify calculation of their values and derivatives
* Code optimizations
* Update test cases

Update of test-cases according to the new behavior
This commit is contained in:
azv
2015-11-16 15:48:07 +03:00
committed by bugmaster
parent 6e4dfbecee
commit 6b84c3f7db
57 changed files with 2202 additions and 3279 deletions

View File

@@ -12,8 +12,8 @@
// commercial license or contractual agreement.
#include <Adaptor3d_SurfaceOfLinearExtrusion.hxx>
#include <Adaptor3d_SurfaceOfRevolution.hxx>
#include <GeomAdaptor_SurfaceOfLinearExtrusion.hxx>
#include <GeomAdaptor_SurfaceOfRevolution.hxx>
#include <BRep_Builder.hxx>
#include <BRep_GCurve.hxx>
#include <BRep_ListIteratorOfListOfCurveRepresentation.hxx>
@@ -112,7 +112,7 @@ Standard_Boolean ShapeCustom_SweptToElementary::NewSurface(const TopoDS_Face& F,
gp_Ax1 ax1 = SR->Axis();
Handle(GeomAdaptor_HCurve) HC = new GeomAdaptor_HCurve();
HC->ChangeCurve().Load(bc,bc->FirstParameter(),bc->LastParameter());
Adaptor3d_SurfaceOfRevolution AS(HC,ax1);
GeomAdaptor_SurfaceOfRevolution AS(HC,ax1);
switch(AS.GetType()){
// skl 18.12.2003 - plane not used, problems in PRO14665.igs
//case GeomAbs_Plane : {
@@ -150,7 +150,7 @@ Standard_Boolean ShapeCustom_SweptToElementary::NewSurface(const TopoDS_Face& F,
gp_Dir dir = SLE->Direction();
Handle(GeomAdaptor_HCurve) HC = new GeomAdaptor_HCurve();
HC->ChangeCurve().Load(bc,bc->FirstParameter(),bc->LastParameter());
Adaptor3d_SurfaceOfLinearExtrusion AS(HC,dir);
GeomAdaptor_SurfaceOfLinearExtrusion AS(HC,dir);
switch(AS.GetType()){
// skl 18.12.2003 - plane not used, problems in ims013.igs
//case GeomAbs_Plane : {