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:
@@ -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 : {
|
||||
|
Reference in New Issue
Block a user