1
0
mirror of https://git.dev.opencascade.org/repos/occt.git synced 2025-08-09 13:22:24 +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

@@ -15,7 +15,7 @@
// commercial license or contractual agreement.
#include <Adaptor3d_SurfaceOfRevolution.hxx>
#include <GeomAdaptor_SurfaceOfRevolution.hxx>
#include <BRep_Tool.hxx>
#include <BRepAdaptor_Curve.hxx>
#include <BRepAdaptor_Surface.hxx>
@@ -346,7 +346,7 @@ TopoDS_Shape BRepSweep_Rotation::MakeEmptyFace
Handle(GeomAdaptor_HCurve) HC = new GeomAdaptor_HCurve();
HC->ChangeCurve().Load(C,First,Last);
Adaptor3d_SurfaceOfRevolution AS(HC,myAxe);
GeomAdaptor_SurfaceOfRevolution AS(HC,myAxe);
switch(AS.GetType()){
case GeomAbs_Plane :
{

View File

@@ -15,7 +15,7 @@
// commercial license or contractual agreement.
#include <Adaptor3d_SurfaceOfLinearExtrusion.hxx>
#include <GeomAdaptor_SurfaceOfLinearExtrusion.hxx>
#include <BRep_CurveRepresentation.hxx>
#include <BRep_ListIteratorOfListOfCurveRepresentation.hxx>
#include <BRep_TEdge.hxx>
@@ -266,7 +266,7 @@ TopoDS_Shape BRepSweep_Translation::MakeEmptyFace
if (myCanonize) {
Handle(GeomAdaptor_HCurve) HC = new GeomAdaptor_HCurve(C,First,Last);
Adaptor3d_SurfaceOfLinearExtrusion AS(HC,D);
GeomAdaptor_SurfaceOfLinearExtrusion AS(HC,D);
switch(AS.GetType()){
case GeomAbs_Plane :