mirror of
https://git.dev.opencascade.org/repos/occt.git
synced 2025-08-09 13:22:24 +03:00
0028966: Coding Rules - remove Adaptor2d_HCurve2d, Adaptor3d_HCurve and Adaptor3d_HSurface classes
Adaptor2d_Curve2d, Adaptor3d_Curve and Adaptor3d_Surface now inherit Standard_Transient. Interfaces Adaptor2d_HCurve2d, Adaptor3d_HCurve, Adaptor3d_HSurface and their subclasses are now aliases to Adaptor2d_Curve2d, Adaptor3d_Curve and Adaptor3d_Surface. Removed numerous unsafe reinterpret casts. Generic classes Adaptor3d_GenHCurve, Adaptor3d_GenHSurface, Adaptor2d_GenHCurve2d have been removed. Several redundant .lxx files have been merged into .hxx. Removed obsolete adaptor classes with H suffix.
This commit is contained in:
@@ -31,7 +31,7 @@
|
||||
#include <TopoDS_Edge.hxx>
|
||||
#include <BRepTools.hxx>
|
||||
#include <IntTools_Tools.hxx>
|
||||
#include <BRepAdaptor_HSurface.hxx>
|
||||
#include <BRepAdaptor_Surface.hxx>
|
||||
#include <BRepTopAdaptor_TopolTool.hxx>
|
||||
#include <LocalAnalysis_SurfaceContinuity.hxx>
|
||||
#include <TopOpeBRepTool_TOOL.hxx>
|
||||
@@ -174,8 +174,8 @@ Standard_Boolean ChFi3d::IsTangentFaces(const TopoDS_Edge& theEdge,
|
||||
// Computation of the number of samples on the edge.
|
||||
BRepAdaptor_Surface aBAS1(theFace1);
|
||||
BRepAdaptor_Surface aBAS2(theFace2);
|
||||
Handle(BRepAdaptor_HSurface) aBAHS1 = new BRepAdaptor_HSurface(aBAS1);
|
||||
Handle(BRepAdaptor_HSurface) aBAHS2 = new BRepAdaptor_HSurface(aBAS2);
|
||||
Handle(BRepAdaptor_Surface) aBAHS1 = new BRepAdaptor_Surface(aBAS1);
|
||||
Handle(BRepAdaptor_Surface) aBAHS2 = new BRepAdaptor_Surface(aBAS2);
|
||||
Handle(BRepTopAdaptor_TopolTool) aTool1 = new BRepTopAdaptor_TopolTool(aBAHS1);
|
||||
Handle(BRepTopAdaptor_TopolTool) aTool2 = new BRepTopAdaptor_TopolTool(aBAHS2);
|
||||
Standard_Integer aNbSamples1 = aTool1->NbSamples();
|
||||
|
@@ -15,8 +15,8 @@
|
||||
// commercial license or contractual agreement.
|
||||
|
||||
|
||||
#include <Adaptor2d_HCurve2d.hxx>
|
||||
#include <Adaptor3d_HSurface.hxx>
|
||||
#include <Adaptor2d_Curve2d.hxx>
|
||||
#include <Adaptor3d_Surface.hxx>
|
||||
#include <Adaptor3d_TopolTool.hxx>
|
||||
#include <AppBlend_Approx.hxx>
|
||||
#include <Blend_CurvPointFuncInv.hxx>
|
||||
@@ -28,8 +28,8 @@
|
||||
#include <Blend_SurfRstFunction.hxx>
|
||||
#include <BRep_Builder.hxx>
|
||||
#include <BRep_Tool.hxx>
|
||||
#include <BRepAdaptor_HCurve2d.hxx>
|
||||
#include <BRepAdaptor_HSurface.hxx>
|
||||
#include <BRepAdaptor_Curve2d.hxx>
|
||||
#include <BRepAdaptor_Surface.hxx>
|
||||
#include <BRepBlend_Line.hxx>
|
||||
#include <BRepLib.hxx>
|
||||
#include <BRepTopAdaptor_TopolTool.hxx>
|
||||
@@ -38,7 +38,7 @@
|
||||
#include <ChFi3d_Builder_0.hxx>
|
||||
#include <ChFiDS_CommonPoint.hxx>
|
||||
#include <ChFiDS_HData.hxx>
|
||||
#include <ChFiDS_HElSpine.hxx>
|
||||
#include <ChFiDS_ElSpine.hxx>
|
||||
#include <ChFiDS_ListIteratorOfListOfStripe.hxx>
|
||||
#include <ChFiDS_SequenceOfSurfData.hxx>
|
||||
#include <ChFiDS_Spine.hxx>
|
||||
|
@@ -17,50 +17,38 @@
|
||||
#ifndef _ChFi3d_Builder_HeaderFile
|
||||
#define _ChFi3d_Builder_HeaderFile
|
||||
|
||||
#include <Standard.hxx>
|
||||
#include <Standard_DefineAlloc.hxx>
|
||||
#include <Standard_Handle.hxx>
|
||||
|
||||
#include <TopoDS_Shape.hxx>
|
||||
#include <Standard_Real.hxx>
|
||||
#include <BRepAdaptor_Curve2d.hxx>
|
||||
#include <BRepAdaptor_Surface.hxx>
|
||||
#include <GeomAbs_Shape.hxx>
|
||||
#include <ChFiDS_Map.hxx>
|
||||
#include <ChFiDS_ErrorStatus.hxx>
|
||||
#include <ChFiDS_ListOfStripe.hxx>
|
||||
#include <ChFiDS_StripeMap.hxx>
|
||||
#include <ChFiDS_Map.hxx>
|
||||
#include <ChFiDS_Regularities.hxx>
|
||||
#include <ChFiDS_SequenceOfSurfData.hxx>
|
||||
#include <ChFiDS_StripeMap.hxx>
|
||||
#include <ChFiDS_ElSpine.hxx>
|
||||
#include <math_Vector.hxx>
|
||||
#include <TopoDS_Shape.hxx>
|
||||
#include <TopTools_ListOfShape.hxx>
|
||||
#include <TopTools_DataMapOfShapeListOfInteger.hxx>
|
||||
#include <TopTools_DataMapOfShapeShape.hxx>
|
||||
#include <Standard_Boolean.hxx>
|
||||
#include <Standard_Integer.hxx>
|
||||
#include <ChFiDS_ErrorStatus.hxx>
|
||||
#include <math_Vector.hxx>
|
||||
#include <TopAbs_Orientation.hxx>
|
||||
#include <ChFiDS_SequenceOfSurfData.hxx>
|
||||
#include <TopAbs_State.hxx>
|
||||
|
||||
#include <BRepAdaptor_Surface.hxx>
|
||||
|
||||
class TopOpeBRepDS_HDataStructure;
|
||||
class TopOpeBRepBuild_HBuilder;
|
||||
class Standard_OutOfRange;
|
||||
class Standard_NoSuchObject;
|
||||
class Standard_ConstructionError;
|
||||
class TopoDS_Shape;
|
||||
class TopoDS_Edge;
|
||||
class ChFiDS_Spine;
|
||||
class TopoDS_Vertex;
|
||||
class Geom_Surface;
|
||||
class ChFiDS_SurfData;
|
||||
class ChFiDS_HElSpine;
|
||||
class BRepAdaptor_HSurface;
|
||||
class Adaptor3d_TopolTool;
|
||||
class BRepAdaptor_HCurve2d;
|
||||
class BRepBlend_Line;
|
||||
class Adaptor3d_HSurface;
|
||||
class Blend_Function;
|
||||
class Blend_FuncInv;
|
||||
class Adaptor2d_HCurve2d;
|
||||
class Blend_SurfRstFunction;
|
||||
class Blend_SurfPointFuncInv;
|
||||
class Blend_SurfCurvFuncInv;
|
||||
@@ -207,9 +195,9 @@ public:
|
||||
ChFiDS_SequenceOfSurfData& SetData,
|
||||
const Handle(ChFiDS_Spine)& Spine,
|
||||
const Standard_Integer Iedge,
|
||||
const Handle(Adaptor3d_HSurface)& S1,
|
||||
const Handle(Adaptor3d_Surface)& S1,
|
||||
const Handle(Adaptor3d_TopolTool)& I1,
|
||||
const Handle(Adaptor3d_HSurface)& S2,
|
||||
const Handle(Adaptor3d_Surface)& S2,
|
||||
const Handle(Adaptor3d_TopolTool)& I2,
|
||||
Standard_Boolean& Intf,
|
||||
Standard_Boolean& Intl);
|
||||
@@ -227,12 +215,12 @@ protected:
|
||||
Standard_EXPORT virtual void SimulKPart (const Handle(ChFiDS_SurfData)& SD) const = 0;
|
||||
|
||||
Standard_EXPORT virtual Standard_Boolean SimulSurf (Handle(ChFiDS_SurfData)& Data,
|
||||
const Handle(ChFiDS_HElSpine)& Guide,
|
||||
const Handle(ChFiDS_ElSpine)& Guide,
|
||||
const Handle(ChFiDS_Spine)& Spine,
|
||||
const Standard_Integer Choix,
|
||||
const Handle(BRepAdaptor_HSurface)& S1,
|
||||
const Handle(BRepAdaptor_Surface)& S1,
|
||||
const Handle(Adaptor3d_TopolTool)& I1,
|
||||
const Handle(BRepAdaptor_HSurface)& S2,
|
||||
const Handle(BRepAdaptor_Surface)& S2,
|
||||
const Handle(Adaptor3d_TopolTool)& I2,
|
||||
const Standard_Real TolGuide,
|
||||
Standard_Real& First,
|
||||
@@ -247,16 +235,16 @@ protected:
|
||||
Standard_Integer& Intl) = 0;
|
||||
|
||||
Standard_EXPORT virtual void SimulSurf (Handle(ChFiDS_SurfData)& Data,
|
||||
const Handle(ChFiDS_HElSpine)& Guide,
|
||||
const Handle(ChFiDS_ElSpine)& Guide,
|
||||
const Handle(ChFiDS_Spine)& Spine,
|
||||
const Standard_Integer Choix,
|
||||
const Handle(BRepAdaptor_HSurface)& S1,
|
||||
const Handle(BRepAdaptor_Surface)& S1,
|
||||
const Handle(Adaptor3d_TopolTool)& I1,
|
||||
const Handle(BRepAdaptor_HCurve2d)& PC1,
|
||||
const Handle(BRepAdaptor_HSurface)& Sref1,
|
||||
const Handle(BRepAdaptor_HCurve2d)& PCref1,
|
||||
const Handle(BRepAdaptor_Curve2d)& PC1,
|
||||
const Handle(BRepAdaptor_Surface)& Sref1,
|
||||
const Handle(BRepAdaptor_Curve2d)& PCref1,
|
||||
Standard_Boolean& Decroch1,
|
||||
const Handle(BRepAdaptor_HSurface)& S2,
|
||||
const Handle(BRepAdaptor_Surface)& S2,
|
||||
const Handle(Adaptor3d_TopolTool)& I2,
|
||||
const TopAbs_Orientation Or2,
|
||||
const Standard_Real Fleche,
|
||||
@@ -272,17 +260,17 @@ protected:
|
||||
const math_Vector& Soldep);
|
||||
|
||||
Standard_EXPORT virtual void SimulSurf (Handle(ChFiDS_SurfData)& Data,
|
||||
const Handle(ChFiDS_HElSpine)& Guide,
|
||||
const Handle(ChFiDS_ElSpine)& Guide,
|
||||
const Handle(ChFiDS_Spine)& Spine,
|
||||
const Standard_Integer Choix,
|
||||
const Handle(BRepAdaptor_HSurface)& S1,
|
||||
const Handle(BRepAdaptor_Surface)& S1,
|
||||
const Handle(Adaptor3d_TopolTool)& I1,
|
||||
const TopAbs_Orientation Or1,
|
||||
const Handle(BRepAdaptor_HSurface)& S2,
|
||||
const Handle(BRepAdaptor_Surface)& S2,
|
||||
const Handle(Adaptor3d_TopolTool)& I2,
|
||||
const Handle(BRepAdaptor_HCurve2d)& PC2,
|
||||
const Handle(BRepAdaptor_HSurface)& Sref2,
|
||||
const Handle(BRepAdaptor_HCurve2d)& PCref2,
|
||||
const Handle(BRepAdaptor_Curve2d)& PC2,
|
||||
const Handle(BRepAdaptor_Surface)& Sref2,
|
||||
const Handle(BRepAdaptor_Curve2d)& PCref2,
|
||||
Standard_Boolean& Decroch2,
|
||||
const Standard_Real Fleche,
|
||||
const Standard_Real TolGuide,
|
||||
@@ -297,21 +285,21 @@ protected:
|
||||
const math_Vector& Soldep);
|
||||
|
||||
Standard_EXPORT virtual void SimulSurf (Handle(ChFiDS_SurfData)& Data,
|
||||
const Handle(ChFiDS_HElSpine)& Guide,
|
||||
const Handle(ChFiDS_ElSpine)& Guide,
|
||||
const Handle(ChFiDS_Spine)& Spine,
|
||||
const Standard_Integer Choix,
|
||||
const Handle(BRepAdaptor_HSurface)& S1,
|
||||
const Handle(BRepAdaptor_Surface)& S1,
|
||||
const Handle(Adaptor3d_TopolTool)& I1,
|
||||
const Handle(BRepAdaptor_HCurve2d)& PC1,
|
||||
const Handle(BRepAdaptor_HSurface)& Sref1,
|
||||
const Handle(BRepAdaptor_HCurve2d)& PCref1,
|
||||
const Handle(BRepAdaptor_Curve2d)& PC1,
|
||||
const Handle(BRepAdaptor_Surface)& Sref1,
|
||||
const Handle(BRepAdaptor_Curve2d)& PCref1,
|
||||
Standard_Boolean& Decroch1,
|
||||
const TopAbs_Orientation Or1,
|
||||
const Handle(BRepAdaptor_HSurface)& S2,
|
||||
const Handle(BRepAdaptor_Surface)& S2,
|
||||
const Handle(Adaptor3d_TopolTool)& I2,
|
||||
const Handle(BRepAdaptor_HCurve2d)& PC2,
|
||||
const Handle(BRepAdaptor_HSurface)& Sref2,
|
||||
const Handle(BRepAdaptor_HCurve2d)& PCref2,
|
||||
const Handle(BRepAdaptor_Curve2d)& PC2,
|
||||
const Handle(BRepAdaptor_Surface)& Sref2,
|
||||
const Handle(BRepAdaptor_Curve2d)& PCref2,
|
||||
Standard_Boolean& Decroch2,
|
||||
const TopAbs_Orientation Or2,
|
||||
const Standard_Real Fleche,
|
||||
@@ -328,12 +316,12 @@ protected:
|
||||
const math_Vector& Soldep);
|
||||
|
||||
Standard_EXPORT Standard_Boolean SimulData (Handle(ChFiDS_SurfData)& Data,
|
||||
const Handle(ChFiDS_HElSpine)& Guide,
|
||||
const Handle(ChFiDS_HElSpine)& AdditionalGuide,
|
||||
const Handle(ChFiDS_ElSpine)& Guide,
|
||||
const Handle(ChFiDS_ElSpine)& AdditionalGuide,
|
||||
Handle(BRepBlend_Line)& Lin,
|
||||
const Handle(Adaptor3d_HSurface)& S1,
|
||||
const Handle(Adaptor3d_Surface)& S1,
|
||||
const Handle(Adaptor3d_TopolTool)& I1,
|
||||
const Handle(Adaptor3d_HSurface)& S2,
|
||||
const Handle(Adaptor3d_Surface)& S2,
|
||||
const Handle(Adaptor3d_TopolTool)& I2,
|
||||
Blend_Function& Func,
|
||||
Blend_FuncInv& FInv,
|
||||
@@ -352,12 +340,12 @@ protected:
|
||||
const Standard_Boolean RecOnS2 = Standard_False);
|
||||
|
||||
Standard_EXPORT Standard_Boolean SimulData (Handle(ChFiDS_SurfData)& Data,
|
||||
const Handle(ChFiDS_HElSpine)& HGuide,
|
||||
const Handle(ChFiDS_ElSpine)& HGuide,
|
||||
Handle(BRepBlend_Line)& Lin,
|
||||
const Handle(Adaptor3d_HSurface)& S1,
|
||||
const Handle(Adaptor3d_Surface)& S1,
|
||||
const Handle(Adaptor3d_TopolTool)& I1,
|
||||
const Handle(Adaptor3d_HSurface)& S2,
|
||||
const Handle(Adaptor2d_HCurve2d)& PC2,
|
||||
const Handle(Adaptor3d_Surface)& S2,
|
||||
const Handle(Adaptor2d_Curve2d)& PC2,
|
||||
const Handle(Adaptor3d_TopolTool)& I2,
|
||||
Standard_Boolean& Decroch,
|
||||
Blend_SurfRstFunction& Func,
|
||||
@@ -380,14 +368,14 @@ protected:
|
||||
const Standard_Boolean RecRst);
|
||||
|
||||
Standard_EXPORT Standard_Boolean SimulData (Handle(ChFiDS_SurfData)& Data,
|
||||
const Handle(ChFiDS_HElSpine)& HGuide,
|
||||
const Handle(ChFiDS_ElSpine)& HGuide,
|
||||
Handle(BRepBlend_Line)& Lin,
|
||||
const Handle(Adaptor3d_HSurface)& S1,
|
||||
const Handle(Adaptor2d_HCurve2d)& PC1,
|
||||
const Handle(Adaptor3d_Surface)& S1,
|
||||
const Handle(Adaptor2d_Curve2d)& PC1,
|
||||
const Handle(Adaptor3d_TopolTool)& I1,
|
||||
Standard_Boolean& Decroch1,
|
||||
const Handle(Adaptor3d_HSurface)& S2,
|
||||
const Handle(Adaptor2d_HCurve2d)& PC2,
|
||||
const Handle(Adaptor3d_Surface)& S2,
|
||||
const Handle(Adaptor2d_Curve2d)& PC2,
|
||||
const Handle(Adaptor3d_TopolTool)& I2,
|
||||
Standard_Boolean& Decroch2,
|
||||
Blend_RstRstFunction& Func,
|
||||
@@ -430,8 +418,8 @@ protected:
|
||||
|
||||
Standard_EXPORT void Trunc (const Handle(ChFiDS_SurfData)& SD,
|
||||
const Handle(ChFiDS_Spine)& Spine,
|
||||
const Handle(Adaptor3d_HSurface)& S1,
|
||||
const Handle(Adaptor3d_HSurface)& S2,
|
||||
const Handle(Adaptor3d_Surface)& S1,
|
||||
const Handle(Adaptor3d_Surface)& S2,
|
||||
const Standard_Integer iedge,
|
||||
const Standard_Boolean isfirst,
|
||||
const Standard_Integer cntlFiOnS);
|
||||
@@ -440,15 +428,15 @@ protected:
|
||||
const Standard_Boolean Simul,
|
||||
ChFiDS_SequenceOfSurfData& SeqSD,
|
||||
Handle(ChFiDS_SurfData)& SD,
|
||||
const Handle(ChFiDS_HElSpine)& Guide,
|
||||
const Handle(ChFiDS_ElSpine)& Guide,
|
||||
const Handle(ChFiDS_Spine)& Spine,
|
||||
const Handle(BRepAdaptor_HSurface)& HS1,
|
||||
const Handle(BRepAdaptor_HSurface)& HS3,
|
||||
const Handle(BRepAdaptor_Surface)& HS1,
|
||||
const Handle(BRepAdaptor_Surface)& HS3,
|
||||
const gp_Pnt2d& P1,
|
||||
const gp_Pnt2d& P3,
|
||||
const Handle(Adaptor3d_TopolTool)& I1,
|
||||
const Handle(BRepAdaptor_HSurface)& HS2,
|
||||
const Handle(BRepAdaptor_HSurface)& HS4,
|
||||
const Handle(BRepAdaptor_Surface)& HS2,
|
||||
const Handle(BRepAdaptor_Surface)& HS4,
|
||||
const gp_Pnt2d& P2, const gp_Pnt2d& P4,
|
||||
const Handle(Adaptor3d_TopolTool)& I2,
|
||||
const Standard_Real MaxStep,
|
||||
@@ -464,19 +452,19 @@ protected:
|
||||
math_Vector& Soldep,
|
||||
Standard_Integer& Intf,
|
||||
Standard_Integer& Intl,
|
||||
Handle(BRepAdaptor_HSurface)& Surf1,
|
||||
Handle(BRepAdaptor_HSurface)& Surf2);
|
||||
Handle(BRepAdaptor_Surface)& Surf1,
|
||||
Handle(BRepAdaptor_Surface)& Surf2);
|
||||
|
||||
//! Method, implemented in the inheritants, calculating
|
||||
//! elements of construction of the surface (fillet or
|
||||
//! chamfer).
|
||||
Standard_EXPORT virtual Standard_Boolean PerformSurf (ChFiDS_SequenceOfSurfData& Data,
|
||||
const Handle(ChFiDS_HElSpine)& Guide,
|
||||
const Handle(ChFiDS_ElSpine)& Guide,
|
||||
const Handle(ChFiDS_Spine)& Spine,
|
||||
const Standard_Integer Choix,
|
||||
const Handle(BRepAdaptor_HSurface)& S1,
|
||||
const Handle(BRepAdaptor_Surface)& S1,
|
||||
const Handle(Adaptor3d_TopolTool)& I1,
|
||||
const Handle(BRepAdaptor_HSurface)& S2,
|
||||
const Handle(BRepAdaptor_Surface)& S2,
|
||||
const Handle(Adaptor3d_TopolTool)& I2,
|
||||
const Standard_Real MaxStep,
|
||||
const Standard_Real Fleche,
|
||||
@@ -496,16 +484,16 @@ protected:
|
||||
//! the elements of construction of the surface (fillet
|
||||
//! or chamfer) contact edge/face.
|
||||
Standard_EXPORT virtual void PerformSurf (ChFiDS_SequenceOfSurfData& Data,
|
||||
const Handle(ChFiDS_HElSpine)& Guide,
|
||||
const Handle(ChFiDS_ElSpine)& Guide,
|
||||
const Handle(ChFiDS_Spine)& Spine,
|
||||
const Standard_Integer Choix,
|
||||
const Handle(BRepAdaptor_HSurface)& S1,
|
||||
const Handle(BRepAdaptor_Surface)& S1,
|
||||
const Handle(Adaptor3d_TopolTool)& I1,
|
||||
const Handle(BRepAdaptor_HCurve2d)& PC1,
|
||||
const Handle(BRepAdaptor_HSurface)& Sref1,
|
||||
const Handle(BRepAdaptor_HCurve2d)& PCref1,
|
||||
const Handle(BRepAdaptor_Curve2d)& PC1,
|
||||
const Handle(BRepAdaptor_Surface)& Sref1,
|
||||
const Handle(BRepAdaptor_Curve2d)& PCref1,
|
||||
Standard_Boolean& Decroch1,
|
||||
const Handle(BRepAdaptor_HSurface)& S2,
|
||||
const Handle(BRepAdaptor_Surface)& S2,
|
||||
const Handle(Adaptor3d_TopolTool)& I2,
|
||||
const TopAbs_Orientation Or2,
|
||||
const Standard_Real MaxStep,
|
||||
@@ -525,17 +513,17 @@ protected:
|
||||
//! the elements of construction of the surface (fillet
|
||||
//! or chamfer) contact edge/face.
|
||||
Standard_EXPORT virtual void PerformSurf (ChFiDS_SequenceOfSurfData& Data,
|
||||
const Handle(ChFiDS_HElSpine)& Guide,
|
||||
const Handle(ChFiDS_ElSpine)& Guide,
|
||||
const Handle(ChFiDS_Spine)& Spine,
|
||||
const Standard_Integer Choix,
|
||||
const Handle(BRepAdaptor_HSurface)& S1,
|
||||
const Handle(BRepAdaptor_Surface)& S1,
|
||||
const Handle(Adaptor3d_TopolTool)& I1,
|
||||
const TopAbs_Orientation Or1,
|
||||
const Handle(BRepAdaptor_HSurface)& S2,
|
||||
const Handle(BRepAdaptor_Surface)& S2,
|
||||
const Handle(Adaptor3d_TopolTool)& I2,
|
||||
const Handle(BRepAdaptor_HCurve2d)& PC2,
|
||||
const Handle(BRepAdaptor_HSurface)& Sref2,
|
||||
const Handle(BRepAdaptor_HCurve2d)& PCref2,
|
||||
const Handle(BRepAdaptor_Curve2d)& PC2,
|
||||
const Handle(BRepAdaptor_Surface)& Sref2,
|
||||
const Handle(BRepAdaptor_Curve2d)& PCref2,
|
||||
Standard_Boolean& Decroch2,
|
||||
const Standard_Real MaxStep,
|
||||
const Standard_Real Fleche,
|
||||
@@ -554,21 +542,21 @@ protected:
|
||||
//! the elements of construction of the surface (fillet
|
||||
//! or chamfer) contact edge/edge.
|
||||
Standard_EXPORT virtual void PerformSurf (ChFiDS_SequenceOfSurfData& Data,
|
||||
const Handle(ChFiDS_HElSpine)& Guide,
|
||||
const Handle(ChFiDS_ElSpine)& Guide,
|
||||
const Handle(ChFiDS_Spine)& Spine,
|
||||
const Standard_Integer Choix,
|
||||
const Handle(BRepAdaptor_HSurface)& S1,
|
||||
const Handle(BRepAdaptor_Surface)& S1,
|
||||
const Handle(Adaptor3d_TopolTool)& I1,
|
||||
const Handle(BRepAdaptor_HCurve2d)& PC1,
|
||||
const Handle(BRepAdaptor_HSurface)& Sref1,
|
||||
const Handle(BRepAdaptor_HCurve2d)& PCref1,
|
||||
const Handle(BRepAdaptor_Curve2d)& PC1,
|
||||
const Handle(BRepAdaptor_Surface)& Sref1,
|
||||
const Handle(BRepAdaptor_Curve2d)& PCref1,
|
||||
Standard_Boolean& Decroch1,
|
||||
const TopAbs_Orientation Or1,
|
||||
const Handle(BRepAdaptor_HSurface)& S2,
|
||||
const Handle(BRepAdaptor_Surface)& S2,
|
||||
const Handle(Adaptor3d_TopolTool)& I2,
|
||||
const Handle(BRepAdaptor_HCurve2d)& PC2,
|
||||
const Handle(BRepAdaptor_HSurface)& Sref2,
|
||||
const Handle(BRepAdaptor_HCurve2d)& PCref2,
|
||||
const Handle(BRepAdaptor_Curve2d)& PC2,
|
||||
const Handle(BRepAdaptor_Surface)& Sref2,
|
||||
const Handle(BRepAdaptor_Curve2d)& PCref2,
|
||||
Standard_Boolean& Decroch2,
|
||||
const TopAbs_Orientation Or2,
|
||||
const Standard_Real MaxStep,
|
||||
@@ -602,10 +590,10 @@ protected:
|
||||
const ChFiDS_ListOfStripe& LS) = 0;
|
||||
|
||||
Standard_EXPORT virtual Standard_Boolean PerformFirstSection (const Handle(ChFiDS_Spine)& S,
|
||||
const Handle(ChFiDS_HElSpine)& HGuide,
|
||||
const Handle(ChFiDS_ElSpine)& HGuide,
|
||||
const Standard_Integer Choix,
|
||||
Handle(BRepAdaptor_HSurface)& S1,
|
||||
Handle(BRepAdaptor_HSurface)& S2,
|
||||
Handle(BRepAdaptor_Surface)& S1,
|
||||
Handle(BRepAdaptor_Surface)& S2,
|
||||
const Handle(Adaptor3d_TopolTool)& I1,
|
||||
const Handle(Adaptor3d_TopolTool)& I2,
|
||||
const Standard_Real Par,
|
||||
@@ -625,12 +613,12 @@ protected:
|
||||
|
||||
//! Calculates a Line of contact face/face.
|
||||
Standard_EXPORT Standard_Boolean ComputeData (Handle(ChFiDS_SurfData)& Data,
|
||||
const Handle(ChFiDS_HElSpine)& Guide,
|
||||
const Handle(ChFiDS_ElSpine)& Guide,
|
||||
const Handle(ChFiDS_Spine)& Spine,
|
||||
Handle(BRepBlend_Line)& Lin,
|
||||
const Handle(Adaptor3d_HSurface)& S1,
|
||||
const Handle(Adaptor3d_Surface)& S1,
|
||||
const Handle(Adaptor3d_TopolTool)& I1,
|
||||
const Handle(Adaptor3d_HSurface)& S2,
|
||||
const Handle(Adaptor3d_Surface)& S2,
|
||||
const Handle(Adaptor3d_TopolTool)& I2,
|
||||
Blend_Function& Func,
|
||||
Blend_FuncInv& FInv,
|
||||
@@ -655,12 +643,12 @@ protected:
|
||||
|
||||
//! Calculates a Line of contact edge/face.
|
||||
Standard_EXPORT Standard_Boolean ComputeData (Handle(ChFiDS_SurfData)& Data,
|
||||
const Handle(ChFiDS_HElSpine)& HGuide,
|
||||
const Handle(ChFiDS_ElSpine)& HGuide,
|
||||
Handle(BRepBlend_Line)& Lin,
|
||||
const Handle(Adaptor3d_HSurface)& S1,
|
||||
const Handle(Adaptor3d_Surface)& S1,
|
||||
const Handle(Adaptor3d_TopolTool)& I1,
|
||||
const Handle(Adaptor3d_HSurface)& S2,
|
||||
const Handle(Adaptor2d_HCurve2d)& PC2,
|
||||
const Handle(Adaptor3d_Surface)& S2,
|
||||
const Handle(Adaptor2d_Curve2d)& PC2,
|
||||
const Handle(Adaptor3d_TopolTool)& I2,
|
||||
Standard_Boolean& Decroch,
|
||||
Blend_SurfRstFunction& Func,
|
||||
@@ -683,14 +671,14 @@ protected:
|
||||
|
||||
//! Calculates a Line of contact edge/edge.
|
||||
Standard_EXPORT Standard_Boolean ComputeData (Handle(ChFiDS_SurfData)& Data,
|
||||
const Handle(ChFiDS_HElSpine)& HGuide,
|
||||
const Handle(ChFiDS_ElSpine)& HGuide,
|
||||
Handle(BRepBlend_Line)& Lin,
|
||||
const Handle(Adaptor3d_HSurface)& S1,
|
||||
const Handle(Adaptor2d_HCurve2d)& PC1,
|
||||
const Handle(Adaptor3d_Surface)& S1,
|
||||
const Handle(Adaptor2d_Curve2d)& PC1,
|
||||
const Handle(Adaptor3d_TopolTool)& I1,
|
||||
Standard_Boolean& Decroch1,
|
||||
const Handle(Adaptor3d_HSurface)& S2,
|
||||
const Handle(Adaptor2d_HCurve2d)& PC2,
|
||||
const Handle(Adaptor3d_Surface)& S2,
|
||||
const Handle(Adaptor2d_Curve2d)& PC2,
|
||||
const Handle(Adaptor3d_TopolTool)& I2,
|
||||
Standard_Boolean& Decroch2,
|
||||
Blend_RstRstFunction& Func,
|
||||
@@ -716,8 +704,8 @@ protected:
|
||||
Standard_EXPORT Standard_Boolean CompleteData (Handle(ChFiDS_SurfData)& Data,
|
||||
Blend_Function& Func,
|
||||
Handle(BRepBlend_Line)& Lin,
|
||||
const Handle(Adaptor3d_HSurface)& S1,
|
||||
const Handle(Adaptor3d_HSurface)& S2,
|
||||
const Handle(Adaptor3d_Surface)& S1,
|
||||
const Handle(Adaptor3d_Surface)& S2,
|
||||
const TopAbs_Orientation Or1,
|
||||
const Standard_Boolean Gd1,
|
||||
const Standard_Boolean Gd2,
|
||||
@@ -728,23 +716,23 @@ protected:
|
||||
Standard_EXPORT Standard_Boolean CompleteData (Handle(ChFiDS_SurfData)& Data,
|
||||
Blend_SurfRstFunction& Func,
|
||||
Handle(BRepBlend_Line)& Lin,
|
||||
const Handle(Adaptor3d_HSurface)& S1,
|
||||
const Handle(Adaptor3d_HSurface)& S2,
|
||||
const Handle(Adaptor3d_Surface)& S1,
|
||||
const Handle(Adaptor3d_Surface)& S2,
|
||||
const TopAbs_Orientation Or,
|
||||
const Standard_Boolean Reversed);
|
||||
|
||||
Standard_EXPORT Standard_Boolean CompleteData (Handle(ChFiDS_SurfData)& Data,
|
||||
Blend_RstRstFunction& Func,
|
||||
Handle(BRepBlend_Line)& Lin,
|
||||
const Handle(Adaptor3d_HSurface)& S1,
|
||||
const Handle(Adaptor3d_HSurface)& S2,
|
||||
const Handle(Adaptor3d_Surface)& S1,
|
||||
const Handle(Adaptor3d_Surface)& S2,
|
||||
const TopAbs_Orientation Or);
|
||||
|
||||
Standard_EXPORT Standard_Boolean StoreData (Handle(ChFiDS_SurfData)& Data,
|
||||
const AppBlend_Approx& Approx,
|
||||
const Handle(BRepBlend_Line)& Lin,
|
||||
const Handle(Adaptor3d_HSurface)& S1,
|
||||
const Handle(Adaptor3d_HSurface)& S2,
|
||||
const Handle(Adaptor3d_Surface)& S1,
|
||||
const Handle(Adaptor3d_Surface)& S2,
|
||||
const TopAbs_Orientation Or1,
|
||||
const Standard_Boolean Gd1,
|
||||
const Standard_Boolean Gd2,
|
||||
@@ -754,9 +742,9 @@ protected:
|
||||
|
||||
Standard_EXPORT Standard_Boolean CompleteData (Handle(ChFiDS_SurfData)& Data,
|
||||
const Handle(Geom_Surface)& Surfcoin,
|
||||
const Handle(Adaptor3d_HSurface)& S1,
|
||||
const Handle(Adaptor3d_Surface)& S1,
|
||||
const Handle(Geom2d_Curve)& PC1,
|
||||
const Handle(Adaptor3d_HSurface)& S2,
|
||||
const Handle(Adaptor3d_Surface)& S2,
|
||||
const Handle(Geom2d_Curve)& PC2,
|
||||
const TopAbs_Orientation Or,
|
||||
const Standard_Boolean On1,
|
||||
@@ -798,7 +786,7 @@ private:
|
||||
const TopoDS_Edge& E1,
|
||||
const TopoDS_Vertex& V) const;
|
||||
|
||||
Standard_EXPORT void PerformSetOfSurfOnElSpine (const Handle(ChFiDS_HElSpine)& ES,
|
||||
Standard_EXPORT void PerformSetOfSurfOnElSpine (const Handle(ChFiDS_ElSpine)& ES,
|
||||
Handle(ChFiDS_Stripe)& St,
|
||||
Handle(BRepTopAdaptor_TopolTool)& It1,
|
||||
Handle(BRepTopAdaptor_TopolTool)& It2,
|
||||
@@ -833,28 +821,28 @@ private:
|
||||
Standard_EXPORT Standard_Boolean MoreSurfdata (const Standard_Integer Index) const;
|
||||
|
||||
Standard_EXPORT Standard_Boolean StartSol (const Handle(ChFiDS_Spine)& Spine,
|
||||
Handle(BRepAdaptor_HSurface)& HS,
|
||||
Handle(BRepAdaptor_Surface)& HS,
|
||||
gp_Pnt2d& P,
|
||||
Handle(BRepAdaptor_HCurve2d)& HC,
|
||||
Handle(BRepAdaptor_Curve2d)& HC,
|
||||
Standard_Real& W,
|
||||
const Handle(ChFiDS_SurfData)& SD,
|
||||
const Standard_Boolean isFirst,
|
||||
const Standard_Integer OnS,
|
||||
Handle(BRepAdaptor_HSurface)& HSref,
|
||||
Handle(BRepAdaptor_HCurve2d)& HCref,
|
||||
Handle(BRepAdaptor_Surface)& HSref,
|
||||
Handle(BRepAdaptor_Curve2d)& HCref,
|
||||
Standard_Boolean& RecP,
|
||||
Standard_Boolean& RecS,
|
||||
Standard_Boolean& RecRst,
|
||||
Standard_Boolean& C1Obst,
|
||||
Handle(BRepAdaptor_HSurface)& HSbis,
|
||||
Handle(BRepAdaptor_Surface)& HSbis,
|
||||
gp_Pnt2d& Pbis,
|
||||
const Standard_Boolean Decroch,
|
||||
const TopoDS_Vertex& Vref) const;
|
||||
|
||||
Standard_EXPORT void StartSol (const Handle(ChFiDS_Stripe)& S,
|
||||
const Handle(ChFiDS_HElSpine)& HGuide,
|
||||
Handle(BRepAdaptor_HSurface)& HS1,
|
||||
Handle(BRepAdaptor_HSurface)& HS2,
|
||||
const Handle(ChFiDS_ElSpine)& HGuide,
|
||||
Handle(BRepAdaptor_Surface)& HS1,
|
||||
Handle(BRepAdaptor_Surface)& HS2,
|
||||
Handle(BRepTopAdaptor_TopolTool)& I1,
|
||||
Handle(BRepTopAdaptor_TopolTool)& I2,
|
||||
gp_Pnt2d& P1,
|
||||
@@ -863,8 +851,8 @@ private:
|
||||
|
||||
Standard_EXPORT void ConexFaces (const Handle(ChFiDS_Spine)& Sp,
|
||||
const Standard_Integer IEdge,
|
||||
Handle(BRepAdaptor_HSurface)& HS1,
|
||||
Handle(BRepAdaptor_HSurface)& HS2) const;
|
||||
Handle(BRepAdaptor_Surface)& HS1,
|
||||
Handle(BRepAdaptor_Surface)& HS2) const;
|
||||
|
||||
|
||||
TopoDS_Shape myShape;
|
||||
|
@@ -62,11 +62,11 @@
|
||||
#include <Geom2d_Line.hxx>
|
||||
#include <Geom2d_OffsetCurve.hxx>
|
||||
#include <Geom2dAdaptor_Curve.hxx>
|
||||
#include <Geom2dAdaptor_HCurve.hxx>
|
||||
#include <Geom2dAdaptor_Curve.hxx>
|
||||
#include <Adaptor3d_TopolTool.hxx>
|
||||
#include <Adaptor3d_CurveOnSurface.hxx>
|
||||
#include <Adaptor3d_HCurveOnSurface.hxx>
|
||||
#include <GeomAdaptor_HSurface.hxx>
|
||||
#include <Adaptor3d_CurveOnSurface.hxx>
|
||||
#include <GeomAdaptor_Surface.hxx>
|
||||
|
||||
#include <FairCurve_Batten.hxx>
|
||||
#include <FairCurve_AnalysisCode.hxx>
|
||||
@@ -78,8 +78,8 @@
|
||||
#include <GeomAPI_ProjectPointOnCurve.hxx>
|
||||
#include <GC_MakeCircle.hxx>
|
||||
#include <BRepAdaptor_Curve.hxx>
|
||||
#include <BRepAdaptor_HCurve.hxx>
|
||||
#include <BRepAdaptor_HCurve2d.hxx>
|
||||
#include <BRepAdaptor_Curve.hxx>
|
||||
#include <BRepAdaptor_Curve2d.hxx>
|
||||
#include <BRepAdaptor_Surface.hxx>
|
||||
#include <BRepTopAdaptor_HVertex.hxx>
|
||||
#include <BRepTopAdaptor_TopolTool.hxx>
|
||||
@@ -172,8 +172,8 @@ extern void ChFi3d_SettraceDRAWSPINE(const Standard_Boolean b);
|
||||
|
||||
#include <stdio.h>
|
||||
|
||||
#include <GeomAdaptor_HCurve.hxx>
|
||||
#include <BRepAdaptor_HSurface.hxx>
|
||||
#include <GeomAdaptor_Curve.hxx>
|
||||
#include <BRepAdaptor_Surface.hxx>
|
||||
#include <TopOpeBRepDS_SurfaceCurveInterference.hxx>
|
||||
|
||||
//=======================================================================
|
||||
@@ -225,21 +225,21 @@ void ChFi3d_Boite(const gp_Pnt2d& p1,const gp_Pnt2d& p2,
|
||||
//function : EnlargeBox and its friends.
|
||||
//purpose :
|
||||
//=======================================================================
|
||||
static Handle(Adaptor3d_HSurface) Geometry(TopOpeBRepDS_DataStructure& DStr,
|
||||
static Handle(Adaptor3d_Surface) Geometry(TopOpeBRepDS_DataStructure& DStr,
|
||||
const Standard_Integer ind)
|
||||
{
|
||||
if(ind == 0) return Handle(Adaptor3d_HSurface)();
|
||||
if(ind == 0) return Handle(Adaptor3d_Surface)();
|
||||
if(ind > 0) {
|
||||
TopoDS_Face F = TopoDS::Face(DStr.Shape(ind));
|
||||
if(F.IsNull()) return Handle(Adaptor3d_HSurface)();
|
||||
Handle(BRepAdaptor_HSurface) HS = new BRepAdaptor_HSurface();
|
||||
HS->ChangeSurface().Initialize(F,0);
|
||||
if(F.IsNull()) return Handle(Adaptor3d_Surface)();
|
||||
Handle(BRepAdaptor_Surface) HS = new BRepAdaptor_Surface();
|
||||
HS->Initialize(F,0);
|
||||
return HS;
|
||||
}
|
||||
else{
|
||||
Handle(Geom_Surface) S = DStr.Surface(-ind).Surface();
|
||||
if(S.IsNull()) return Handle(Adaptor3d_HSurface)();
|
||||
return new GeomAdaptor_HSurface(S);
|
||||
if(S.IsNull()) return Handle(Adaptor3d_Surface)();
|
||||
return new GeomAdaptor_Surface(S);
|
||||
}
|
||||
}
|
||||
//=======================================================================
|
||||
@@ -274,7 +274,7 @@ void ChFi3d_EnlargeBox(const Handle(Geom_Curve)& C,
|
||||
//function : ChFi3d_EnlargeBox
|
||||
//purpose :
|
||||
//=======================================================================
|
||||
void ChFi3d_EnlargeBox(const Handle(Adaptor3d_HSurface)& S,
|
||||
void ChFi3d_EnlargeBox(const Handle(Adaptor3d_Surface)& S,
|
||||
const Handle(Geom2d_Curve)& PC,
|
||||
const Standard_Real wd,
|
||||
const Standard_Real wf,
|
||||
@@ -331,8 +331,8 @@ void ChFi3d_EnlargeBox(TopOpeBRepDS_DataStructure& DStr,
|
||||
const Handle(Geom2d_Curve)& pcs2 = fi2.PCurveOnSurf();
|
||||
const Handle(Geom_Curve)& c3d1 = DStr.Curve(fi1.LineIndex()).Curve();
|
||||
const Handle(Geom_Curve)& c3d2 = DStr.Curve(fi2.LineIndex()).Curve();
|
||||
Handle(Adaptor3d_HSurface) F1 = Geometry(DStr,sd->IndexOfS1());
|
||||
Handle(Adaptor3d_HSurface) F2 = Geometry(DStr,sd->IndexOfS2());
|
||||
Handle(Adaptor3d_Surface) F1 = Geometry(DStr,sd->IndexOfS1());
|
||||
Handle(Adaptor3d_Surface) F2 = Geometry(DStr,sd->IndexOfS2());
|
||||
Standard_Real p1 = fi1.Parameter(isfirst);
|
||||
if(!c3d1.IsNull()) b1.Add(c3d1->Value(p1));
|
||||
if(!pcs1.IsNull()) {
|
||||
@@ -629,8 +629,8 @@ void ChFi3d_BoundSrf(GeomAdaptor_Surface& S,
|
||||
//function : ChFi3d_InterPlaneEdge
|
||||
//purpose :
|
||||
//=======================================================================
|
||||
Standard_Boolean ChFi3d_InterPlaneEdge (const Handle(Adaptor3d_HSurface)& Plan,
|
||||
const Handle(Adaptor3d_HCurve)& C,
|
||||
Standard_Boolean ChFi3d_InterPlaneEdge (const Handle(Adaptor3d_Surface)& Plan,
|
||||
const Handle(Adaptor3d_Curve)& C,
|
||||
Standard_Real& W,
|
||||
const Standard_Boolean Sens,
|
||||
const Standard_Real tolc)
|
||||
@@ -710,7 +710,7 @@ void ChFi3d_ExtrSpineCarac(const TopOpeBRepDS_DataStructure& DStr,
|
||||
const Handle(ChFiDS_Spine)& sp = cd->Spine();
|
||||
Handle(ChFiDS_FilSpine) fsp = Handle(ChFiDS_FilSpine)::DownCast(sp);
|
||||
nbelspine=sp->NbEdges();
|
||||
Handle(ChFiDS_HElSpine) hels;
|
||||
Handle(ChFiDS_ElSpine) hels;
|
||||
if (nbelspine==1) hels = sp->ElSpine(1);
|
||||
else hels = sp->ElSpine(p);
|
||||
if(fsp->IsConstant()) { R = fsp->Radius(); }
|
||||
@@ -1173,8 +1173,8 @@ void ChFi3d_ReparamPcurv(const Standard_Real Uf,
|
||||
//purpose : Calculation of the pcurve corresponding to a line of intersection
|
||||
// 3d. Should be called only in analytic cases.
|
||||
//=======================================================================
|
||||
void ChFi3d_ProjectPCurv(const Handle(Adaptor3d_HCurve)& HCg,
|
||||
const Handle(Adaptor3d_HSurface)& HSg,
|
||||
void ChFi3d_ProjectPCurv(const Handle(Adaptor3d_Curve)& HCg,
|
||||
const Handle(Adaptor3d_Surface)& HSg,
|
||||
Handle(Geom2d_Curve)& Pcurv,
|
||||
const Standard_Real tol,
|
||||
Standard_Real& tolreached)
|
||||
@@ -1229,9 +1229,9 @@ void ChFi3d_ProjectPCurv(const Handle(Adaptor3d_HCurve)& HCg,
|
||||
//function : CheckSameParameter
|
||||
//purpose : Controls a posteriori that sameparameter worked well
|
||||
//=======================================================================
|
||||
Standard_Boolean ChFi3d_CheckSameParameter (const Handle(Adaptor3d_HCurve)& C3d,
|
||||
Standard_Boolean ChFi3d_CheckSameParameter (const Handle(Adaptor3d_Curve)& C3d,
|
||||
Handle(Geom2d_Curve)& Pcurv,
|
||||
const Handle(Adaptor3d_HSurface)& S,
|
||||
const Handle(Adaptor3d_Surface)& S,
|
||||
const Standard_Real tol3d,
|
||||
Standard_Real& tolreached)
|
||||
{
|
||||
@@ -1263,9 +1263,9 @@ Standard_Boolean ChFi3d_CheckSameParameter (const Handle(Adaptor3d_HCurve)& C3
|
||||
//function : SameParameter
|
||||
//purpose : Encapsulation of Sameparameter
|
||||
//=======================================================================
|
||||
Standard_Boolean ChFi3d_SameParameter(const Handle(Adaptor3d_HCurve)& C3d,
|
||||
Standard_Boolean ChFi3d_SameParameter(const Handle(Adaptor3d_Curve)& C3d,
|
||||
Handle(Geom2d_Curve)& Pcurv,
|
||||
const Handle(Adaptor3d_HSurface)& S,
|
||||
const Handle(Adaptor3d_Surface)& S,
|
||||
const Standard_Real tol3d,
|
||||
Standard_Real& tolreached)
|
||||
{
|
||||
@@ -1290,8 +1290,8 @@ Standard_Boolean ChFi3d_SameParameter(const Handle(Geom_Curve)& C3d,
|
||||
const Standard_Real tol3d,
|
||||
Standard_Real& tolreached)
|
||||
{
|
||||
/*szv:static*/ Handle(GeomAdaptor_HSurface) hs(new GeomAdaptor_HSurface(S));
|
||||
/*szv:static*/ Handle(GeomAdaptor_HCurve) hc(new GeomAdaptor_HCurve(C3d,Pardeb,Parfin));
|
||||
/*szv:static*/ Handle(GeomAdaptor_Surface) hs(new GeomAdaptor_Surface(S));
|
||||
/*szv:static*/ Handle(GeomAdaptor_Curve) hc(new GeomAdaptor_Curve(C3d,Pardeb,Parfin));
|
||||
return ChFi3d_SameParameter(hc,Pcurv,hs,tol3d,tolreached);
|
||||
}
|
||||
//=======================================================================
|
||||
@@ -1300,11 +1300,11 @@ Standard_Boolean ChFi3d_SameParameter(const Handle(Geom_Curve)& C3d,
|
||||
// to guarantee the same range and parameters as of the
|
||||
// reference 3D curve.
|
||||
//=======================================================================
|
||||
void ChFi3d_ComputePCurv(const Handle(Adaptor3d_HCurve)& C3d,
|
||||
void ChFi3d_ComputePCurv(const Handle(Adaptor3d_Curve)& C3d,
|
||||
const gp_Pnt2d& UV1,
|
||||
const gp_Pnt2d& UV2,
|
||||
Handle(Geom2d_Curve)& Pcurv,
|
||||
const Handle(Adaptor3d_HSurface)& S,
|
||||
const Handle(Adaptor3d_Surface)& S,
|
||||
const Standard_Real Pardeb,
|
||||
const Standard_Real Parfin,
|
||||
const Standard_Real tol3d,
|
||||
@@ -1331,8 +1331,8 @@ void ChFi3d_ComputePCurv(const Handle(Geom_Curve)& C3d,
|
||||
Standard_Real& tolreached,
|
||||
const Standard_Boolean reverse)
|
||||
{
|
||||
Handle(Adaptor3d_HSurface) hs(new GeomAdaptor_HSurface(S));
|
||||
Handle(Adaptor3d_HCurve) hc(new GeomAdaptor_HCurve(C3d,Pardeb,Parfin));
|
||||
Handle(Adaptor3d_Surface) hs(new GeomAdaptor_Surface(S));
|
||||
Handle(Adaptor3d_Curve) hc(new GeomAdaptor_Curve(C3d,Pardeb,Parfin));
|
||||
ChFi3d_ComputePCurv(hc,UV1,UV2,Pcurv,hs,Pardeb,Parfin,tol3d,tolreached,reverse);
|
||||
}
|
||||
//=======================================================================
|
||||
@@ -1395,7 +1395,7 @@ void ChFi3d_ComputePCurv(const gp_Pnt2d& UV1,
|
||||
//function : ChFi3d_mkbound
|
||||
//purpose :
|
||||
//=======================================================================
|
||||
Handle(GeomFill_Boundary) ChFi3d_mkbound(const Handle(Adaptor3d_HSurface)& Fac,
|
||||
Handle(GeomFill_Boundary) ChFi3d_mkbound(const Handle(Adaptor3d_Surface)& Fac,
|
||||
Handle(Geom2d_Curve)& curv,
|
||||
const Standard_Integer sens1,
|
||||
const gp_Pnt2d& pfac1,
|
||||
@@ -1417,7 +1417,7 @@ Handle(GeomFill_Boundary) ChFi3d_mkbound(const Handle(Adaptor3d_HSurface)& Fac,
|
||||
//function : ChFi3d_mkbound
|
||||
//purpose :
|
||||
//=======================================================================
|
||||
Handle(GeomFill_Boundary) ChFi3d_mkbound(const Handle(Adaptor3d_HSurface)& Surf,
|
||||
Handle(GeomFill_Boundary) ChFi3d_mkbound(const Handle(Adaptor3d_Surface)& Surf,
|
||||
Handle(Geom2d_Curve)& curv,
|
||||
const Standard_Integer sens1,
|
||||
const gp_Pnt2d& p1,
|
||||
@@ -1444,14 +1444,14 @@ Handle(GeomFill_Boundary) ChFi3d_mkbound(const Handle(Geom_Surface)& s,
|
||||
const Standard_Real ta,
|
||||
const Standard_Boolean isfreeboundary)
|
||||
{
|
||||
Handle(Adaptor3d_HSurface) HS = new GeomAdaptor_HSurface(s);
|
||||
Handle(Adaptor3d_Surface) HS = new GeomAdaptor_Surface(s);
|
||||
return ChFi3d_mkbound(HS,p1,p2,t3d,ta,isfreeboundary);
|
||||
}
|
||||
//=======================================================================
|
||||
//function : ChFi3d_mkbound
|
||||
//purpose :
|
||||
//=======================================================================
|
||||
Handle(GeomFill_Boundary) ChFi3d_mkbound(const Handle(Adaptor3d_HSurface)& HS,
|
||||
Handle(GeomFill_Boundary) ChFi3d_mkbound(const Handle(Adaptor3d_Surface)& HS,
|
||||
const gp_Pnt2d& p1,
|
||||
const gp_Pnt2d& p2,
|
||||
const Standard_Real t3d,
|
||||
@@ -1468,16 +1468,16 @@ Handle(GeomFill_Boundary) ChFi3d_mkbound(const Handle(Adaptor3d_HSurface)& HS,
|
||||
//function : ChFi3d_mkbound
|
||||
//purpose :
|
||||
//=======================================================================
|
||||
Handle(GeomFill_Boundary) ChFi3d_mkbound(const Handle(Adaptor3d_HSurface)& HS,
|
||||
Handle(GeomFill_Boundary) ChFi3d_mkbound(const Handle(Adaptor3d_Surface)& HS,
|
||||
const Handle(Geom2d_Curve)& curv,
|
||||
const Standard_Real t3d,
|
||||
const Standard_Real ta,
|
||||
const Standard_Boolean isfreeboundary)
|
||||
{
|
||||
Handle(Geom2dAdaptor_HCurve) HC = new Geom2dAdaptor_HCurve(curv);
|
||||
Handle(Geom2dAdaptor_Curve) HC = new Geom2dAdaptor_Curve(curv);
|
||||
Adaptor3d_CurveOnSurface COnS(HC,HS);
|
||||
if (isfreeboundary) {
|
||||
Handle(Adaptor3d_HCurveOnSurface) HCOnS = new Adaptor3d_HCurveOnSurface(COnS);
|
||||
Handle(Adaptor3d_CurveOnSurface) HCOnS = new Adaptor3d_CurveOnSurface(COnS);
|
||||
return new GeomFill_SimpleBound(HCOnS,t3d,ta);
|
||||
}
|
||||
return new GeomFill_BoundWithSurf(COnS,t3d,ta);
|
||||
@@ -1486,7 +1486,7 @@ Handle(GeomFill_Boundary) ChFi3d_mkbound(const Handle(Adaptor3d_HSurface)& HS,
|
||||
//function : ChFi3d_mkbound
|
||||
//purpose :
|
||||
//=======================================================================
|
||||
Handle(GeomFill_Boundary) ChFi3d_mkbound(const Handle(Adaptor3d_HSurface)& Fac,
|
||||
Handle(GeomFill_Boundary) ChFi3d_mkbound(const Handle(Adaptor3d_Surface)& Fac,
|
||||
Handle(Geom2d_Curve)& curv,
|
||||
const gp_Pnt2d& p1,
|
||||
const gp_Pnt2d& p2,
|
||||
@@ -1533,7 +1533,7 @@ Handle(Geom2d_Curve) ChFi3d_BuildPCurve(const gp_Pnt2d& p1,
|
||||
//function : ChFi3d_BuildPCurve
|
||||
//purpose :
|
||||
//=======================================================================
|
||||
Handle(Geom2d_Curve) ChFi3d_BuildPCurve(const Handle(Adaptor3d_HSurface)& Surf,
|
||||
Handle(Geom2d_Curve) ChFi3d_BuildPCurve(const Handle(Adaptor3d_Surface)& Surf,
|
||||
const gp_Pnt2d& p1,
|
||||
const gp_Vec2d& v1,
|
||||
const gp_Pnt2d& p2,
|
||||
@@ -1565,7 +1565,7 @@ Handle(Geom2d_Curve) ChFi3d_BuildPCurve(const Handle(Adaptor3d_HSurface)& Surf,
|
||||
//function : ChFi3d_BuildPCurve
|
||||
//purpose :
|
||||
//=======================================================================
|
||||
Handle(Geom2d_Curve) ChFi3d_BuildPCurve(const Handle(Adaptor3d_HSurface)& Surf,
|
||||
Handle(Geom2d_Curve) ChFi3d_BuildPCurve(const Handle(Adaptor3d_Surface)& Surf,
|
||||
const gp_Pnt2d& p1,
|
||||
const gp_Vec& v1,
|
||||
const gp_Pnt2d& p2,
|
||||
@@ -1620,8 +1620,8 @@ void ChFi3d_ComputeArete(const ChFiDS_CommonPoint& P1,
|
||||
// IFlag=0 pcurve et courbe 3d
|
||||
// IFlag>0 pcurve (parametrage impose si IFlag=2)
|
||||
{
|
||||
/*szv:static*/ Handle(GeomAdaptor_HSurface) hs(new GeomAdaptor_HSurface());
|
||||
/*szv:static*/ Handle(GeomAdaptor_HCurve) hc(new GeomAdaptor_HCurve());
|
||||
/*szv:static*/ Handle(GeomAdaptor_Surface) hs(new GeomAdaptor_Surface());
|
||||
/*szv:static*/ Handle(GeomAdaptor_Curve) hc(new GeomAdaptor_Curve());
|
||||
|
||||
tolreached = tol3d;
|
||||
|
||||
@@ -1645,9 +1645,9 @@ void ChFi3d_ComputeArete(const ChFiDS_CommonPoint& P1,
|
||||
}
|
||||
}
|
||||
if(IFlag != 1) {
|
||||
hs->ChangeSurface().Load(Surf);
|
||||
hc->ChangeCurve().Load(C3d,Pardeb,Parfin);
|
||||
const Handle(Adaptor3d_HCurve)& aHCurve = hc; // to avoid ambiguity
|
||||
hs->Load(Surf);
|
||||
hc->Load(C3d,Pardeb,Parfin);
|
||||
const Handle(Adaptor3d_Curve)& aHCurve = hc; // to avoid ambiguity
|
||||
ChFi3d_ComputePCurv(aHCurve,UV1,UV2,Pcurv,hs,Pardeb,Parfin,tol3d,tolreached,Standard_False);
|
||||
}
|
||||
else{
|
||||
@@ -1675,9 +1675,9 @@ void ChFi3d_ComputeArete(const ChFiDS_CommonPoint& P1,
|
||||
}
|
||||
}
|
||||
if(IFlag != 1) {
|
||||
hs->ChangeSurface().Load(Surf);
|
||||
hc->ChangeCurve().Load(C3d,Pardeb,Parfin);
|
||||
const Handle(Adaptor3d_HCurve)& aHCurve = hc; // to avoid ambiguity
|
||||
hs->Load(Surf);
|
||||
hc->Load(C3d,Pardeb,Parfin);
|
||||
const Handle(Adaptor3d_Curve)& aHCurve = hc; // to avoid ambiguity
|
||||
ChFi3d_ComputePCurv(aHCurve,UV1,UV2,Pcurv,hs,Pardeb,Parfin,tol3d,tolreached,Standard_False);
|
||||
}
|
||||
else{
|
||||
@@ -1702,7 +1702,7 @@ void ChFi3d_ComputeArete(const ChFiDS_CommonPoint& P1,
|
||||
C1.Initialize(P2.Arc());
|
||||
gp_Vec Vv2;
|
||||
C1.D1(P2.ParameterOnArc(),Pp,Vv2);
|
||||
hs->ChangeSurface().Load(Surf);
|
||||
hs->Load(Surf);
|
||||
Pcurv = ChFi3d_BuildPCurve(hs,UV1,Vv1,UV2,Vv2,Standard_True);
|
||||
// There are some cases when PCurve constructed in this way
|
||||
// leaves the surface, in particular if it results from an
|
||||
@@ -1726,11 +1726,11 @@ void ChFi3d_ComputeArete(const ChFiDS_CommonPoint& P1,
|
||||
}
|
||||
}
|
||||
Geom2dAdaptor_Curve AC(Pcurv);
|
||||
Handle(Geom2dAdaptor_HCurve) AHC =
|
||||
new Geom2dAdaptor_HCurve(AC);
|
||||
Handle(Geom2dAdaptor_Curve) AHC =
|
||||
new Geom2dAdaptor_Curve(AC);
|
||||
GeomAdaptor_Surface AS(Surf);
|
||||
Handle(GeomAdaptor_HSurface) AHS =
|
||||
new GeomAdaptor_HSurface(AS);
|
||||
Handle(GeomAdaptor_Surface) AHS =
|
||||
new GeomAdaptor_Surface(AS);
|
||||
Adaptor3d_CurveOnSurface Cs(AHC,AHS);
|
||||
Pardeb = Cs.FirstParameter();
|
||||
Parfin = Cs.LastParameter();
|
||||
@@ -1738,8 +1738,8 @@ void ChFi3d_ComputeArete(const ChFiDS_CommonPoint& P1,
|
||||
GeomLib::BuildCurve3d(tol3d,Cs,Pardeb,Parfin,C3d,tolreached,avtol);
|
||||
}
|
||||
else {
|
||||
hs->ChangeSurface().Load(Surf);
|
||||
hc->ChangeCurve().Load(C3d,Pardeb,Parfin);
|
||||
hs->Load(Surf);
|
||||
hc->Load(C3d,Pardeb,Parfin);
|
||||
ChFi3d_ProjectPCurv(hc,hs,Pcurv,tol3d,tolreached);
|
||||
gp_Pnt2d p2d = Pcurv->Value(Pardeb);
|
||||
if(!UV1.IsEqual(p2d,Precision::PConfusion())) {
|
||||
@@ -1826,13 +1826,13 @@ Standard_EXPORT void ChFi3d_FilCommonPoint(const BRepBlend_Extremity& SP,
|
||||
if (SP.NbPointOnRst() != 0) { // An arc, and/or a vertex is loaded
|
||||
|
||||
const BRepBlend_PointOnRst& PR = SP.PointOnRst(1);
|
||||
Handle(BRepAdaptor_HCurve2d)
|
||||
Harc = Handle(BRepAdaptor_HCurve2d)::DownCast(PR.Arc());
|
||||
Handle(BRepAdaptor_Curve2d)
|
||||
Harc = Handle(BRepAdaptor_Curve2d)::DownCast(PR.Arc());
|
||||
if(!Harc.IsNull()) {
|
||||
|
||||
Standard_Real DistF, DistL, LeParamAmoi;
|
||||
Standard_Integer Index_min;
|
||||
TopoDS_Edge E = Harc->ChangeCurve2d().Edge();
|
||||
TopoDS_Edge E = Harc->Edge();
|
||||
|
||||
TopoDS_Vertex V[2];
|
||||
TopExp::Vertices(E, V[0], V[1]);
|
||||
@@ -2900,7 +2900,7 @@ TopoDS_Edge ChFi3d_EdgeFromV1(const TopoDS_Vertex& V1,
|
||||
//purpose : Comme son nom l indique.
|
||||
//=======================================================================
|
||||
|
||||
Standard_Real ChFi3d_ConvTol2dToTol3d(const Handle(Adaptor3d_HSurface)& S,
|
||||
Standard_Real ChFi3d_ConvTol2dToTol3d(const Handle(Adaptor3d_Surface)& S,
|
||||
const Standard_Real tol2d)
|
||||
{
|
||||
Standard_Real ures = S->UResolution(1.e-7);
|
||||
@@ -2915,9 +2915,9 @@ Standard_Real ChFi3d_ConvTol2dToTol3d(const Handle(Adaptor3d_HSurface)& S,
|
||||
// parametrization of surfaces is not homogenous.
|
||||
//=======================================================================
|
||||
|
||||
Standard_Real ChFi3d_EvalTolReached(const Handle(Adaptor3d_HSurface)& S1,
|
||||
Standard_Real ChFi3d_EvalTolReached(const Handle(Adaptor3d_Surface)& S1,
|
||||
const Handle(Geom2d_Curve)& pc1,
|
||||
const Handle(Adaptor3d_HSurface)& S2,
|
||||
const Handle(Adaptor3d_Surface)& S2,
|
||||
const Handle(Geom2d_Curve)& pc2,
|
||||
const Handle(Geom_Curve)& C)
|
||||
{
|
||||
@@ -2952,20 +2952,20 @@ Standard_Real ChFi3d_EvalTolReached(const Handle(Adaptor3d_HSurface)& S1,
|
||||
//function : trsfsurf
|
||||
//purpose :
|
||||
//=======================================================================
|
||||
Handle(Geom_Surface) trsfsurf(const Handle(Adaptor3d_HSurface)& HS,
|
||||
Handle(Geom_Surface) trsfsurf(const Handle(Adaptor3d_Surface)& HS,
|
||||
Handle(Adaptor3d_TopolTool)& /*dom*/)
|
||||
{
|
||||
//Pour l utilisation des domaines voir avec BUBUCH!!
|
||||
Handle(Geom_Surface) res;
|
||||
Handle(BRepAdaptor_HSurface) hbs = Handle(BRepAdaptor_HSurface)::DownCast(HS);
|
||||
Handle(GeomAdaptor_HSurface) hgs = Handle(GeomAdaptor_HSurface)::DownCast(HS);
|
||||
Handle(BRepAdaptor_Surface) hbs = Handle(BRepAdaptor_Surface)::DownCast(HS);
|
||||
Handle(GeomAdaptor_Surface) hgs = Handle(GeomAdaptor_Surface)::DownCast(HS);
|
||||
if(!hbs.IsNull()) {
|
||||
res = hbs->ChangeSurface().Surface().Surface();
|
||||
gp_Trsf trsf = hbs->ChangeSurface().Trsf();
|
||||
res = hbs->Surface().Surface();
|
||||
gp_Trsf trsf = hbs->Trsf();
|
||||
res = Handle(Geom_Surface)::DownCast(res->Transformed(trsf));
|
||||
}
|
||||
else if(!hgs.IsNull()) {
|
||||
res = hgs->ChangeSurface().Surface();
|
||||
res = hgs->Surface();
|
||||
}
|
||||
Handle(Geom_RectangularTrimmedSurface)
|
||||
tr = Handle(Geom_RectangularTrimmedSurface)::DownCast(res);
|
||||
@@ -2987,7 +2987,7 @@ Handle(Geom_Surface) trsfsurf(const Handle(Adaptor3d_HSurface)& HS,
|
||||
}
|
||||
res = new Geom_RectangularTrimmedSurface(res,U1,U2,V1,V2);
|
||||
}
|
||||
// Handle(GeomAdaptor_HSurface) temp = new GeomAdaptor_HSurface(res,U1,U2,V1,V2);
|
||||
// Handle(GeomAdaptor_Surface) temp = new GeomAdaptor_Surface(res,U1,U2,V1,V2);
|
||||
// dom = new Adaptor3d_TopolTool(temp);
|
||||
return res;
|
||||
}
|
||||
@@ -3024,8 +3024,8 @@ static void CurveCleaner(Handle(Geom_BSplineCurve)& BS,
|
||||
// <wholeCurv> means that the resulting curve is restricted by
|
||||
// boundaries of input surfaces (eap 30 May occ354)
|
||||
//=======================================================================
|
||||
Standard_Boolean ChFi3d_ComputeCurves(const Handle(Adaptor3d_HSurface)& S1,
|
||||
const Handle(Adaptor3d_HSurface)& S2,
|
||||
Standard_Boolean ChFi3d_ComputeCurves(const Handle(Adaptor3d_Surface)& S1,
|
||||
const Handle(Adaptor3d_Surface)& S2,
|
||||
const TColStd_Array1OfReal& Pardeb,
|
||||
const TColStd_Array1OfReal& Parfin,
|
||||
Handle(Geom_Curve)& C3d,
|
||||
@@ -3138,8 +3138,8 @@ Standard_Boolean ChFi3d_ComputeCurves(const Handle(Adaptor3d_HSurface)& S1,
|
||||
}
|
||||
}
|
||||
if(!c1line) ElCLib::AdjustPeriodic(0.,2*M_PI,Precision::Angular(),Udeb,Ufin);
|
||||
Handle(GeomAdaptor_HCurve) HC = new GeomAdaptor_HCurve();
|
||||
HC->ChangeCurve().Load(C3d,Udeb,Ufin);
|
||||
Handle(GeomAdaptor_Curve) HC = new GeomAdaptor_Curve();
|
||||
HC->Load(C3d,Udeb,Ufin);
|
||||
ChFi3d_ProjectPCurv(HC,S1,Pc1,tol3d,tolr1);
|
||||
if(S1->GetType() == GeomAbs_Cylinder) {
|
||||
Standard_Real x,y;
|
||||
@@ -3175,8 +3175,8 @@ Standard_Boolean ChFi3d_ComputeCurves(const Handle(Adaptor3d_HSurface)& S1,
|
||||
Udeb = - Udeb;
|
||||
Ufin = - Ufin;
|
||||
}
|
||||
Handle(GeomAdaptor_HCurve) HC = new GeomAdaptor_HCurve();
|
||||
HC->ChangeCurve().Load(C3d,Udeb,Ufin);
|
||||
Handle(GeomAdaptor_Curve) HC = new GeomAdaptor_Curve();
|
||||
HC->Load(C3d,Udeb,Ufin);
|
||||
ChFi3d_ProjectPCurv(HC,S1,Pc1,tol3d,tolr1);
|
||||
ChFi3d_ProjectPCurv(HC,S2,Pc2,tol3d,tolr2);
|
||||
C3d = new Geom_TrimmedCurve(C3d,Udeb,Ufin);
|
||||
@@ -3511,8 +3511,8 @@ Standard_Boolean ChFi3d_ComputeCurves(const Handle(Adaptor3d_HSurface)& S1,
|
||||
//
|
||||
//=======================================================================
|
||||
|
||||
Standard_Boolean ChFi3d_IntCS(const Handle(Adaptor3d_HSurface)& S,
|
||||
const Handle(Adaptor3d_HCurve)& C,
|
||||
Standard_Boolean ChFi3d_IntCS(const Handle(Adaptor3d_Surface)& S,
|
||||
const Handle(Adaptor3d_Curve)& C,
|
||||
gp_Pnt2d& p2dS,
|
||||
Standard_Real& wc)
|
||||
{
|
||||
@@ -3575,8 +3575,8 @@ Standard_Boolean ChFi3d_IntCS(const Handle(Adaptor3d_HSurface)& S,
|
||||
|
||||
void ChFi3d_ComputesIntPC (const ChFiDS_FaceInterference& Fi1,
|
||||
const ChFiDS_FaceInterference& Fi2,
|
||||
const Handle(GeomAdaptor_HSurface)& HS1,
|
||||
const Handle(GeomAdaptor_HSurface)& HS2,
|
||||
const Handle(GeomAdaptor_Surface)& HS1,
|
||||
const Handle(GeomAdaptor_Surface)& HS2,
|
||||
Standard_Real& UInt1,
|
||||
Standard_Real& UInt2)
|
||||
{
|
||||
@@ -3590,8 +3590,8 @@ void ChFi3d_ComputesIntPC (const ChFiDS_FaceInterference& Fi1,
|
||||
//=======================================================================
|
||||
void ChFi3d_ComputesIntPC (const ChFiDS_FaceInterference& Fi1,
|
||||
const ChFiDS_FaceInterference& Fi2,
|
||||
const Handle(GeomAdaptor_HSurface)& HS1,
|
||||
const Handle(GeomAdaptor_HSurface)& HS2,
|
||||
const Handle(GeomAdaptor_Surface)& HS1,
|
||||
const Handle(GeomAdaptor_Surface)& HS2,
|
||||
Standard_Real& UInt1,
|
||||
Standard_Real& UInt2,
|
||||
gp_Pnt& P)
|
||||
@@ -3610,13 +3610,13 @@ void ChFi3d_ComputesIntPC (const ChFiDS_FaceInterference& Fi1,
|
||||
// recalculation of the extremums
|
||||
Standard_Real delt1 =
|
||||
Min(0.1,0.05*(Fi1.LastParameter() - Fi1.FirstParameter()));
|
||||
Handle(Geom2dAdaptor_HCurve) hc2d1 =
|
||||
new Geom2dAdaptor_HCurve(Fi1.PCurveOnSurf(),UInt1-delt1,UInt1+delt1);
|
||||
Handle(Geom2dAdaptor_Curve) hc2d1 =
|
||||
new Geom2dAdaptor_Curve(Fi1.PCurveOnSurf(),UInt1-delt1,UInt1+delt1);
|
||||
Adaptor3d_CurveOnSurface cons1(hc2d1,HS1);
|
||||
Standard_Real delt2 =
|
||||
Min(0.1,0.05*(Fi2.LastParameter() - Fi2.FirstParameter()));
|
||||
Handle(Geom2dAdaptor_HCurve) hc2d2 =
|
||||
new Geom2dAdaptor_HCurve(Fi2.PCurveOnSurf(),UInt2-delt2,UInt2+delt2);
|
||||
Handle(Geom2dAdaptor_Curve) hc2d2 =
|
||||
new Geom2dAdaptor_Curve(Fi2.PCurveOnSurf(),UInt2-delt2,UInt2+delt2);
|
||||
Adaptor3d_CurveOnSurface cons2(hc2d2,HS2);
|
||||
Extrema_LocateExtCC ext(cons1,cons2,UInt1,UInt2);
|
||||
if(ext.IsDone()) {
|
||||
@@ -3639,7 +3639,7 @@ void ChFi3d_ComputesIntPC (const ChFiDS_FaceInterference& Fi1,
|
||||
// SurfData Fd1 and trims it to allow the intersection computation
|
||||
|
||||
//=======================================================================
|
||||
Handle(GeomAdaptor_HSurface) ChFi3d_BoundSurf(TopOpeBRepDS_DataStructure& DStr,
|
||||
Handle(GeomAdaptor_Surface) ChFi3d_BoundSurf(TopOpeBRepDS_DataStructure& DStr,
|
||||
const Handle(ChFiDS_SurfData)& Fd1,
|
||||
const Standard_Integer& IFaCo1,
|
||||
const Standard_Integer& IFaArc1)
|
||||
@@ -3649,8 +3649,8 @@ Handle(GeomAdaptor_HSurface) ChFi3d_BoundSurf(TopOpeBRepDS_DataStructure& DSt
|
||||
// They are preserver here as an option in case it will be necessary to set
|
||||
// more restrictive limits (with intersection points as additional argument).
|
||||
|
||||
Handle(GeomAdaptor_HSurface) HS1 = new GeomAdaptor_HSurface();
|
||||
GeomAdaptor_Surface& S1 = HS1->ChangeSurface();
|
||||
Handle(GeomAdaptor_Surface) HS1 = new GeomAdaptor_Surface();
|
||||
GeomAdaptor_Surface& S1 = *HS1;
|
||||
S1.Load(DStr.Surface(Fd1->Surf()).Surface());
|
||||
|
||||
if ((IFaCo1 == 0)||(IFaArc1 == 0))
|
||||
@@ -3917,7 +3917,7 @@ static Standard_Boolean GoodExt(const Handle(Geom_Curve)& C,
|
||||
//purpose :
|
||||
//=======================================================================
|
||||
Standard_EXPORT
|
||||
void ChFi3d_PerformElSpine(Handle(ChFiDS_HElSpine)& HES,
|
||||
void ChFi3d_PerformElSpine(Handle(ChFiDS_ElSpine)& HES,
|
||||
Handle(ChFiDS_Spine)& Spine,
|
||||
const GeomAbs_Shape continuity,
|
||||
const Standard_Real tol,
|
||||
@@ -3937,7 +3937,7 @@ void ChFi3d_PerformElSpine(Handle(ChFiDS_HElSpine)& HES,
|
||||
TopoDS_Edge E, Eold;
|
||||
TopoDS_Vertex V;
|
||||
//
|
||||
ChFiDS_ElSpine& ES = HES->ChangeCurve();
|
||||
ChFiDS_ElSpine& ES = *HES;
|
||||
WF = ES.FirstParameter();
|
||||
WL = ES.LastParameter();
|
||||
Wrefdeb = WF;
|
||||
|
@@ -26,7 +26,7 @@
|
||||
#include <ChFiDS_Stripe.hxx>
|
||||
#include <ChFiDS_SurfData.hxx>
|
||||
#include <ChFiDS_Spine.hxx>
|
||||
#include <ChFiDS_HElSpine.hxx>
|
||||
#include <ChFiDS_ElSpine.hxx>
|
||||
#include <ChFiDS_CommonPoint.hxx>
|
||||
#include <ChFiDS_Regularities.hxx>
|
||||
#include <ChFiDS_FaceInterference.hxx>
|
||||
@@ -51,12 +51,12 @@
|
||||
#include <Geom_Circle.hxx>
|
||||
#include <GeomAdaptor_Curve.hxx>
|
||||
#include <GeomAdaptor_Surface.hxx>
|
||||
#include <GeomAdaptor_HSurface.hxx>
|
||||
#include <GeomAdaptor_Surface.hxx>
|
||||
#include <BRepAdaptor_Surface.hxx>
|
||||
#include <BRepAdaptor_HSurface.hxx>
|
||||
#include <Adaptor3d_HCurve.hxx>
|
||||
#include <Adaptor3d_HCurveOnSurface.hxx>
|
||||
#include <Adaptor3d_HSurface.hxx>
|
||||
#include <BRepAdaptor_Surface.hxx>
|
||||
#include <Adaptor3d_Curve.hxx>
|
||||
#include <Adaptor3d_CurveOnSurface.hxx>
|
||||
#include <Adaptor3d_Surface.hxx>
|
||||
#include <Extrema_LocateExtCC.hxx>
|
||||
#include <Extrema_POnCurv.hxx>
|
||||
#include <Bnd_Box.hxx>
|
||||
@@ -101,7 +101,7 @@ void ChFi3d_EnlargeBox(const Handle(Geom_Curve)& C,
|
||||
Bnd_Box& box1,
|
||||
Bnd_Box& box2);
|
||||
|
||||
void ChFi3d_EnlargeBox(const Handle(Adaptor3d_HSurface)& S,
|
||||
void ChFi3d_EnlargeBox(const Handle(Adaptor3d_Surface)& S,
|
||||
const Handle(Geom2d_Curve)& PC,
|
||||
const Standard_Real wd,
|
||||
const Standard_Real wf,
|
||||
@@ -152,8 +152,8 @@ void ChFi3d_BoundSrf(GeomAdaptor_Surface& S,
|
||||
const Standard_Real vmax,
|
||||
const Standard_Boolean checknaturalbounds = Standard_True);
|
||||
|
||||
Standard_Boolean ChFi3d_InterPlaneEdge (const Handle(Adaptor3d_HSurface)& Plan,
|
||||
const Handle(Adaptor3d_HCurve)& C,
|
||||
Standard_Boolean ChFi3d_InterPlaneEdge (const Handle(Adaptor3d_Surface)& Plan,
|
||||
const Handle(Adaptor3d_Curve)& C,
|
||||
Standard_Real& W,
|
||||
const Standard_Boolean Sens,
|
||||
const Standard_Real tolc);
|
||||
@@ -183,7 +183,7 @@ Handle(Geom_BezierCurve) ChFi3d_Spine(const gp_Pnt& pd,
|
||||
const Standard_Real R);
|
||||
|
||||
Handle(GeomFill_Boundary) ChFi3d_mkbound
|
||||
(const Handle(Adaptor3d_HSurface)& Fac,
|
||||
(const Handle(Adaptor3d_Surface)& Fac,
|
||||
Handle(Geom2d_Curve)& curv,
|
||||
const Standard_Integer sens1,
|
||||
const gp_Pnt2d& pfac1,
|
||||
@@ -195,7 +195,7 @@ Handle(GeomFill_Boundary) ChFi3d_mkbound
|
||||
const Standard_Real ta);
|
||||
|
||||
Handle(GeomFill_Boundary) ChFi3d_mkbound
|
||||
(const Handle(Adaptor3d_HSurface)& Surf,
|
||||
(const Handle(Adaptor3d_Surface)& Surf,
|
||||
Handle(Geom2d_Curve)& curv,
|
||||
const Standard_Integer sens1,
|
||||
const gp_Pnt2d& p1,
|
||||
@@ -215,7 +215,7 @@ Handle(GeomFill_Boundary) ChFi3d_mkbound
|
||||
const Standard_Boolean isfreeboundary = Standard_False);
|
||||
|
||||
Handle(GeomFill_Boundary) ChFi3d_mkbound
|
||||
(const Handle(Adaptor3d_HSurface)& HS,
|
||||
(const Handle(Adaptor3d_Surface)& HS,
|
||||
const gp_Pnt2d& p1,
|
||||
const gp_Pnt2d& p2,
|
||||
const Standard_Real t3d,
|
||||
@@ -223,14 +223,14 @@ Handle(GeomFill_Boundary) ChFi3d_mkbound
|
||||
const Standard_Boolean isfreeboundary = Standard_False);
|
||||
|
||||
Handle(GeomFill_Boundary) ChFi3d_mkbound
|
||||
(const Handle(Adaptor3d_HSurface)& HS,
|
||||
(const Handle(Adaptor3d_Surface)& HS,
|
||||
const Handle(Geom2d_Curve)& curv,
|
||||
const Standard_Real t3d,
|
||||
const Standard_Real ta,
|
||||
const Standard_Boolean isfreeboundary = Standard_False);
|
||||
|
||||
Handle(GeomFill_Boundary) ChFi3d_mkbound
|
||||
(const Handle(Adaptor3d_HSurface)& Fac,
|
||||
(const Handle(Adaptor3d_Surface)& Fac,
|
||||
Handle(Geom2d_Curve)& curv,
|
||||
const gp_Pnt2d& p1,
|
||||
const gp_Pnt2d& p2,
|
||||
@@ -252,7 +252,7 @@ Handle(Geom2d_Curve) ChFi3d_BuildPCurve
|
||||
const Standard_Boolean redresse = Standard_True);
|
||||
|
||||
Handle(Geom2d_Curve) ChFi3d_BuildPCurve
|
||||
(const Handle(Adaptor3d_HSurface)& Surf,
|
||||
(const Handle(Adaptor3d_Surface)& Surf,
|
||||
const gp_Pnt2d& p1,
|
||||
const gp_Vec& v1,
|
||||
const gp_Pnt2d& p2,
|
||||
@@ -260,7 +260,7 @@ Handle(Geom2d_Curve) ChFi3d_BuildPCurve
|
||||
const Standard_Boolean redresse = Standard_False);
|
||||
|
||||
Handle(Geom2d_Curve) ChFi3d_BuildPCurve
|
||||
(const Handle(Adaptor3d_HSurface)& Surf,
|
||||
(const Handle(Adaptor3d_Surface)& Surf,
|
||||
const gp_Pnt2d& p1,
|
||||
const gp_Vec2d& v1,
|
||||
const gp_Pnt2d& p2,
|
||||
@@ -268,15 +268,15 @@ Handle(Geom2d_Curve) ChFi3d_BuildPCurve
|
||||
const Standard_Boolean redresse = Standard_False);
|
||||
|
||||
Standard_Boolean ChFi3d_CheckSameParameter
|
||||
(const Handle(Adaptor3d_HCurve)& C3d,
|
||||
(const Handle(Adaptor3d_Curve)& C3d,
|
||||
Handle(Geom2d_Curve)& Pcurv,
|
||||
const Handle(Adaptor3d_HSurface)& S,
|
||||
const Handle(Adaptor3d_Surface)& S,
|
||||
const Standard_Real tol3d,
|
||||
Standard_Real& tolreached);
|
||||
|
||||
Standard_Boolean ChFi3d_SameParameter(const Handle(Adaptor3d_HCurve)& C3d,
|
||||
Standard_Boolean ChFi3d_SameParameter(const Handle(Adaptor3d_Curve)& C3d,
|
||||
Handle(Geom2d_Curve)& Pcurv,
|
||||
const Handle(Adaptor3d_HSurface)& S,
|
||||
const Handle(Adaptor3d_Surface)& S,
|
||||
const Standard_Real tol3d,
|
||||
Standard_Real& tolreached);
|
||||
|
||||
@@ -299,11 +299,11 @@ void ChFi3d_ComputePCurv(const Handle(Geom_Curve)& C3d,
|
||||
Standard_Real& tolreached,
|
||||
const Standard_Boolean reverse = Standard_False);
|
||||
|
||||
void ChFi3d_ComputePCurv(const Handle(Adaptor3d_HCurve)& C3d,
|
||||
void ChFi3d_ComputePCurv(const Handle(Adaptor3d_Curve)& C3d,
|
||||
const gp_Pnt2d& UV1,
|
||||
const gp_Pnt2d& UV2,
|
||||
Handle(Geom2d_Curve)& Pcurv,
|
||||
const Handle(Adaptor3d_HSurface)& S,
|
||||
const Handle(Adaptor3d_Surface)& S,
|
||||
const Standard_Real Pardeb,
|
||||
const Standard_Real Parfin,
|
||||
const Standard_Real tol3d,
|
||||
@@ -349,8 +349,8 @@ Standard_Boolean ChFi3d_IsInFront(TopOpeBRepDS_DataStructure& DStr,
|
||||
const Standard_Boolean Check2dDistance = Standard_False,
|
||||
const Standard_Boolean enlarge = Standard_False);
|
||||
|
||||
void ChFi3d_ProjectPCurv(const Handle(Adaptor3d_HCurve)& HCg,
|
||||
const Handle(Adaptor3d_HSurface)& HSg,
|
||||
void ChFi3d_ProjectPCurv(const Handle(Adaptor3d_Curve)& HCg,
|
||||
const Handle(Adaptor3d_Surface)& HSg,
|
||||
Handle(Geom2d_Curve)& Pcurv,
|
||||
const Standard_Real tol3d,
|
||||
Standard_Real& tolreached) ;
|
||||
@@ -430,11 +430,11 @@ TopoDS_Edge ChFi3d_EdgeFromV1(const TopoDS_Vertex& V1,
|
||||
const Handle(ChFiDS_Stripe)& CD,
|
||||
Standard_Integer& sens);
|
||||
|
||||
Standard_Real ChFi3d_ConvTol2dToTol3d(const Handle(Adaptor3d_HSurface)& S,
|
||||
Standard_Real ChFi3d_ConvTol2dToTol3d(const Handle(Adaptor3d_Surface)& S,
|
||||
const Standard_Real tol2d);
|
||||
|
||||
Standard_Boolean ChFi3d_ComputeCurves(const Handle(Adaptor3d_HSurface)& S1,
|
||||
const Handle(Adaptor3d_HSurface)& S2,
|
||||
Standard_Boolean ChFi3d_ComputeCurves(const Handle(Adaptor3d_Surface)& S1,
|
||||
const Handle(Adaptor3d_Surface)& S2,
|
||||
const TColStd_Array1OfReal& Pardeb,
|
||||
const TColStd_Array1OfReal& Parfin,
|
||||
Handle(Geom_Curve)& C3d,
|
||||
@@ -446,27 +446,27 @@ Standard_Boolean ChFi3d_ComputeCurves(const Handle(Adaptor3d_HSurface)& S1,
|
||||
const Standard_Boolean wholeCurv
|
||||
= Standard_True);
|
||||
|
||||
Standard_Boolean ChFi3d_IntCS(const Handle(Adaptor3d_HSurface)& S,
|
||||
const Handle(Adaptor3d_HCurve)& C,
|
||||
Standard_Boolean ChFi3d_IntCS(const Handle(Adaptor3d_Surface)& S,
|
||||
const Handle(Adaptor3d_Curve)& C,
|
||||
gp_Pnt2d& p2dS,
|
||||
Standard_Real& wc);
|
||||
|
||||
void ChFi3d_ComputesIntPC (const ChFiDS_FaceInterference& Fi1,
|
||||
const ChFiDS_FaceInterference& Fi2,
|
||||
const Handle(GeomAdaptor_HSurface)& HS1,
|
||||
const Handle(GeomAdaptor_HSurface)& HS2,
|
||||
const Handle(GeomAdaptor_Surface)& HS1,
|
||||
const Handle(GeomAdaptor_Surface)& HS2,
|
||||
Standard_Real& UInt1,
|
||||
Standard_Real& UInt2);
|
||||
|
||||
void ChFi3d_ComputesIntPC (const ChFiDS_FaceInterference& Fi1,
|
||||
const ChFiDS_FaceInterference& Fi2,
|
||||
const Handle(GeomAdaptor_HSurface)& HS1,
|
||||
const Handle(GeomAdaptor_HSurface)& HS2,
|
||||
const Handle(GeomAdaptor_Surface)& HS1,
|
||||
const Handle(GeomAdaptor_Surface)& HS2,
|
||||
Standard_Real& UInt1,
|
||||
Standard_Real& UInt2,
|
||||
gp_Pnt& P);
|
||||
|
||||
Handle(GeomAdaptor_HSurface) ChFi3d_BoundSurf(TopOpeBRepDS_DataStructure& DStr,
|
||||
Handle(GeomAdaptor_Surface) ChFi3d_BoundSurf(TopOpeBRepDS_DataStructure& DStr,
|
||||
const Handle(ChFiDS_SurfData)& Fd1,
|
||||
const Standard_Integer& IFaCo1,
|
||||
const Standard_Integer& IFaArc1);
|
||||
@@ -502,14 +502,14 @@ void ChFi3d_TrimCurve(const Handle(Geom_Curve)& gc,
|
||||
const gp_Pnt& LastP,
|
||||
Handle(Geom_TrimmedCurve)& gtc);
|
||||
|
||||
Standard_EXPORT void ChFi3d_PerformElSpine(Handle(ChFiDS_HElSpine)& HES,
|
||||
Standard_EXPORT void ChFi3d_PerformElSpine(Handle(ChFiDS_ElSpine)& HES,
|
||||
Handle(ChFiDS_Spine)& Spine,
|
||||
const GeomAbs_Shape continuity,
|
||||
const Standard_Real tol,
|
||||
const Standard_Boolean IsOffset = Standard_False);
|
||||
|
||||
TopoDS_Face ChFi3d_EnlargeFace(const Handle(ChFiDS_Spine)& Spine,
|
||||
const Handle(BRepAdaptor_HSurface)& HS,
|
||||
const Handle(BRepAdaptor_Surface)& HS,
|
||||
const Standard_Real Tol );
|
||||
|
||||
|
||||
@@ -523,9 +523,9 @@ void ChFi3d_cherche_element( const TopoDS_Vertex & V,
|
||||
TopoDS_Edge & E ,
|
||||
TopoDS_Vertex & Vtx );
|
||||
|
||||
Standard_Real ChFi3d_EvalTolReached(const Handle(Adaptor3d_HSurface)& S1,
|
||||
Standard_Real ChFi3d_EvalTolReached(const Handle(Adaptor3d_Surface)& S1,
|
||||
const Handle(Geom2d_Curve)& pc1,
|
||||
const Handle(Adaptor3d_HSurface)& S2,
|
||||
const Handle(Adaptor3d_Surface)& S2,
|
||||
const Handle(Geom2d_Curve)& pc2,
|
||||
const Handle(Geom_Curve)& C);
|
||||
|
||||
|
@@ -15,8 +15,8 @@
|
||||
// commercial license or contractual agreement.
|
||||
|
||||
|
||||
#include <Adaptor2d_HCurve2d.hxx>
|
||||
#include <Adaptor3d_HSurface.hxx>
|
||||
#include <Adaptor2d_Curve2d.hxx>
|
||||
#include <Adaptor3d_Surface.hxx>
|
||||
#include <Adaptor3d_TopolTool.hxx>
|
||||
#include <AppBlend_Approx.hxx>
|
||||
#include <Blend_CurvPointFuncInv.hxx>
|
||||
@@ -28,8 +28,7 @@
|
||||
#include <Blend_SurfRstFunction.hxx>
|
||||
#include <BRep_Tool.hxx>
|
||||
#include <BRepAdaptor_Curve.hxx>
|
||||
#include <BRepAdaptor_HCurve2d.hxx>
|
||||
#include <BRepAdaptor_HSurface.hxx>
|
||||
#include <BRepAdaptor_Curve2d.hxx>
|
||||
#include <BRepAdaptor_Surface.hxx>
|
||||
#include <BRepBlend_Line.hxx>
|
||||
#include <BRepLProp_SLProps.hxx>
|
||||
@@ -41,7 +40,7 @@
|
||||
#include <ChFiDS_ErrorStatus.hxx>
|
||||
#include <ChFiDS_FilSpine.hxx>
|
||||
#include <ChFiDS_HData.hxx>
|
||||
#include <ChFiDS_HElSpine.hxx>
|
||||
#include <ChFiDS_ElSpine.hxx>
|
||||
#include <ChFiDS_ListIteratorOfListOfStripe.hxx>
|
||||
#include <ChFiDS_ListIteratorOfRegularities.hxx>
|
||||
#include <ChFiDS_Regul.hxx>
|
||||
@@ -627,15 +626,15 @@ Standard_Boolean ChFi3d_Builder::FaceTangency(const TopoDS_Edge& E0,
|
||||
//=======================================================================
|
||||
static Standard_Boolean TangentExtremity(const TopoDS_Vertex& V,
|
||||
const TopoDS_Edge& E,
|
||||
const Handle(BRepAdaptor_HSurface)& hs1,
|
||||
const Handle(BRepAdaptor_HSurface)& hs2,
|
||||
const Handle(BRepAdaptor_Surface)& hs1,
|
||||
const Handle(BRepAdaptor_Surface)& hs2,
|
||||
// const Standard_Real t3d,
|
||||
const Standard_Real tang)
|
||||
{
|
||||
TopoDS_Face f1 = hs1->ChangeSurface().Face();
|
||||
TopoDS_Face f1 = hs1->Face();
|
||||
TopAbs_Orientation O1 = f1.Orientation();
|
||||
f1.Orientation(TopAbs_FORWARD);
|
||||
TopoDS_Face f2 = hs2->ChangeSurface().Face();
|
||||
TopoDS_Face f2 = hs2->Face();
|
||||
TopAbs_Orientation O2 = f2.Orientation();
|
||||
f2.Orientation(TopAbs_FORWARD);
|
||||
TopoDS_Edge e1 = E, e2 = E;
|
||||
@@ -649,7 +648,7 @@ static Standard_Boolean TangentExtremity(const TopoDS_Vertex& V,
|
||||
gp_Vec n1, n2;// gp_Pnt pt1,pt2;
|
||||
Handle(Geom2d_Curve) pc1 = BRep_Tool::CurveOnSurface(e1,f1,f,l);
|
||||
pc1->Value(p1).Coord(u,v);
|
||||
BRepLProp_SLProps theProp1(hs1->ChangeSurface(), u, v, 1, Eps);
|
||||
BRepLProp_SLProps theProp1 (*hs1, u, v, 1, Eps);
|
||||
if (theProp1.IsNormalDefined()) {
|
||||
n1.SetXYZ(theProp1.Normal().XYZ());
|
||||
if (O1 == TopAbs_REVERSED) n1.Reverse();
|
||||
@@ -659,7 +658,7 @@ static Standard_Boolean TangentExtremity(const TopoDS_Vertex& V,
|
||||
|
||||
Handle(Geom2d_Curve) pc2 = BRep_Tool::CurveOnSurface(e2,f2,f,l);
|
||||
pc2->Value(p2).Coord(u,v);
|
||||
BRepLProp_SLProps theProp2(hs2->ChangeSurface(), u, v, 1, Eps);
|
||||
BRepLProp_SLProps theProp2 (*hs2, u, v, 1, Eps);
|
||||
if (theProp2.IsNormalDefined()) {
|
||||
n2.SetXYZ(theProp2.Normal().XYZ());
|
||||
if(O2 == TopAbs_REVERSED) n2.Reverse();
|
||||
@@ -681,8 +680,8 @@ static Standard_Boolean TangentOnVertex(const TopoDS_Vertex& V,
|
||||
TopoDS_Face ff1,ff2;
|
||||
ChFi3d_conexfaces(E,ff1,ff2,EFMap);
|
||||
if(ff1.IsNull() || ff2.IsNull()) return 0;
|
||||
Handle(BRepAdaptor_HSurface) S1 = new (BRepAdaptor_HSurface)(ff1);
|
||||
Handle(BRepAdaptor_HSurface) S2 = new (BRepAdaptor_HSurface)(ff2);
|
||||
Handle(BRepAdaptor_Surface) S1 = new (BRepAdaptor_Surface)(ff1);
|
||||
Handle(BRepAdaptor_Surface) S2 = new (BRepAdaptor_Surface)(ff2);
|
||||
return TangentExtremity(V, E, S1, S2, tang);
|
||||
}
|
||||
|
||||
@@ -702,7 +701,7 @@ void ChFi3d_Builder::PerformExtremity (const Handle(ChFiDS_Spine)& Spine)
|
||||
TopoDS_Vertex V;
|
||||
ChFiDS_State sst;
|
||||
Standard_Integer iedge;
|
||||
Handle(BRepAdaptor_HSurface) hs1,hs2;
|
||||
Handle(BRepAdaptor_Surface) hs1,hs2;
|
||||
if(ii == 1){
|
||||
sst = Spine->FirstStatus();
|
||||
iedge = 1;
|
||||
|
@@ -15,8 +15,8 @@
|
||||
// commercial license or contractual agreement.
|
||||
|
||||
|
||||
#include <Adaptor2d_HCurve2d.hxx>
|
||||
#include <Adaptor3d_HSurface.hxx>
|
||||
#include <Adaptor2d_Curve2d.hxx>
|
||||
#include <Adaptor3d_Surface.hxx>
|
||||
#include <Adaptor3d_TopolTool.hxx>
|
||||
#include <AppBlend_Approx.hxx>
|
||||
#include <Blend_CurvPointFuncInv.hxx>
|
||||
@@ -28,9 +28,7 @@
|
||||
#include <Blend_SurfRstFunction.hxx>
|
||||
#include <BRep_Tool.hxx>
|
||||
#include <BRepAdaptor_Curve.hxx>
|
||||
#include <BRepAdaptor_HCurve.hxx>
|
||||
#include <BRepAdaptor_HCurve2d.hxx>
|
||||
#include <BRepAdaptor_HSurface.hxx>
|
||||
#include <BRepAdaptor_Curve2d.hxx>
|
||||
#include <BRepAdaptor_Surface.hxx>
|
||||
#include <BRepBlend_Line.hxx>
|
||||
#include <BRepLib_MakeFace.hxx>
|
||||
@@ -48,7 +46,7 @@
|
||||
#include <ChFiDS_FaceInterference.hxx>
|
||||
#include <ChFiDS_FilSpine.hxx>
|
||||
#include <ChFiDS_HData.hxx>
|
||||
#include <ChFiDS_HElSpine.hxx>
|
||||
#include <ChFiDS_ElSpine.hxx>
|
||||
#include <ChFiDS_ListIteratorOfListOfHElSpine.hxx>
|
||||
#include <ChFiDS_ListOfHElSpine.hxx>
|
||||
#include <ChFiDS_SequenceOfSurfData.hxx>
|
||||
@@ -68,8 +66,8 @@
|
||||
#include <Geom_Line.hxx>
|
||||
#include <Geom_Plane.hxx>
|
||||
#include <Geom_Surface.hxx>
|
||||
#include <GeomAdaptor_HCurve.hxx>
|
||||
#include <GeomAdaptor_HSurface.hxx>
|
||||
#include <GeomAdaptor_Curve.hxx>
|
||||
#include <GeomAdaptor_Surface.hxx>
|
||||
#include <GeomAdaptor_Surface.hxx>
|
||||
#include <GeomAPI_ProjectPointOnCurve.hxx>
|
||||
#include <gp_Pln.hxx>
|
||||
@@ -129,7 +127,7 @@ extern void ChFi3d_ResultChron(OSD_Chronometer & ch, Standard_Real& time);
|
||||
//====================================================================
|
||||
static void ChFi3d_CoupeParPlan (const ChFiDS_CommonPoint & compoint1,
|
||||
const ChFiDS_CommonPoint & compoint2,
|
||||
Handle(GeomAdaptor_HSurface)& HConge,
|
||||
Handle(GeomAdaptor_Surface)& HConge,
|
||||
const gp_Pnt2d & UV1,
|
||||
const gp_Pnt2d & UV2,
|
||||
const Standard_Real tol3d,
|
||||
@@ -160,7 +158,7 @@ static void ChFi3d_CoupeParPlan (const ChFiDS_CommonPoint & compoint1,
|
||||
Standard_Real scal;
|
||||
scal=Abs(nor.Dot(tgt2));
|
||||
if (scal<0.01) {
|
||||
Handle(GeomAdaptor_HSurface) HPlan=new GeomAdaptor_HSurface(Plan);
|
||||
Handle(GeomAdaptor_Surface) HPlan=new GeomAdaptor_Surface(Plan);
|
||||
Handle(Geom2d_Curve) C2dint2;
|
||||
TColStd_Array1OfReal Pdeb(1,4),Pfin(1,4);
|
||||
GeomAdaptor_Surface AS(Plan);
|
||||
@@ -212,9 +210,9 @@ static Standard_Boolean SortieTangente(const ChFiDS_CommonPoint& CP,
|
||||
//=======================================================================
|
||||
|
||||
static Standard_Boolean BonVoisin(const gp_Pnt& Point,
|
||||
Handle(BRepAdaptor_HSurface)& HS,
|
||||
Handle(BRepAdaptor_Surface)& HS,
|
||||
TopoDS_Face& F,
|
||||
Handle(GeomAdaptor_HSurface)& plane,
|
||||
Handle(GeomAdaptor_Surface)& plane,
|
||||
const TopoDS_Edge& cured,
|
||||
Standard_Real& XDep,
|
||||
Standard_Real& YDep,
|
||||
@@ -225,7 +223,7 @@ static Standard_Boolean BonVoisin(const gp_Pnt& Point,
|
||||
Standard_Real winter, Uf, Ul;
|
||||
gp_Pnt papp = HS->Value(XDep, YDep);
|
||||
Standard_Real dist = RealLast();
|
||||
Handle(BRepAdaptor_HCurve) hc = new BRepAdaptor_HCurve();
|
||||
Handle(BRepAdaptor_Curve) hc = new BRepAdaptor_Curve();
|
||||
Handle(Geom2d_Curve) PC;
|
||||
Standard_Boolean found = 0;
|
||||
|
||||
@@ -233,8 +231,8 @@ static Standard_Boolean BonVoisin(const gp_Pnt& Point,
|
||||
for(Ex.Init(F,TopAbs_EDGE); Ex.More(); Ex.Next()){
|
||||
const TopoDS_Edge& ecur = TopoDS::Edge(Ex.Current());
|
||||
if(!ecur.IsSame(cured)){
|
||||
hc->ChangeCurve().Initialize(ecur);
|
||||
Standard_Real tolc = hc->ChangeCurve().Resolution(tolesp);
|
||||
hc->Initialize(ecur);
|
||||
Standard_Real tolc = hc->Resolution(tolesp);
|
||||
if(ChFi3d_InterPlaneEdge(plane,hc,winter,1,tolc)){
|
||||
gp_Pnt np = hc->Value(winter);
|
||||
Standard_Real ndist = np.SquareDistance(papp);
|
||||
@@ -257,7 +255,7 @@ static Standard_Boolean BonVoisin(const gp_Pnt& Point,
|
||||
TopoDS_Edge newe = ecur;
|
||||
newe.Orientation(TopAbs_FORWARD);
|
||||
dist = ndist;
|
||||
HS->ChangeSurface().Initialize(ff);
|
||||
HS->Initialize(ff);
|
||||
if(isclosed && !isreallyclosed){
|
||||
TopoDS_Face fff = ff;
|
||||
fff.Orientation(TopAbs_FORWARD);
|
||||
@@ -586,15 +584,15 @@ CallPerformSurf(Handle(ChFiDS_Stripe)& Stripe,
|
||||
const Standard_Boolean Simul,
|
||||
ChFiDS_SequenceOfSurfData& SeqSD,
|
||||
Handle(ChFiDS_SurfData)& SD,
|
||||
const Handle(ChFiDS_HElSpine)& HGuide,
|
||||
const Handle(ChFiDS_ElSpine)& HGuide,
|
||||
const Handle(ChFiDS_Spine)& Spine,
|
||||
const Handle(BRepAdaptor_HSurface)& HS1,
|
||||
const Handle(BRepAdaptor_HSurface)& HS3,
|
||||
const Handle(BRepAdaptor_Surface)& HS1,
|
||||
const Handle(BRepAdaptor_Surface)& HS3,
|
||||
const gp_Pnt2d& pp1,
|
||||
const gp_Pnt2d& pp3,
|
||||
const Handle(Adaptor3d_TopolTool)& It1,
|
||||
const Handle(BRepAdaptor_HSurface)& HS2,
|
||||
const Handle(BRepAdaptor_HSurface)& HS4,
|
||||
const Handle(BRepAdaptor_Surface)& HS2,
|
||||
const Handle(BRepAdaptor_Surface)& HS4,
|
||||
const gp_Pnt2d& pp2,
|
||||
const gp_Pnt2d& pp4,
|
||||
const Handle(Adaptor3d_TopolTool)& It2,
|
||||
@@ -611,22 +609,22 @@ CallPerformSurf(Handle(ChFiDS_Stripe)& Stripe,
|
||||
math_Vector& Soldep,
|
||||
Standard_Integer& intf,
|
||||
Standard_Integer& intl,
|
||||
Handle(BRepAdaptor_HSurface)& Surf1,
|
||||
Handle(BRepAdaptor_HSurface)& Surf2)
|
||||
Handle(BRepAdaptor_Surface)& Surf1,
|
||||
Handle(BRepAdaptor_Surface)& Surf2)
|
||||
{
|
||||
#ifdef OCCT_DEBUG
|
||||
OSD_Chronometer ch1;
|
||||
#endif
|
||||
Handle(BRepAdaptor_HSurface) HSon1, HSon2;
|
||||
Handle(BRepAdaptor_Surface) HSon1, HSon2;
|
||||
HSon1 = HS1;
|
||||
HSon2 = HS2;
|
||||
// Definition of the domain of path It1, It2
|
||||
It1->Initialize((const Handle(Adaptor3d_HSurface)&)HSon1);
|
||||
It2->Initialize((const Handle(Adaptor3d_HSurface)&)HSon2);
|
||||
It1->Initialize((const Handle(Adaptor3d_Surface)&)HSon1);
|
||||
It2->Initialize((const Handle(Adaptor3d_Surface)&)HSon2);
|
||||
|
||||
|
||||
TopAbs_Orientation Or1 = HS1->ChangeSurface().Face().Orientation();
|
||||
TopAbs_Orientation Or2 = HS2->ChangeSurface().Face().Orientation();
|
||||
TopAbs_Orientation Or1 = HS1->Face().Orientation();
|
||||
TopAbs_Orientation Or2 = HS2->Face().Orientation();
|
||||
Standard_Integer Choix =
|
||||
ChFi3d::NextSide(Or1,Or2,
|
||||
Stripe->OrientationOnFace1(),
|
||||
@@ -664,15 +662,15 @@ CallPerformSurf(Handle(ChFiDS_Stripe)& Stripe,
|
||||
Standard_Boolean reprise = Standard_False;
|
||||
if (! HS3.IsNull()) {
|
||||
HSon1 = HS3;
|
||||
It1->Initialize((const Handle(Adaptor3d_HSurface)&)HS3);
|
||||
Or1 = HS3->ChangeSurface().Face().Orientation();
|
||||
It1->Initialize((const Handle(Adaptor3d_Surface)&)HS3);
|
||||
Or1 = HS3->Face().Orientation();
|
||||
Soldep(1) = pp3.X(); Soldep(2) = pp3.Y();
|
||||
reprise = Standard_True;
|
||||
}
|
||||
else if (! HS4.IsNull()) {
|
||||
HSon2 = HS4;
|
||||
It2->Initialize((const Handle(Adaptor3d_HSurface)&)HS4);
|
||||
Or2 = HS4->ChangeSurface().Face().Orientation();
|
||||
It2->Initialize((const Handle(Adaptor3d_Surface)&)HS4);
|
||||
Or2 = HS4->Face().Orientation();
|
||||
Soldep(3) = pp4.X(); Soldep(4) = pp4.Y();
|
||||
reprise = Standard_True;
|
||||
}
|
||||
@@ -751,13 +749,13 @@ Standard_Boolean ChFi3d_Builder::StripeOrientations
|
||||
|
||||
void ChFi3d_Builder::ConexFaces (const Handle(ChFiDS_Spine)& Spine,
|
||||
const Standard_Integer IEdge,
|
||||
Handle(BRepAdaptor_HSurface)& HS1,
|
||||
Handle(BRepAdaptor_HSurface)& HS2) const
|
||||
Handle(BRepAdaptor_Surface)& HS1,
|
||||
Handle(BRepAdaptor_Surface)& HS2) const
|
||||
{
|
||||
if(HS1.IsNull()) HS1 = new BRepAdaptor_HSurface ();
|
||||
if(HS2.IsNull()) HS2 = new BRepAdaptor_HSurface ();
|
||||
BRepAdaptor_Surface& Sb1 = HS1->ChangeSurface();
|
||||
BRepAdaptor_Surface& Sb2 = HS2->ChangeSurface();
|
||||
if(HS1.IsNull()) HS1 = new BRepAdaptor_Surface ();
|
||||
if(HS2.IsNull()) HS2 = new BRepAdaptor_Surface ();
|
||||
BRepAdaptor_Surface& Sb1 = *HS1;
|
||||
BRepAdaptor_Surface& Sb2 = *HS2;
|
||||
|
||||
TopoDS_Face ff1,ff2;
|
||||
TopoDS_Edge anEdge = Spine->Edges(IEdge);
|
||||
@@ -781,9 +779,9 @@ void ChFi3d_Builder::ConexFaces (const Handle(ChFiDS_Spine)& Spine,
|
||||
//=======================================================================
|
||||
|
||||
void ChFi3d_Builder::StartSol(const Handle(ChFiDS_Stripe)& Stripe,
|
||||
const Handle(ChFiDS_HElSpine)& HGuide,
|
||||
Handle(BRepAdaptor_HSurface)& HS1,
|
||||
Handle(BRepAdaptor_HSurface)& HS2,
|
||||
const Handle(ChFiDS_ElSpine)& HGuide,
|
||||
Handle(BRepAdaptor_Surface)& HS1,
|
||||
Handle(BRepAdaptor_Surface)& HS2,
|
||||
Handle(BRepTopAdaptor_TopolTool)& I1,
|
||||
Handle(BRepTopAdaptor_TopolTool)& I2,
|
||||
gp_Pnt2d& P1,
|
||||
@@ -791,7 +789,7 @@ void ChFi3d_Builder::StartSol(const Handle(ChFiDS_Stripe)& Stripe,
|
||||
Standard_Real& First) const
|
||||
{
|
||||
Handle(ChFiDS_Spine)& Spine = Stripe->ChangeSpine();
|
||||
ChFiDS_ElSpine& els = HGuide->ChangeCurve();
|
||||
ChFiDS_ElSpine& els = *HGuide;
|
||||
Standard_Integer nbed = Spine->NbEdges();
|
||||
Standard_Integer nbessaimax = 3*nbed;
|
||||
if (nbessaimax < 10) nbessaimax = 10;
|
||||
@@ -830,8 +828,8 @@ void ChFi3d_Builder::StartSol(const Handle(ChFiDS_Stripe)& Stripe,
|
||||
cured = Spine->Edges(iedge);
|
||||
TolE = BRep_Tool::Tolerance(cured);
|
||||
ConexFaces(Spine,iedge,HS1,HS2);
|
||||
f1 = HS1->ChangeSurface().Face();
|
||||
f2 = HS2->ChangeSurface().Face();
|
||||
f1 = HS1->Face();
|
||||
f2 = HS2->Face();
|
||||
Or1 = f1.Orientation();
|
||||
Or2 = f2.Orientation();
|
||||
Choix = ChFi3d::NextSide(Or1,Or2,
|
||||
@@ -847,7 +845,7 @@ void ChFi3d_Builder::StartSol(const Handle(ChFiDS_Stripe)& Stripe,
|
||||
f1forward.Orientation(TopAbs_FORWARD);
|
||||
f2forward.Orientation(TopAbs_FORWARD);
|
||||
PC = BRep_Tool::CurveOnSurface(cured,f1forward,Uf,Ul);
|
||||
I1->Initialize((const Handle(Adaptor3d_HSurface)&)HS1);
|
||||
I1->Initialize((const Handle(Adaptor3d_Surface)&)HS1);
|
||||
PC->D1(woned, P1, derive);
|
||||
// There are ponts on the border, and internal points are found
|
||||
if (derive.Magnitude() > Precision::PConfusion()) {
|
||||
@@ -871,7 +869,7 @@ void ChFi3d_Builder::StartSol(const Handle(ChFiDS_Stripe)& Stripe,
|
||||
if(f1.IsSame(f2)) cured.Orientation(TopAbs_REVERSED);
|
||||
PC = BRep_Tool::CurveOnSurface(cured,f2forward,Uf,Ul);
|
||||
P2 = PC->Value(woned);
|
||||
const Handle(Adaptor3d_HSurface)& HSon2 = HS2; // to avoid ambiguity
|
||||
const Handle(Adaptor3d_Surface)& HSon2 = HS2; // to avoid ambiguity
|
||||
I2->Initialize(HSon2);
|
||||
|
||||
SolDep(1) = P1.X(); SolDep(2) = P1.Y();
|
||||
@@ -897,8 +895,8 @@ void ChFi3d_Builder::StartSol(const Handle(ChFiDS_Stripe)& Stripe,
|
||||
iedge = Spine->Index(w);
|
||||
cured = Spine->Edges(iedge);
|
||||
ConexFaces(Spine,iedge,HS1,HS2);
|
||||
f1 = HS1->ChangeSurface().Face();
|
||||
f2 = HS2->ChangeSurface().Face();
|
||||
f1 = HS1->Face();
|
||||
f2 = HS2->Face();
|
||||
Or1 = f1.Orientation();
|
||||
Or2 = f2.Orientation();
|
||||
Choix = ChFi3d::NextSide(Or1,Or2,
|
||||
@@ -914,8 +912,8 @@ void ChFi3d_Builder::StartSol(const Handle(ChFiDS_Stripe)& Stripe,
|
||||
P1 = PC->Value(woned);
|
||||
PC = BRep_Tool::CurveOnSurface(cured,f2forward,Uf,Ul);
|
||||
P2 = PC->Value(woned);
|
||||
const Handle(Adaptor3d_HSurface)& HSon1 = HS1; // to avoid ambiguity
|
||||
const Handle(Adaptor3d_HSurface)& HSon2 = HS2; // to avoid ambiguity
|
||||
const Handle(Adaptor3d_Surface)& HSon1 = HS1; // to avoid ambiguity
|
||||
const Handle(Adaptor3d_Surface)& HSon2 = HS2; // to avoid ambiguity
|
||||
I1->Initialize(HSon1);
|
||||
I2->Initialize(HSon2);
|
||||
SolDep(1) = P1.X(); SolDep(2) = P1.Y();
|
||||
@@ -932,7 +930,7 @@ void ChFi3d_Builder::StartSol(const Handle(ChFiDS_Stripe)& Stripe,
|
||||
gp_Vec V;
|
||||
HGuide->D1(w,P,V);
|
||||
Handle(Geom_Plane) pl = new Geom_Plane(P,V);
|
||||
Handle(GeomAdaptor_HSurface) plane = new GeomAdaptor_HSurface(pl);
|
||||
Handle(GeomAdaptor_Surface) plane = new GeomAdaptor_Surface(pl);
|
||||
|
||||
Standard_Boolean bonvoisin = 1, found = 0;
|
||||
Standard_Integer NbChangement;
|
||||
@@ -947,16 +945,16 @@ void ChFi3d_Builder::StartSol(const Handle(ChFiDS_Stripe)& Stripe,
|
||||
SolDep(3),SolDep(4), myEFMap, tolesp);
|
||||
}
|
||||
if(bonvoisin){
|
||||
f1 = HS1->ChangeSurface().Face();
|
||||
f2 = HS2->ChangeSurface().Face();
|
||||
f1 = HS1->Face();
|
||||
f2 = HS2->Face();
|
||||
Or1 = f1.Orientation();
|
||||
Or2 = f2.Orientation();
|
||||
Choix = ChFi3d::NextSide(Or1,Or2,
|
||||
Stripe->OrientationOnFace1(),
|
||||
Stripe->OrientationOnFace2(),
|
||||
RC);
|
||||
const Handle(Adaptor3d_HSurface)& HSon1new = HS1; // to avoid ambiguity
|
||||
const Handle(Adaptor3d_HSurface)& HSon2new = HS2; // to avoid ambiguity
|
||||
const Handle(Adaptor3d_Surface)& HSon1new = HS1; // to avoid ambiguity
|
||||
const Handle(Adaptor3d_Surface)& HSon2new = HS2; // to avoid ambiguity
|
||||
I1->Initialize(HSon1new);
|
||||
I2->Initialize(HSon2new);
|
||||
if(PerformFirstSection(Spine,HGuide,Choix,HS1,HS2,
|
||||
@@ -981,7 +979,7 @@ void ChFi3d_Builder::StartSol(const Handle(ChFiDS_Stripe)& Stripe,
|
||||
//=======================================================================
|
||||
|
||||
static void ChFi3d_BuildPlane (TopOpeBRepDS_DataStructure& DStr,
|
||||
Handle(BRepAdaptor_HSurface)& HS,
|
||||
Handle(BRepAdaptor_Surface)& HS,
|
||||
gp_Pnt2d& pons,
|
||||
const Handle(ChFiDS_SurfData)& SD,
|
||||
const Standard_Boolean isfirst,
|
||||
@@ -997,14 +995,14 @@ static void ChFi3d_BuildPlane (TopOpeBRepDS_DataStructure& DStr,
|
||||
Hc = BRep_Tool::CurveOnSurface
|
||||
(SD->Vertex(isfirst,ons).Arc(),F,u,v);
|
||||
Hc->Value(SD->Vertex(isfirst,ons).ParameterOnArc()).Coord(u,v);
|
||||
BRepLProp_SLProps theProp(HS->ChangeSurface(), u, v, 1, 1.e-12);
|
||||
BRepLProp_SLProps theProp (*HS, u, v, 1, 1.e-12);
|
||||
if (theProp.IsNormalDefined()) {
|
||||
P = theProp.Value();
|
||||
Handle(Geom_Plane) Pln = new Geom_Plane(P, theProp.Normal());
|
||||
TopoDS_Face NewF = BRepLib_MakeFace(Pln, Precision::Confusion());
|
||||
NewF.Orientation(F.Orientation());
|
||||
pons.SetCoord(0.,0.);
|
||||
HS->ChangeSurface().Initialize(NewF);
|
||||
HS->Initialize(NewF);
|
||||
return; // everything is good !
|
||||
}
|
||||
}
|
||||
@@ -1029,20 +1027,20 @@ static void ChFi3d_BuildPlane (TopOpeBRepDS_DataStructure& DStr,
|
||||
|
||||
Standard_Boolean
|
||||
ChFi3d_Builder::StartSol(const Handle(ChFiDS_Spine)& Spine,
|
||||
Handle(BRepAdaptor_HSurface)& HS, // New face
|
||||
Handle(BRepAdaptor_Surface)& HS, // New face
|
||||
gp_Pnt2d& pons,// " Localization
|
||||
Handle(BRepAdaptor_HCurve2d)& HC, // Representation of the obstacle
|
||||
Handle(BRepAdaptor_Curve2d)& HC, // Representation of the obstacle
|
||||
Standard_Real& W,
|
||||
const Handle(ChFiDS_SurfData)& SD,
|
||||
const Standard_Boolean isfirst,
|
||||
const Standard_Integer ons,
|
||||
Handle(BRepAdaptor_HSurface)& HSref, // The other representation
|
||||
Handle(BRepAdaptor_HCurve2d)& HCref, // of the obstacle
|
||||
Handle(BRepAdaptor_Surface)& HSref, // The other representation
|
||||
Handle(BRepAdaptor_Curve2d)& HCref, // of the obstacle
|
||||
Standard_Boolean& RecP,
|
||||
Standard_Boolean& RecS,
|
||||
Standard_Boolean& RecRst,
|
||||
Standard_Boolean& c1obstacle,
|
||||
Handle(BRepAdaptor_HSurface)& HSBis, // Face of support
|
||||
Handle(BRepAdaptor_Surface)& HSBis, // Face of support
|
||||
gp_Pnt2d& PBis, // and its point
|
||||
const Standard_Boolean decroch,
|
||||
const TopoDS_Vertex& Vref) const
|
||||
@@ -1055,7 +1053,7 @@ ChFi3d_Builder::StartSol(const Handle(ChFiDS_Spine)& Spine,
|
||||
Standard_Real Uf,Ul;
|
||||
|
||||
TopoDS_Face F = TopoDS::Face(DStr.Shape(SD->Index(ons)));
|
||||
if(!HSref.IsNull()) Fref = HSref->ChangeSurface().Face();
|
||||
if(!HSref.IsNull()) Fref = HSref->Face();
|
||||
const ChFiDS_CommonPoint& CP = SD->Vertex(isfirst,ons);
|
||||
HSBis.Nullify();
|
||||
|
||||
@@ -1075,7 +1073,7 @@ ChFi3d_Builder::StartSol(const Handle(ChFiDS_Spine)& Spine,
|
||||
else isExtend = (tns-ts > 100*tolesp);
|
||||
if (isExtend && !CP.Point().IsEqual(CPbis.Point(), 0) ) {
|
||||
// the state is preserved and False is returned (extension by the expected plane).
|
||||
HS->ChangeSurface().Initialize(F);
|
||||
HS->Initialize(F);
|
||||
pc = SD->Interference(ons).PCurveOnFace();
|
||||
// The 2nd point is given by its trace on the support surface
|
||||
RecS = Standard_False;
|
||||
@@ -1089,7 +1087,7 @@ ChFi3d_Builder::StartSol(const Handle(ChFiDS_Spine)& Spine,
|
||||
//The edge is changed, the parameter is updated and
|
||||
//eventually the support face and(or) the reference face.
|
||||
TopoDS_Vertex VCP = CP.Vertex();
|
||||
TopoDS_Edge EHC = HC->ChangeCurve2d().Edge();
|
||||
TopoDS_Edge EHC = HC->Edge();
|
||||
//One starts by searching in Fref another edge referencing VCP.
|
||||
TopExp_Explorer ex1,ex2;
|
||||
TopoDS_Edge newedge, edgereg;
|
||||
@@ -1146,7 +1144,7 @@ ChFi3d_Builder::StartSol(const Handle(ChFiDS_Spine)& Spine,
|
||||
else if(!edgereg.IsNull()){
|
||||
// the reference edge and face are changed.
|
||||
Fref = facereg;
|
||||
HSref->ChangeSurface().Initialize(Fref);
|
||||
HSref->Initialize(Fref);
|
||||
for(ex1.Init(facereg,TopAbs_EDGE); ex1.More() && newedge.IsNull(); ex1.Next()){
|
||||
const TopoDS_Edge& cured = TopoDS::Edge(ex1.Current());
|
||||
if(!cured.IsSame(edgereg)){
|
||||
@@ -1173,9 +1171,9 @@ ChFi3d_Builder::StartSol(const Handle(ChFiDS_Spine)& Spine,
|
||||
throw Standard_Failure("StartSol : chain is not possible, new obstacle not found");
|
||||
}
|
||||
else{
|
||||
HS->ChangeSurface().Initialize(Fv);
|
||||
HS->Initialize(Fv);
|
||||
W = BRep_Tool::Parameter(VCP,newedge);
|
||||
HCref->ChangeCurve2d().Initialize(newedge,Fref);
|
||||
HCref->Initialize(newedge,Fref);
|
||||
TopoDS_Face newface = Fv;
|
||||
newface.Orientation(TopAbs_FORWARD);
|
||||
TopExp_Explorer ex;
|
||||
@@ -1185,7 +1183,7 @@ ChFi3d_Builder::StartSol(const Handle(ChFiDS_Spine)& Spine,
|
||||
break;
|
||||
}
|
||||
}
|
||||
HC->ChangeCurve2d().Initialize(newedge,Fv);
|
||||
HC->Initialize(newedge,Fv);
|
||||
pons = HC->Value(W);
|
||||
}
|
||||
RecP = c1obstacle = 1;
|
||||
@@ -1204,7 +1202,7 @@ ChFi3d_Builder::StartSol(const Handle(ChFiDS_Spine)& Spine,
|
||||
if (CP.IsOnArc()){
|
||||
const TopoDS_Edge& E = CP.Arc();
|
||||
if(decroch){
|
||||
HS->ChangeSurface().Initialize(Fref);
|
||||
HS->Initialize(Fref);
|
||||
W = CP.ParameterOnArc();
|
||||
pc = BRep_Tool::CurveOnSurface(E,Fref,Uf,Ul);
|
||||
pons = pc->Value(W);
|
||||
@@ -1212,7 +1210,7 @@ ChFi3d_Builder::StartSol(const Handle(ChFiDS_Spine)& Spine,
|
||||
return 1;
|
||||
}
|
||||
if (SearchFace(Spine,CP,F,Fv)){
|
||||
HS->ChangeSurface().Initialize(Fv);
|
||||
HS->Initialize(Fv);
|
||||
RecS = 1;
|
||||
if (CP.IsVertex()) {
|
||||
// One goes directly by the Vertex
|
||||
@@ -1222,9 +1220,9 @@ ChFi3d_Builder::StartSol(const Handle(ChFiDS_Spine)& Spine,
|
||||
Nb = SearchFaceOnV(CP, F, myVEMap, myEFMap, Fv, aux);
|
||||
|
||||
pons = BRep_Tool::Parameters(CP.Vertex(), Fv);
|
||||
HS->ChangeSurface().Initialize(Fv);
|
||||
HS->Initialize(Fv);
|
||||
if (Nb >=2) {
|
||||
HSBis = new (BRepAdaptor_HSurface)(aux);
|
||||
HSBis = new (BRepAdaptor_Surface)(aux);
|
||||
PBis = BRep_Tool::Parameters(CP.Vertex(), aux);
|
||||
}
|
||||
return 1;
|
||||
@@ -1244,7 +1242,7 @@ ChFi3d_Builder::StartSol(const Handle(ChFiDS_Spine)& Spine,
|
||||
// In cas of Tangent output, the current face becomes the support face
|
||||
if (SortieTangente(CP, F, SD, ons, 0.1)) {
|
||||
pc = BRep_Tool::CurveOnSurface(CP.Arc(),F,Uf,Ul);
|
||||
HSBis = new (BRepAdaptor_HSurface)(F);
|
||||
HSBis = new (BRepAdaptor_Surface)(F);
|
||||
PBis = pc->Value(CP.ParameterOnArc());
|
||||
}
|
||||
|
||||
@@ -1272,10 +1270,10 @@ ChFi3d_Builder::StartSol(const Handle(ChFiDS_Spine)& Spine,
|
||||
}
|
||||
}
|
||||
if(c1obstacle){
|
||||
HS->ChangeSurface().Initialize(Fv);
|
||||
HSref->ChangeSurface().Initialize(F);
|
||||
HS->Initialize(Fv);
|
||||
HSref->Initialize(F);
|
||||
W = CP.ParameterOnArc();
|
||||
HC = new BRepAdaptor_HCurve2d();
|
||||
HC = new BRepAdaptor_Curve2d();
|
||||
TopoDS_Edge newedge;
|
||||
TopoDS_Face newface = Fv;
|
||||
newface.Orientation(TopAbs_FORWARD);
|
||||
@@ -1286,15 +1284,15 @@ ChFi3d_Builder::StartSol(const Handle(ChFiDS_Spine)& Spine,
|
||||
break;
|
||||
}
|
||||
}
|
||||
HC->ChangeCurve2d().Initialize(newedge,Fv);
|
||||
HC->Initialize(newedge,Fv);
|
||||
pons = HC->Value(W);
|
||||
HCref->ChangeCurve2d().Initialize(E,F);
|
||||
HCref->Initialize(E,F);
|
||||
if(CP.IsVertex()) RecP = 1;
|
||||
else RecRst = 1;
|
||||
return 1;
|
||||
}
|
||||
else{
|
||||
HS->ChangeSurface().Initialize(F);
|
||||
HS->Initialize(F);
|
||||
W = CP.ParameterOnArc();
|
||||
pc = BRep_Tool::CurveOnSurface(E,F,Uf,Ul);
|
||||
pons = pc->Value(W);
|
||||
@@ -1302,7 +1300,7 @@ ChFi3d_Builder::StartSol(const Handle(ChFiDS_Spine)& Spine,
|
||||
}
|
||||
}
|
||||
else{ // there is no neighbor face, the state is preserved and False is returned.
|
||||
HS->ChangeSurface().Initialize(F);
|
||||
HS->Initialize(F);
|
||||
W = CP.ParameterOnArc();
|
||||
pc = BRep_Tool::CurveOnSurface(E,F,Uf,Ul);
|
||||
pons = pc->Value(W);
|
||||
@@ -1310,7 +1308,7 @@ ChFi3d_Builder::StartSol(const Handle(ChFiDS_Spine)& Spine,
|
||||
}
|
||||
}
|
||||
else{
|
||||
HS->ChangeSurface().Initialize(F);
|
||||
HS->Initialize(F);
|
||||
const ChFiDS_FaceInterference& FI = SD->Interference(ons);
|
||||
if(FI.PCurveOnFace().IsNull()) pons = SD->Get2dPoints(isfirst,ons);
|
||||
else pons = FI.PCurveOnFace()->Value(FI.Parameter(isfirst));
|
||||
@@ -1628,7 +1626,7 @@ static void ChFi3d_MakeExtremities(Handle(ChFiDS_Stripe)& Stripe,
|
||||
Value(SDdeb->InterferenceOnS2().FirstParameter());
|
||||
// The intersection of the fillet by a plane is attempted
|
||||
|
||||
Handle(GeomAdaptor_HSurface) HConge=ChFi3d_BoundSurf(DStr,SDdeb,1,2);
|
||||
Handle(GeomAdaptor_Surface) HConge=ChFi3d_BoundSurf(DStr,SDdeb,1,2);
|
||||
ChFi3d_CoupeParPlan(cpdeb1,cpdeb2,HConge,UV1,UV2,
|
||||
tol3d,tol2d,C3d,Stripe->ChangeFirstPCurve(),tolreached,
|
||||
Pardeb,Parfin,plane);
|
||||
@@ -1690,7 +1688,7 @@ static void ChFi3d_MakeExtremities(Handle(ChFiDS_Stripe)& Stripe,
|
||||
Value(SDfin->InterferenceOnS2().LastParameter());
|
||||
// Intersection of the fillet by a plane is attempted
|
||||
|
||||
Handle(GeomAdaptor_HSurface) HConge=ChFi3d_BoundSurf(DStr,SDfin,1,2);
|
||||
Handle(GeomAdaptor_Surface) HConge=ChFi3d_BoundSurf(DStr,SDfin,1,2);
|
||||
ChFi3d_CoupeParPlan(cpfin1,cpfin2,HConge,UV1,UV2,
|
||||
tol3d,tol2d,C3d,Stripe->ChangeLastPCurve(),tolreached,
|
||||
Pardeb,Parfin,plane);
|
||||
@@ -1855,7 +1853,7 @@ static void InsertBefore (Handle(ChFiDS_Stripe)& Stripe,
|
||||
//=======================================================================
|
||||
|
||||
void ChFi3d_Builder::PerformSetOfSurfOnElSpine
|
||||
(const Handle(ChFiDS_HElSpine)& HGuide,
|
||||
(const Handle(ChFiDS_ElSpine)& HGuide,
|
||||
Handle(ChFiDS_Stripe)& Stripe,
|
||||
Handle(BRepTopAdaptor_TopolTool)& It1,
|
||||
Handle(BRepTopAdaptor_TopolTool)& It2,
|
||||
@@ -1870,9 +1868,9 @@ void ChFi3d_Builder::PerformSetOfSurfOnElSpine
|
||||
//gp_Vec d1gui;
|
||||
//( HGuide->Curve() ).D1(HGuide->FirstParameter(),ptgui,d1gui);
|
||||
|
||||
ChFiDS_ElSpine& Guide = HGuide->ChangeCurve();
|
||||
ChFiDS_ElSpine& Guide = *HGuide;
|
||||
|
||||
Handle(ChFiDS_HElSpine) OffsetHGuide;
|
||||
Handle(ChFiDS_ElSpine) OffsetHGuide;
|
||||
Handle(ChFiDS_Spine)& Spine = Stripe->ChangeSpine();
|
||||
if (Spine->Mode() == ChFiDS_ConstThroatWithPenetrationChamfer)
|
||||
{
|
||||
@@ -1881,7 +1879,7 @@ void ChFi3d_Builder::PerformSetOfSurfOnElSpine
|
||||
ChFiDS_ListIteratorOfListOfHElSpine ILES(ll), ILES_offset(ll_offset);
|
||||
for ( ; ILES.More(); ILES.Next(),ILES_offset.Next())
|
||||
{
|
||||
const Handle(ChFiDS_HElSpine)& aHElSpine = ILES.Value();
|
||||
const Handle(ChFiDS_ElSpine)& aHElSpine = ILES.Value();
|
||||
if (aHElSpine == HGuide)
|
||||
OffsetHGuide = ILES_offset.Value();
|
||||
}
|
||||
@@ -1899,8 +1897,8 @@ void ChFi3d_Builder::PerformSetOfSurfOnElSpine
|
||||
Guide.LastParameter (wl+prab*(wl-wf));
|
||||
if (!OffsetHGuide.IsNull())
|
||||
{
|
||||
OffsetHGuide->ChangeCurve().FirstParameter(wf-prab*(wl-wf));
|
||||
OffsetHGuide->ChangeCurve().LastParameter (wl+prab*(wl-wf));
|
||||
OffsetHGuide->FirstParameter(wf-prab*(wl-wf));
|
||||
OffsetHGuide->LastParameter (wl+prab*(wl-wf));
|
||||
}
|
||||
}
|
||||
//Handle(ChFiDS_Spine)& Spine = Stripe->ChangeSpine();
|
||||
@@ -1914,14 +1912,14 @@ void ChFi3d_Builder::PerformSetOfSurfOnElSpine
|
||||
Handle(ChFiDS_SurfData) raf = Guide.Next();
|
||||
RemoveSD(Stripe,ref,raf);
|
||||
|
||||
Handle(BRepAdaptor_HSurface) HS1 = new BRepAdaptor_HSurface();
|
||||
Handle(BRepAdaptor_HSurface) HS2 = new BRepAdaptor_HSurface();
|
||||
Handle(BRepAdaptor_HSurface) HS3, HS4;
|
||||
Handle(BRepAdaptor_HSurface) HSref1 = new BRepAdaptor_HSurface();
|
||||
Handle(BRepAdaptor_HSurface) HSref2 = new BRepAdaptor_HSurface();
|
||||
Handle(BRepAdaptor_HCurve2d) HC1,HC2;
|
||||
Handle(BRepAdaptor_HCurve2d) HCref1 = new BRepAdaptor_HCurve2d();
|
||||
Handle(BRepAdaptor_HCurve2d) HCref2 = new BRepAdaptor_HCurve2d();
|
||||
Handle(BRepAdaptor_Surface) HS1 = new BRepAdaptor_Surface();
|
||||
Handle(BRepAdaptor_Surface) HS2 = new BRepAdaptor_Surface();
|
||||
Handle(BRepAdaptor_Surface) HS3, HS4;
|
||||
Handle(BRepAdaptor_Surface) HSref1 = new BRepAdaptor_Surface();
|
||||
Handle(BRepAdaptor_Surface) HSref2 = new BRepAdaptor_Surface();
|
||||
Handle(BRepAdaptor_Curve2d) HC1,HC2;
|
||||
Handle(BRepAdaptor_Curve2d) HCref1 = new BRepAdaptor_Curve2d();
|
||||
Handle(BRepAdaptor_Curve2d) HCref2 = new BRepAdaptor_Curve2d();
|
||||
Standard_Boolean decroch1 = Standard_False, decroch2 = Standard_False;
|
||||
Standard_Boolean RecP1 = Standard_False, RecS1 = Standard_False, RecRst1 = Standard_False, obstacleon1 = Standard_False;
|
||||
Standard_Boolean RecP2 = Standard_False, RecS2 = Standard_False, RecRst2 = Standard_False, obstacleon2 = Standard_False;
|
||||
@@ -1963,10 +1961,10 @@ void ChFi3d_Builder::PerformSetOfSurfOnElSpine
|
||||
Guide.LastParameter (First * 1.1);//Extension to help rsnld.
|
||||
if (!OffsetHGuide.IsNull())
|
||||
{
|
||||
OffsetHGuide->ChangeCurve().SaveFirstParameter();
|
||||
OffsetHGuide->ChangeCurve().FirstParameter(Last);
|
||||
OffsetHGuide->ChangeCurve().SaveLastParameter();
|
||||
OffsetHGuide->ChangeCurve().LastParameter (First * 1.1);//Extension to help rsnld.
|
||||
OffsetHGuide->SaveFirstParameter();
|
||||
OffsetHGuide->FirstParameter(Last);
|
||||
OffsetHGuide->SaveLastParameter();
|
||||
OffsetHGuide->LastParameter (First * 1.1);//Extension to help rsnld.
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -2007,13 +2005,13 @@ void ChFi3d_Builder::PerformSetOfSurfOnElSpine
|
||||
{
|
||||
Guide.FirstParameter(wf);
|
||||
if (!OffsetHGuide.IsNull())
|
||||
OffsetHGuide->ChangeCurve().FirstParameter(wf);
|
||||
OffsetHGuide->FirstParameter(wf);
|
||||
}
|
||||
else
|
||||
{
|
||||
Guide.LastParameter(wl);
|
||||
if (!OffsetHGuide.IsNull())
|
||||
OffsetHGuide->ChangeCurve().LastParameter(wl);
|
||||
OffsetHGuide->LastParameter(wl);
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -2053,7 +2051,7 @@ void ChFi3d_Builder::PerformSetOfSurfOnElSpine
|
||||
intf = 4;
|
||||
Guide.FirstParameter(wfsav);
|
||||
if (!OffsetHGuide.IsNull())
|
||||
OffsetHGuide->ChangeCurve().FirstParameter(wfsav);
|
||||
OffsetHGuide->FirstParameter(wfsav);
|
||||
}
|
||||
if(wl - lastedlastp > -tolesp){
|
||||
if(Spine->LastStatus() == ChFiDS_OnSame) intl = 2;
|
||||
@@ -2063,7 +2061,7 @@ void ChFi3d_Builder::PerformSetOfSurfOnElSpine
|
||||
intl = 4;
|
||||
Guide.LastParameter(wlsav);
|
||||
if (!OffsetHGuide.IsNull())
|
||||
OffsetHGuide->ChangeCurve().LastParameter(wlsav);
|
||||
OffsetHGuide->LastParameter(wlsav);
|
||||
}
|
||||
}
|
||||
if(intf && !forward) Vref = Spine->FirstVertex();
|
||||
@@ -2099,21 +2097,21 @@ void ChFi3d_Builder::PerformSetOfSurfOnElSpine
|
||||
{
|
||||
Guide.FirstParameter(wf);
|
||||
if (!OffsetHGuide.IsNull())
|
||||
OffsetHGuide->ChangeCurve().FirstParameter(wf);
|
||||
OffsetHGuide->FirstParameter(wf);
|
||||
}
|
||||
else
|
||||
{
|
||||
Guide.LastParameter(wl);
|
||||
if (!OffsetHGuide.IsNull())
|
||||
OffsetHGuide->ChangeCurve().LastParameter(wl);
|
||||
OffsetHGuide->LastParameter(wl);
|
||||
}
|
||||
}
|
||||
else throw Standard_Failure("PerformSetOfSurfOnElSpine : Chaining is impossible.");
|
||||
}
|
||||
|
||||
// Definition of the domain of patch It1, It2
|
||||
const Handle(Adaptor3d_HSurface)& HSon1 = HS1; // to avoid ambiguity
|
||||
const Handle(Adaptor3d_HSurface)& HSon2 = HS2; // to avoid ambiguity
|
||||
const Handle(Adaptor3d_Surface)& HSon1 = HS1; // to avoid ambiguity
|
||||
const Handle(Adaptor3d_Surface)& HSon2 = HS2; // to avoid ambiguity
|
||||
It1->Initialize(HSon1);
|
||||
It2->Initialize(HSon2);
|
||||
|
||||
@@ -2123,8 +2121,8 @@ void ChFi3d_Builder::PerformSetOfSurfOnElSpine
|
||||
SeqSD.Append(SD);
|
||||
|
||||
if(obstacleon1 && obstacleon2){
|
||||
TopAbs_Orientation Or1 = HSref1->ChangeSurface().Face().Orientation();
|
||||
TopAbs_Orientation Or2 = HSref2->ChangeSurface().Face().Orientation();
|
||||
TopAbs_Orientation Or1 = HSref1->Face().Orientation();
|
||||
TopAbs_Orientation Or2 = HSref2->Face().Orientation();
|
||||
Standard_Integer Choix = ChFi3d::NextSide(Or1,Or2,
|
||||
Stripe->OrientationOnFace1(),
|
||||
Stripe->OrientationOnFace2(),
|
||||
@@ -2156,12 +2154,12 @@ void ChFi3d_Builder::PerformSetOfSurfOnElSpine
|
||||
ChFi3d_ResultChron(ch1,t_performsurf); //result perf for PerformSurf
|
||||
#endif
|
||||
}
|
||||
SD->ChangeIndexOfS1(DStr.AddShape(HS1->ChangeSurface().Face()));
|
||||
SD->ChangeIndexOfS2(DStr.AddShape(HS2->ChangeSurface().Face()));
|
||||
SD->ChangeIndexOfS1(DStr.AddShape(HS1->Face()));
|
||||
SD->ChangeIndexOfS2(DStr.AddShape(HS2->Face()));
|
||||
}
|
||||
else if (obstacleon1){
|
||||
TopAbs_Orientation Or1 = HSref1->ChangeSurface().Face().Orientation();
|
||||
TopAbs_Orientation Or2 = HS2->ChangeSurface().Face().Orientation();
|
||||
TopAbs_Orientation Or1 = HSref1->Face().Orientation();
|
||||
TopAbs_Orientation Or2 = HS2->Face().Orientation();
|
||||
Standard_Integer Choix = ChFi3d::NextSide(Or1,Or2,
|
||||
Stripe->OrientationOnFace1(),
|
||||
Stripe->OrientationOnFace2(),
|
||||
@@ -2185,13 +2183,13 @@ void ChFi3d_Builder::PerformSetOfSurfOnElSpine
|
||||
ChFi3d_ResultChron(ch1,t_performsurf);//result perf for PerformSurf
|
||||
#endif
|
||||
}
|
||||
SD->ChangeIndexOfS1(DStr.AddShape(HS1->ChangeSurface().Face()));
|
||||
SD->ChangeIndexOfS2(DStr.AddShape(HS2->ChangeSurface().Face()));
|
||||
SD->ChangeIndexOfS1(DStr.AddShape(HS1->Face()));
|
||||
SD->ChangeIndexOfS2(DStr.AddShape(HS2->Face()));
|
||||
decroch2 = 0;
|
||||
}
|
||||
else if (obstacleon2){
|
||||
TopAbs_Orientation Or1 = HS1->ChangeSurface().Face().Orientation();
|
||||
TopAbs_Orientation Or2 = HSref2->ChangeSurface().Face().Orientation();
|
||||
TopAbs_Orientation Or1 = HS1->Face().Orientation();
|
||||
TopAbs_Orientation Or2 = HSref2->Face().Orientation();
|
||||
Standard_Integer Choix = ChFi3d::NextSide(Or1,Or2,
|
||||
Stripe->OrientationOnFace1(),
|
||||
Stripe->OrientationOnFace2(),
|
||||
@@ -2213,8 +2211,8 @@ void ChFi3d_Builder::PerformSetOfSurfOnElSpine
|
||||
ChFi3d_ResultChron(ch1,t_performsurf); //result perf for PerformSurf
|
||||
#endif
|
||||
}
|
||||
SD->ChangeIndexOfS1(DStr.AddShape(HS1->ChangeSurface().Face()));
|
||||
SD->ChangeIndexOfS2(DStr.AddShape(HS2->ChangeSurface().Face()));
|
||||
SD->ChangeIndexOfS1(DStr.AddShape(HS1->Face()));
|
||||
SD->ChangeIndexOfS2(DStr.AddShape(HS2->Face()));
|
||||
decroch1 = 0;
|
||||
}
|
||||
else{
|
||||
@@ -2251,10 +2249,10 @@ void ChFi3d_Builder::PerformSetOfSurfOnElSpine
|
||||
if(forward) {
|
||||
for (ii=1; ii<=SeqSD.Length(); ii++) {
|
||||
SD = SeqSD(ii);
|
||||
SD->ChangeIndexOfS1(DStr.AddShape(HS1->ChangeSurface().Face()));
|
||||
if(obstacleon1) SD->SetIndexOfC1(DStr.AddShape(HC1->ChangeCurve2d().Edge()));
|
||||
SD->ChangeIndexOfS2(DStr.AddShape(HS2->ChangeSurface().Face()));
|
||||
if(obstacleon2) SD->SetIndexOfC2(DStr.AddShape(HC2->ChangeCurve2d().Edge()));
|
||||
SD->ChangeIndexOfS1(DStr.AddShape(HS1->Face()));
|
||||
if(obstacleon1) SD->SetIndexOfC1(DStr.AddShape(HC1->Edge()));
|
||||
SD->ChangeIndexOfS2(DStr.AddShape(HS2->Face()));
|
||||
if(obstacleon2) SD->SetIndexOfC2(DStr.AddShape(HC2->Edge()));
|
||||
InsertAfter (Stripe, refbis, SD);
|
||||
refbis = SD;
|
||||
}
|
||||
@@ -2262,10 +2260,10 @@ void ChFi3d_Builder::PerformSetOfSurfOnElSpine
|
||||
else {
|
||||
for (ii=SeqSD.Length(); ii>=1; ii--) {
|
||||
SD = SeqSD(ii);
|
||||
SD->ChangeIndexOfS1(DStr.AddShape(HS1->ChangeSurface().Face()));
|
||||
if(obstacleon1) SD->SetIndexOfC1(DStr.AddShape(HC1->ChangeCurve2d().Edge()));
|
||||
SD->ChangeIndexOfS2(DStr.AddShape(HS2->ChangeSurface().Face()));
|
||||
if(obstacleon2) SD->SetIndexOfC2(DStr.AddShape(HC2->ChangeCurve2d().Edge()));
|
||||
SD->ChangeIndexOfS1(DStr.AddShape(HS1->Face()));
|
||||
if(obstacleon1) SD->SetIndexOfC1(DStr.AddShape(HC1->Edge()));
|
||||
SD->ChangeIndexOfS2(DStr.AddShape(HS2->Face()));
|
||||
if(obstacleon2) SD->SetIndexOfC2(DStr.AddShape(HC2->Edge()));
|
||||
InsertBefore(Stripe,refbis,SD);
|
||||
refbis = SD;
|
||||
}
|
||||
@@ -2343,8 +2341,8 @@ void ChFi3d_Builder::PerformSetOfSurfOnElSpine
|
||||
Guide.LastParameter (wlsav);
|
||||
if (!OffsetHGuide.IsNull())
|
||||
{
|
||||
OffsetHGuide->ChangeCurve().FirstParameter(wfsav);
|
||||
OffsetHGuide->ChangeCurve().LastParameter (wlsav);
|
||||
OffsetHGuide->FirstParameter(wfsav);
|
||||
OffsetHGuide->LastParameter (wlsav);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -2360,7 +2358,7 @@ void ChFi3d_Builder::PerformSetOfKPart(Handle(ChFiDS_Stripe)& Stripe,
|
||||
{
|
||||
TopOpeBRepDS_DataStructure& DStr = myDS->ChangeDS();
|
||||
Handle(ChFiDS_Spine)& Spine = Stripe->ChangeSpine();
|
||||
Handle(BRepAdaptor_HSurface) HS1,HS2;
|
||||
Handle(BRepAdaptor_Surface) HS1,HS2;
|
||||
TopAbs_Orientation Or1,Or2,RefOr1,RefOr2;
|
||||
Standard_Integer RefChoix;
|
||||
|
||||
@@ -2384,13 +2382,13 @@ void ChFi3d_Builder::PerformSetOfKPart(Handle(ChFiDS_Stripe)& Stripe,
|
||||
Standard_Boolean intf = Standard_False, intl = Standard_False;
|
||||
|
||||
ChFiDS_ElSpine anElSpine, anOffsetElSpine;
|
||||
Handle(ChFiDS_HElSpine) CurrentHE = new ChFiDS_HElSpine(anElSpine);
|
||||
Handle(ChFiDS_HElSpine) CurrentOffsetHE = new ChFiDS_HElSpine(anOffsetElSpine);
|
||||
Handle(ChFiDS_ElSpine) CurrentHE = new ChFiDS_ElSpine(anElSpine);
|
||||
Handle(ChFiDS_ElSpine) CurrentOffsetHE = new ChFiDS_ElSpine(anOffsetElSpine);
|
||||
Spine->D1(Spine->FirstParameter(),PFirst,TFirst);
|
||||
CurrentHE->ChangeCurve().FirstParameter(Spine->FirstParameter());
|
||||
CurrentHE->ChangeCurve().SetFirstPointAndTgt(PFirst,TFirst);
|
||||
CurrentOffsetHE->ChangeCurve().FirstParameter(Spine->FirstParameter());
|
||||
CurrentOffsetHE->ChangeCurve().SetFirstPointAndTgt(PFirst,TFirst);
|
||||
CurrentHE->FirstParameter(Spine->FirstParameter());
|
||||
CurrentHE->SetFirstPointAndTgt(PFirst,TFirst);
|
||||
CurrentOffsetHE->FirstParameter(Spine->FirstParameter());
|
||||
CurrentOffsetHE->SetFirstPointAndTgt(PFirst,TFirst);
|
||||
|
||||
Standard_Boolean YaKPart = Standard_False;
|
||||
Standard_Integer iedgelastkpart = 0;
|
||||
@@ -2405,14 +2403,14 @@ void ChFi3d_Builder::PerformSetOfKPart(Handle(ChFiDS_Stripe)& Stripe,
|
||||
|
||||
ConexFaces(Spine,iedge,HS1,HS2);
|
||||
|
||||
if (ChFi3d_KParticular(Spine,iedge,HS1->ChangeSurface(),HS2->ChangeSurface())) {
|
||||
if (ChFi3d_KParticular (Spine, iedge, *HS1, *HS2)) {
|
||||
intf = ((iedge == 1) && !Spine->IsPeriodic());
|
||||
intl = ((iedge == Spine->NbEdges()) && !Spine->IsPeriodic());
|
||||
Or1 = HS1->ChangeSurface().Face().Orientation();
|
||||
Or2 = HS2->ChangeSurface().Face().Orientation();
|
||||
Or1 = HS1->Face().Orientation();
|
||||
Or2 = HS2->Face().Orientation();
|
||||
ChFi3d::NextSide(Or1,Or2,RefOr1,RefOr2,RefChoix);
|
||||
const Handle(Adaptor3d_HSurface)& HSon1 = HS1; // to avoid ambiguity
|
||||
const Handle(Adaptor3d_HSurface)& HSon2 = HS2; // to avoid ambiguity
|
||||
const Handle(Adaptor3d_Surface)& HSon1 = HS1; // to avoid ambiguity
|
||||
const Handle(Adaptor3d_Surface)& HSon2 = HS2; // to avoid ambiguity
|
||||
It1->Initialize(HSon1);
|
||||
It2->Initialize(HSon2);
|
||||
|
||||
@@ -2495,47 +2493,47 @@ void ChFi3d_Builder::PerformSetOfKPart(Handle(ChFiDS_Stripe)& Stripe,
|
||||
// start section -> first KPart
|
||||
// update of extension.
|
||||
Spine->SetFirstTgt(Min(0.,WFirst));
|
||||
CurrentHE->ChangeCurve().LastParameter (WFirst);
|
||||
CurrentHE->ChangeCurve().SetLastPointAndTgt(PFirst,TFirst);
|
||||
CurrentHE->LastParameter (WFirst);
|
||||
CurrentHE->SetLastPointAndTgt(PFirst,TFirst);
|
||||
Spine->AppendElSpine(CurrentHE);
|
||||
CurrentHE->ChangeCurve().ChangeNext() = LSD.Value(j);
|
||||
CurrentHE = new ChFiDS_HElSpine();
|
||||
CurrentHE->ChangeNext() = LSD.Value(j);
|
||||
CurrentHE = new ChFiDS_ElSpine();
|
||||
|
||||
CurrentOffsetHE->ChangeCurve().LastParameter (WFirst);
|
||||
CurrentOffsetHE->ChangeCurve().SetLastPointAndTgt(PFirst,TFirst);
|
||||
CurrentOffsetHE->LastParameter (WFirst);
|
||||
CurrentOffsetHE->SetLastPointAndTgt(PFirst,TFirst);
|
||||
Spine->AppendOffsetElSpine(CurrentOffsetHE);
|
||||
CurrentOffsetHE->ChangeCurve().ChangeNext() = LSD.Value(j);
|
||||
CurrentOffsetHE = new ChFiDS_HElSpine();
|
||||
CurrentOffsetHE->ChangeNext() = LSD.Value(j);
|
||||
CurrentOffsetHE = new ChFiDS_ElSpine();
|
||||
}
|
||||
CurrentHE->ChangeCurve().FirstParameter(WLast);
|
||||
CurrentHE->ChangeCurve().SetFirstPointAndTgt(PLast,TLast);
|
||||
CurrentHE->ChangeCurve().ChangePrevious() = LSD.Value(j);
|
||||
CurrentOffsetHE->ChangeCurve().FirstParameter(WLast);
|
||||
CurrentOffsetHE->ChangeCurve().SetFirstPointAndTgt(PLast,TLast);
|
||||
CurrentOffsetHE->ChangeCurve().ChangePrevious() = LSD.Value(j);
|
||||
CurrentHE->FirstParameter(WLast);
|
||||
CurrentHE->SetFirstPointAndTgt(PLast,TLast);
|
||||
CurrentHE->ChangePrevious() = LSD.Value(j);
|
||||
CurrentOffsetHE->FirstParameter(WLast);
|
||||
CurrentOffsetHE->SetFirstPointAndTgt(PLast,TLast);
|
||||
CurrentOffsetHE->ChangePrevious() = LSD.Value(j);
|
||||
YaKPart = Standard_True;
|
||||
}
|
||||
else {
|
||||
if (WFirst - CurrentHE->FirstParameter() > tolesp) {
|
||||
// section between two KPart
|
||||
CurrentHE->ChangeCurve().LastParameter(WFirst);
|
||||
CurrentHE->ChangeCurve().SetLastPointAndTgt(PFirst,TFirst);
|
||||
CurrentHE->LastParameter(WFirst);
|
||||
CurrentHE->SetLastPointAndTgt(PFirst,TFirst);
|
||||
Spine->AppendElSpine(CurrentHE);
|
||||
CurrentHE->ChangeCurve().ChangeNext() = LSD.Value(j);
|
||||
CurrentHE = new ChFiDS_HElSpine();
|
||||
CurrentHE->ChangeNext() = LSD.Value(j);
|
||||
CurrentHE = new ChFiDS_ElSpine();
|
||||
|
||||
CurrentOffsetHE->ChangeCurve().LastParameter(WFirst);
|
||||
CurrentOffsetHE->ChangeCurve().SetLastPointAndTgt(PFirst,TFirst);
|
||||
CurrentOffsetHE->LastParameter(WFirst);
|
||||
CurrentOffsetHE->SetLastPointAndTgt(PFirst,TFirst);
|
||||
Spine->AppendOffsetElSpine(CurrentOffsetHE);
|
||||
CurrentOffsetHE->ChangeCurve().ChangeNext() = LSD.Value(j);
|
||||
CurrentOffsetHE = new ChFiDS_HElSpine();
|
||||
CurrentOffsetHE->ChangeNext() = LSD.Value(j);
|
||||
CurrentOffsetHE = new ChFiDS_ElSpine();
|
||||
}
|
||||
CurrentHE->ChangeCurve().FirstParameter(WLast);
|
||||
CurrentHE->ChangeCurve().SetFirstPointAndTgt(PLast,TLast);
|
||||
CurrentHE->ChangeCurve().ChangePrevious() = LSD.Value(j);
|
||||
CurrentOffsetHE->ChangeCurve().FirstParameter(WLast);
|
||||
CurrentOffsetHE->ChangeCurve().SetFirstPointAndTgt(PLast,TLast);
|
||||
CurrentOffsetHE->ChangeCurve().ChangePrevious() = LSD.Value(j);
|
||||
CurrentHE->FirstParameter(WLast);
|
||||
CurrentHE->SetFirstPointAndTgt(PLast,TLast);
|
||||
CurrentHE->ChangePrevious() = LSD.Value(j);
|
||||
CurrentOffsetHE->FirstParameter(WLast);
|
||||
CurrentOffsetHE->SetFirstPointAndTgt(PLast,TLast);
|
||||
CurrentOffsetHE->ChangePrevious() = LSD.Value(j);
|
||||
}
|
||||
}
|
||||
if(!li.IsEmpty()) myEVIMap.Bind(Spine->Edges(iedge),li);
|
||||
@@ -2548,14 +2546,14 @@ void ChFi3d_Builder::PerformSetOfKPart(Handle(ChFiDS_Stripe)& Stripe,
|
||||
|
||||
if(Spine->IsPeriodic()){
|
||||
if(WEndPeriodic - WLast > tolesp){
|
||||
CurrentHE->ChangeCurve().LastParameter(WEndPeriodic);
|
||||
CurrentHE->ChangeCurve().SetLastPointAndTgt(PEndPeriodic,TEndPeriodic);
|
||||
if(!YaKPart) CurrentHE->ChangeCurve().SetPeriodic(Standard_True);
|
||||
CurrentHE->LastParameter(WEndPeriodic);
|
||||
CurrentHE->SetLastPointAndTgt(PEndPeriodic,TEndPeriodic);
|
||||
if(!YaKPart) CurrentHE->SetPeriodic(Standard_True);
|
||||
Spine->AppendElSpine(CurrentHE);
|
||||
|
||||
CurrentOffsetHE->ChangeCurve().LastParameter(WEndPeriodic);
|
||||
CurrentOffsetHE->ChangeCurve().SetLastPointAndTgt(PEndPeriodic,TEndPeriodic);
|
||||
if(!YaKPart) CurrentOffsetHE->ChangeCurve().SetPeriodic(Standard_True);
|
||||
CurrentOffsetHE->LastParameter(WEndPeriodic);
|
||||
CurrentOffsetHE->SetLastPointAndTgt(PEndPeriodic,TEndPeriodic);
|
||||
if(!YaKPart) CurrentOffsetHE->SetPeriodic(Standard_True);
|
||||
Spine->AppendOffsetElSpine(CurrentOffsetHE);
|
||||
}
|
||||
}
|
||||
@@ -2564,12 +2562,12 @@ void ChFi3d_Builder::PerformSetOfKPart(Handle(ChFiDS_Stripe)& Stripe,
|
||||
Spine->SetLastTgt(Max(Spine->LastParameter(Spine->NbEdges()),
|
||||
WLast));
|
||||
if (Spine->LastParameter() - WLast > tolesp) {
|
||||
CurrentHE->ChangeCurve().LastParameter(Spine->LastParameter());
|
||||
CurrentHE->ChangeCurve().SetLastPointAndTgt(PLast,TLast);
|
||||
CurrentHE->LastParameter(Spine->LastParameter());
|
||||
CurrentHE->SetLastPointAndTgt(PLast,TLast);
|
||||
Spine->AppendElSpine(CurrentHE);
|
||||
|
||||
CurrentOffsetHE->ChangeCurve().LastParameter(Spine->LastParameter());
|
||||
CurrentOffsetHE->ChangeCurve().SetLastPointAndTgt(PLast,TLast);
|
||||
CurrentOffsetHE->LastParameter(Spine->LastParameter());
|
||||
CurrentOffsetHE->SetLastPointAndTgt(PLast,TLast);
|
||||
Spine->AppendOffsetElSpine(CurrentOffsetHE);
|
||||
}
|
||||
}
|
||||
@@ -2701,12 +2699,12 @@ void ChFi3d_Builder::PerformSetOfKGen(Handle(ChFiDS_Stripe)& Stripe,
|
||||
// A contour of filling is constructed
|
||||
Handle(Geom2d_Curve) PC1 = intf1.PCurveOnFace();
|
||||
Handle(Geom2d_Curve) PC2 = intf2.PCurveOnFace();
|
||||
Handle(BRepAdaptor_HSurface) S1 = new BRepAdaptor_HSurface();
|
||||
Handle(BRepAdaptor_Surface) S1 = new BRepAdaptor_Surface();
|
||||
TopoDS_Face F1 = TopoDS::Face(DStr.Shape(cursurf1));
|
||||
S1->ChangeSurface().Initialize(F1);
|
||||
Handle(BRepAdaptor_HSurface) S2 = new BRepAdaptor_HSurface();
|
||||
S1->Initialize(F1);
|
||||
Handle(BRepAdaptor_Surface) S2 = new BRepAdaptor_Surface();
|
||||
TopoDS_Face F2 = TopoDS::Face(DStr.Shape(cursurf2));
|
||||
S2->ChangeSurface().Initialize(F2);
|
||||
S2->Initialize(F2);
|
||||
Handle(GeomFill_Boundary) Bdeb,Bfin,Bon1,Bon2;
|
||||
Standard_Boolean pointuon1 = 0, pointuon2 = 0;
|
||||
if(tw1){
|
||||
@@ -2951,10 +2949,9 @@ void ChFi3d_Builder::PerformSetOfKGen(Handle(ChFiDS_Stripe)& Stripe,
|
||||
}
|
||||
// The connections edge/new faces are updated.
|
||||
for (ILES.Initialize(ll) ; ILES.More(); ILES.Next()) {
|
||||
const Handle(ChFiDS_HElSpine)& curhels = ILES.Value();
|
||||
const ChFiDS_ElSpine& curels = curhels->ChangeCurve();
|
||||
Standard_Real WF = curels.FirstParameter();
|
||||
Standard_Real WL = curels.LastParameter();
|
||||
const Handle(ChFiDS_ElSpine)& curhels = ILES.Value();
|
||||
Standard_Real WF = curhels->FirstParameter();
|
||||
Standard_Real WL = curhels->LastParameter();
|
||||
Standard_Integer IF,IL;
|
||||
Standard_Real nwf = WF, nwl = WL;
|
||||
Standard_Real period = 0.;
|
||||
@@ -3000,11 +2997,11 @@ void ChFi3d_Builder::PerformSetOfKGen(Handle(ChFiDS_Stripe)& Stripe,
|
||||
if(periodic) wi = ElCLib::InPeriod(wi,WF,WF+period);
|
||||
gp_Pnt pv = Spine->Value(wi);
|
||||
#ifdef OCCT_DEBUG
|
||||
gp_Pnt pelsapp = curels.Value(wi);
|
||||
gp_Pnt pelsapp = curhels->Value(wi);
|
||||
Standard_Real distinit = pv.Distance(pelsapp);
|
||||
std::cout<<"distance psp/papp : "<<distinit<<std::endl;
|
||||
#endif
|
||||
Extrema_LocateExtPC ext(pv,curels,wi,1.e-8);
|
||||
Extrema_LocateExtPC ext(pv,*curhels,wi,1.e-8);
|
||||
wv(i) = wi;
|
||||
if(ext.IsDone()){
|
||||
wv(i) = ext.Point().Parameter();
|
||||
|
@@ -19,8 +19,8 @@
|
||||
// modified by Edward AGAPOV (eap) Fri Feb 8 2002 (bug occ67 == BUC61052)
|
||||
// ComputeData(), case where BRepBlend_Walking::Continu() can't get up to Target
|
||||
|
||||
#include <Adaptor2d_HCurve2d.hxx>
|
||||
#include <Adaptor3d_HSurface.hxx>
|
||||
#include <Adaptor2d_Curve2d.hxx>
|
||||
#include <Adaptor3d_Surface.hxx>
|
||||
#include <Adaptor3d_TopolTool.hxx>
|
||||
#include <AppBlend_Approx.hxx>
|
||||
#include <Approx_SweepFunction.hxx>
|
||||
@@ -35,8 +35,6 @@
|
||||
#include <BRep_Tool.hxx>
|
||||
#include <BRepAdaptor_Curve.hxx>
|
||||
#include <BRepAdaptor_Curve2d.hxx>
|
||||
#include <BRepAdaptor_HCurve2d.hxx>
|
||||
#include <BRepAdaptor_HSurface.hxx>
|
||||
#include <BRepAdaptor_Surface.hxx>
|
||||
#include <BRepBlend_AppFunc.hxx>
|
||||
#include <BRepBlend_AppFuncRst.hxx>
|
||||
@@ -59,7 +57,7 @@
|
||||
#include <ChFi3d_Builder_0.hxx>
|
||||
#include <ChFiDS_CommonPoint.hxx>
|
||||
#include <ChFiDS_FaceInterference.hxx>
|
||||
#include <ChFiDS_HElSpine.hxx>
|
||||
#include <ChFiDS_ElSpine.hxx>
|
||||
#include <ChFiDS_Spine.hxx>
|
||||
#include <ChFiDS_Stripe.hxx>
|
||||
#include <ChFiDS_SurfData.hxx>
|
||||
@@ -72,8 +70,8 @@
|
||||
#include <Geom_BSplineSurface.hxx>
|
||||
#include <Geom_Curve.hxx>
|
||||
#include <Geom_Surface.hxx>
|
||||
#include <GeomAdaptor_HCurve.hxx>
|
||||
#include <GeomAdaptor_HSurface.hxx>
|
||||
#include <GeomAdaptor_Curve.hxx>
|
||||
#include <GeomAdaptor_Surface.hxx>
|
||||
#include <GeomLib.hxx>
|
||||
#include <gp_Dir2d.hxx>
|
||||
#include <gp_Pnt.hxx>
|
||||
@@ -111,7 +109,7 @@
|
||||
#include <Draw_Marker3D.hxx>
|
||||
#include <Draw.hxx>
|
||||
#include <DrawTrSurf.hxx>
|
||||
#include <BRepAdaptor_HSurface.hxx>
|
||||
#include <BRepAdaptor_Surface.hxx>
|
||||
static Standard_Integer IndexOfConge = 0;
|
||||
#endif
|
||||
|
||||
@@ -425,9 +423,9 @@ static void UpdateLine(Handle(BRepBlend_Line)& Line,
|
||||
Standard_Boolean ChFi3d_Builder::CompleteData
|
||||
(Handle(ChFiDS_SurfData)& Data,
|
||||
const Handle(Geom_Surface)& Surfcoin,
|
||||
const Handle(Adaptor3d_HSurface)& S1,
|
||||
const Handle(Adaptor3d_Surface)& S1,
|
||||
const Handle(Geom2d_Curve)& PC1,
|
||||
const Handle(Adaptor3d_HSurface)& S2,
|
||||
const Handle(Adaptor3d_Surface)& S2,
|
||||
const Handle(Geom2d_Curve)& PC2,
|
||||
const TopAbs_Orientation Or,
|
||||
const Standard_Boolean On1,
|
||||
@@ -469,7 +467,7 @@ Standard_Boolean ChFi3d_Builder::CompleteData
|
||||
Handle(Geom2d_Curve) c2dtrim;
|
||||
Standard_Real tolreached = 1.e-5;
|
||||
if(!PC1.IsNull()){
|
||||
Handle(GeomAdaptor_HCurve) hcS1 = new GeomAdaptor_HCurve(Crv3d1);
|
||||
Handle(GeomAdaptor_Curve) hcS1 = new GeomAdaptor_Curve(Crv3d1);
|
||||
c2dtrim = new Geom2d_TrimmedCurve(PC1,UFirst,ULast);
|
||||
ChFi3d_SameParameter(hcS1,c2dtrim,S1,tolapp3d,tolreached);
|
||||
c2dtrim->Value(w).Coord(x,y);
|
||||
@@ -494,7 +492,7 @@ Standard_Boolean ChFi3d_Builder::CompleteData
|
||||
PCurveOnSurf = new Geom2d_Line(lfil2);
|
||||
TopAbs_Orientation tra2 = TopAbs_FORWARD;
|
||||
if(!PC2.IsNull()){
|
||||
Handle(GeomAdaptor_HCurve) hcS2 = new GeomAdaptor_HCurve(Crv3d2);
|
||||
Handle(GeomAdaptor_Curve) hcS2 = new GeomAdaptor_Curve(Crv3d2);
|
||||
c2dtrim = new Geom2d_TrimmedCurve(PC2,UFirst,ULast);
|
||||
ChFi3d_SameParameter(hcS2,c2dtrim,S2,tolapp3d,tolreached);
|
||||
c2dtrim->Value(w).Coord(x,y);
|
||||
@@ -530,8 +528,8 @@ Standard_Boolean ChFi3d_Builder::CompleteData
|
||||
(Handle(ChFiDS_SurfData)& Data,
|
||||
Blend_Function& Func,
|
||||
Handle(BRepBlend_Line)& lin,
|
||||
const Handle(Adaptor3d_HSurface)& S1,
|
||||
const Handle(Adaptor3d_HSurface)& S2,
|
||||
const Handle(Adaptor3d_Surface)& S1,
|
||||
const Handle(Adaptor3d_Surface)& S2,
|
||||
const TopAbs_Orientation Or1,
|
||||
const Standard_Boolean Gd1,
|
||||
const Standard_Boolean Gd2,
|
||||
@@ -572,8 +570,8 @@ Standard_Boolean ChFi3d_Builder::CompleteData
|
||||
(Handle(ChFiDS_SurfData)& Data,
|
||||
Blend_SurfRstFunction& Func,
|
||||
Handle(BRepBlend_Line)& lin,
|
||||
const Handle(Adaptor3d_HSurface)& S1,
|
||||
const Handle(Adaptor3d_HSurface)& S2,
|
||||
const Handle(Adaptor3d_Surface)& S1,
|
||||
const Handle(Adaptor3d_Surface)& S2,
|
||||
const TopAbs_Orientation Or,
|
||||
const Standard_Boolean Reversed)
|
||||
{
|
||||
@@ -610,8 +608,8 @@ Standard_Boolean ChFi3d_Builder::CompleteData
|
||||
(Handle(ChFiDS_SurfData)& Data,
|
||||
Blend_RstRstFunction& Func,
|
||||
Handle(BRepBlend_Line)& lin,
|
||||
const Handle(Adaptor3d_HSurface)& S1,
|
||||
const Handle(Adaptor3d_HSurface)& S2,
|
||||
const Handle(Adaptor3d_Surface)& S1,
|
||||
const Handle(Adaptor3d_Surface)& S2,
|
||||
const TopAbs_Orientation Or)
|
||||
{
|
||||
Handle(BRepBlend_AppFuncRstRst) TheFunc
|
||||
@@ -646,8 +644,8 @@ Standard_Boolean ChFi3d_Builder::CompleteData
|
||||
Standard_Boolean ChFi3d_Builder::StoreData(Handle(ChFiDS_SurfData)& Data,
|
||||
const AppBlend_Approx& approx,
|
||||
const Handle(BRepBlend_Line)& lin,
|
||||
const Handle(Adaptor3d_HSurface)& S1,
|
||||
const Handle(Adaptor3d_HSurface)& S2,
|
||||
const Handle(Adaptor3d_Surface)& S1,
|
||||
const Handle(Adaptor3d_Surface)& S2,
|
||||
const TopAbs_Orientation Or1,
|
||||
const Standard_Boolean Gd1,
|
||||
const Standard_Boolean Gd2,
|
||||
@@ -656,9 +654,9 @@ Standard_Boolean ChFi3d_Builder::StoreData(Handle(ChFiDS_SurfData)& Data,
|
||||
const Standard_Boolean Reversed)
|
||||
{
|
||||
// Small control tools.
|
||||
static Handle(GeomAdaptor_HCurve) checkcurve;
|
||||
if(checkcurve.IsNull()) checkcurve = new GeomAdaptor_HCurve();
|
||||
GeomAdaptor_Curve& chc = checkcurve->ChangeCurve();
|
||||
static Handle(GeomAdaptor_Curve) checkcurve;
|
||||
if(checkcurve.IsNull()) checkcurve = new GeomAdaptor_Curve();
|
||||
GeomAdaptor_Curve& chc = *checkcurve;
|
||||
Standard_Real tolget3d, tolget2d, tolaux, tolC1, tolcheck;
|
||||
Standard_Real tolC2 = 0.;
|
||||
approx.TolReached(tolget3d, tolget2d);
|
||||
@@ -751,10 +749,10 @@ Standard_Boolean ChFi3d_Builder::StoreData(Handle(ChFiDS_SurfData)& Data,
|
||||
Surf->Bounds(UFirst,ULast,VFirst,VLast);
|
||||
BRepAdaptor_Curve2d brc;
|
||||
BRepAdaptor_Curve CArc;
|
||||
Handle(BRepAdaptor_HSurface)
|
||||
BS1 = Handle(BRepAdaptor_HSurface)::DownCast(S1);
|
||||
Handle(BRepAdaptor_HSurface)
|
||||
BS2 = Handle(BRepAdaptor_HSurface)::DownCast(S2);
|
||||
Handle(BRepAdaptor_Surface)
|
||||
BS1 = Handle(BRepAdaptor_Surface)::DownCast(S1);
|
||||
Handle(BRepAdaptor_Surface)
|
||||
BS2 = Handle(BRepAdaptor_Surface)::DownCast(S2);
|
||||
Geom2dAPI_ProjectPointOnCurve projector;
|
||||
|
||||
Standard_Real Uon1 = UFirst, Uon2 = ULast;
|
||||
@@ -787,7 +785,7 @@ Standard_Boolean ChFi3d_Builder::StoreData(Handle(ChFiDS_SurfData)& Data,
|
||||
|
||||
Standard_Real uarc,utg;
|
||||
if(Gd1){
|
||||
TopoDS_Face forwfac = BS1->ChangeSurface().Face();
|
||||
TopoDS_Face forwfac = BS1->Face();
|
||||
forwfac.Orientation(TopAbs_FORWARD);
|
||||
brc.Initialize(Data->VertexFirstOnS1().Arc(),forwfac);
|
||||
ChFiDS_CommonPoint& V = Data->ChangeVertexFirstOnS1();
|
||||
@@ -799,7 +797,7 @@ Standard_Boolean ChFi3d_Builder::StoreData(Handle(ChFiDS_SurfData)& Data,
|
||||
}
|
||||
else pppdeb = VFirst;
|
||||
if(Gf1){
|
||||
TopoDS_Face forwfac = BS1->ChangeSurface().Face();
|
||||
TopoDS_Face forwfac = BS1->Face();
|
||||
forwfac.Orientation(TopAbs_FORWARD);
|
||||
ChFiDS_CommonPoint& V = Data->ChangeVertexLastOnS1();
|
||||
brc.Initialize(V.Arc(),forwfac);
|
||||
@@ -839,7 +837,7 @@ Standard_Boolean ChFi3d_Builder::StoreData(Handle(ChFiDS_SurfData)& Data,
|
||||
Standard_Integer Index2OfCurve =
|
||||
DStr.AddCurve(TopOpeBRepDS_Curve(Crv3d2,tolC2));
|
||||
if(Gd2){
|
||||
TopoDS_Face forwfac = BS2->ChangeSurface().Face();
|
||||
TopoDS_Face forwfac = BS2->Face();
|
||||
forwfac.Orientation(TopAbs_FORWARD);
|
||||
brc.Initialize(Data->VertexFirstOnS2().Arc(),forwfac);
|
||||
ChFiDS_CommonPoint& V = Data->ChangeVertexFirstOnS2();
|
||||
@@ -851,7 +849,7 @@ Standard_Boolean ChFi3d_Builder::StoreData(Handle(ChFiDS_SurfData)& Data,
|
||||
}
|
||||
else pppdeb = VFirst;
|
||||
if(Gf2){
|
||||
TopoDS_Face forwfac = BS2->ChangeSurface().Face();
|
||||
TopoDS_Face forwfac = BS2->Face();
|
||||
forwfac.Orientation(TopAbs_FORWARD);
|
||||
brc.Initialize(Data->VertexLastOnS2().Arc(),forwfac);
|
||||
ChFiDS_CommonPoint& V = Data->ChangeVertexLastOnS2();
|
||||
@@ -879,7 +877,7 @@ Standard_Boolean ChFi3d_Builder::StoreData(Handle(ChFiDS_SurfData)& Data,
|
||||
|
||||
// the orientation of the fillet in relation to the faces is evaluated,
|
||||
|
||||
Handle(Adaptor3d_HSurface) Sref = S1;
|
||||
Handle(Adaptor3d_Surface) Sref = S1;
|
||||
PCurveOnFace = Fint1.PCurveOnFace();
|
||||
if(Reversed){ Sref = S2; PCurveOnFace = Fint2.PCurveOnFace(); }
|
||||
|
||||
@@ -961,12 +959,12 @@ Standard_Boolean ChFi3d_Builder::StoreData(Handle(ChFiDS_SurfData)& Data,
|
||||
|
||||
Standard_Boolean ChFi3d_Builder::ComputeData
|
||||
(Handle(ChFiDS_SurfData)& Data,
|
||||
const Handle(ChFiDS_HElSpine)& HGuide,
|
||||
const Handle(ChFiDS_ElSpine)& HGuide,
|
||||
Handle(BRepBlend_Line)& Lin,
|
||||
const Handle(Adaptor3d_HSurface)& S1,
|
||||
const Handle(Adaptor3d_Surface)& S1,
|
||||
const Handle(Adaptor3d_TopolTool)& I1,
|
||||
const Handle(Adaptor3d_HSurface)& S2,
|
||||
const Handle(Adaptor2d_HCurve2d)& PC2,
|
||||
const Handle(Adaptor3d_Surface)& S2,
|
||||
const Handle(Adaptor2d_Curve2d)& PC2,
|
||||
const Handle(Adaptor3d_TopolTool)& I2,
|
||||
Standard_Boolean& Decroch,
|
||||
Blend_SurfRstFunction& Func,
|
||||
@@ -1089,14 +1087,14 @@ Standard_Boolean ChFi3d_Builder::ComputeData
|
||||
|
||||
Standard_Boolean ChFi3d_Builder::ComputeData
|
||||
(Handle(ChFiDS_SurfData)& Data,
|
||||
const Handle(ChFiDS_HElSpine)& HGuide,
|
||||
const Handle(ChFiDS_ElSpine)& HGuide,
|
||||
Handle(BRepBlend_Line)& Lin,
|
||||
const Handle(Adaptor3d_HSurface)& S1,
|
||||
const Handle(Adaptor2d_HCurve2d)& PC1,
|
||||
const Handle(Adaptor3d_Surface)& S1,
|
||||
const Handle(Adaptor2d_Curve2d)& PC1,
|
||||
const Handle(Adaptor3d_TopolTool)& I1,
|
||||
Standard_Boolean& Decroch1,
|
||||
const Handle(Adaptor3d_HSurface)& S2,
|
||||
const Handle(Adaptor2d_HCurve2d)& PC2,
|
||||
const Handle(Adaptor3d_Surface)& S2,
|
||||
const Handle(Adaptor2d_Curve2d)& PC2,
|
||||
const Handle(Adaptor3d_TopolTool)& I2,
|
||||
Standard_Boolean& Decroch2,
|
||||
Blend_RstRstFunction& Func,
|
||||
@@ -1226,12 +1224,12 @@ Standard_Boolean ChFi3d_Builder::ComputeData
|
||||
|
||||
Standard_Boolean ChFi3d_Builder::SimulData
|
||||
(Handle(ChFiDS_SurfData)& /*Data*/,
|
||||
const Handle(ChFiDS_HElSpine)& HGuide,
|
||||
const Handle(ChFiDS_ElSpine)& HGuide,
|
||||
Handle(BRepBlend_Line)& Lin,
|
||||
const Handle(Adaptor3d_HSurface)& S1,
|
||||
const Handle(Adaptor3d_Surface)& S1,
|
||||
const Handle(Adaptor3d_TopolTool)& I1,
|
||||
const Handle(Adaptor3d_HSurface)& S2,
|
||||
const Handle(Adaptor2d_HCurve2d)& PC2,
|
||||
const Handle(Adaptor3d_Surface)& S2,
|
||||
const Handle(Adaptor2d_Curve2d)& PC2,
|
||||
const Handle(Adaptor3d_TopolTool)& I2,
|
||||
Standard_Boolean& Decroch,
|
||||
Blend_SurfRstFunction& Func,
|
||||
@@ -1348,14 +1346,14 @@ Standard_Boolean ChFi3d_Builder::SimulData
|
||||
|
||||
Standard_Boolean ChFi3d_Builder::SimulData
|
||||
(Handle(ChFiDS_SurfData)& /*Data*/,
|
||||
const Handle(ChFiDS_HElSpine)& HGuide,
|
||||
const Handle(ChFiDS_ElSpine)& HGuide,
|
||||
Handle(BRepBlend_Line)& Lin,
|
||||
const Handle(Adaptor3d_HSurface)& S1,
|
||||
const Handle(Adaptor2d_HCurve2d)& PC1,
|
||||
const Handle(Adaptor3d_Surface)& S1,
|
||||
const Handle(Adaptor2d_Curve2d)& PC1,
|
||||
const Handle(Adaptor3d_TopolTool)& I1,
|
||||
Standard_Boolean& Decroch1,
|
||||
const Handle(Adaptor3d_HSurface)& S2,
|
||||
const Handle(Adaptor2d_HCurve2d)& PC2,
|
||||
const Handle(Adaptor3d_Surface)& S2,
|
||||
const Handle(Adaptor2d_Curve2d)& PC2,
|
||||
const Handle(Adaptor3d_TopolTool)& I2,
|
||||
Standard_Boolean& Decroch2,
|
||||
Blend_RstRstFunction& Func,
|
||||
@@ -1482,12 +1480,12 @@ Standard_Boolean ChFi3d_Builder::SimulData
|
||||
|
||||
Standard_Boolean ChFi3d_Builder::ComputeData
|
||||
(Handle(ChFiDS_SurfData)& Data,
|
||||
const Handle(ChFiDS_HElSpine)& HGuide,
|
||||
const Handle(ChFiDS_ElSpine)& HGuide,
|
||||
const Handle(ChFiDS_Spine)& Spine,
|
||||
Handle(BRepBlend_Line)& Lin,
|
||||
const Handle(Adaptor3d_HSurface)& S1,
|
||||
const Handle(Adaptor3d_Surface)& S1,
|
||||
const Handle(Adaptor3d_TopolTool)& I1,
|
||||
const Handle(Adaptor3d_HSurface)& S2,
|
||||
const Handle(Adaptor3d_Surface)& S2,
|
||||
const Handle(Adaptor3d_TopolTool)& I2,
|
||||
Blend_Function& Func,
|
||||
Blend_FuncInv& FInv,
|
||||
@@ -1511,7 +1509,7 @@ Standard_Boolean ChFi3d_Builder::ComputeData
|
||||
const Standard_Boolean RecOnS2)
|
||||
{
|
||||
//Get offset guide if exists
|
||||
Handle(ChFiDS_HElSpine) OffsetHGuide;
|
||||
Handle(ChFiDS_ElSpine) OffsetHGuide;
|
||||
if (!Spine.IsNull() &&
|
||||
Spine->Mode() == ChFiDS_ConstThroatWithPenetrationChamfer)
|
||||
{
|
||||
@@ -1520,7 +1518,7 @@ Standard_Boolean ChFi3d_Builder::ComputeData
|
||||
ChFiDS_ListIteratorOfListOfHElSpine ILES(ll), ILES_offset(ll_offset);
|
||||
for ( ; ILES.More(); ILES.Next(),ILES_offset.Next())
|
||||
{
|
||||
const Handle(ChFiDS_HElSpine)& aHElSpine = ILES.Value();
|
||||
const Handle(ChFiDS_ElSpine)& aHElSpine = ILES.Value();
|
||||
if (aHElSpine == HGuide)
|
||||
OffsetHGuide = ILES_offset.Value();
|
||||
}
|
||||
@@ -1533,10 +1531,10 @@ Standard_Boolean ChFi3d_Builder::ComputeData
|
||||
|
||||
//The eventual faces are restored to test the jump of edge.
|
||||
TopoDS_Face F1, F2;
|
||||
Handle(BRepAdaptor_HSurface) HS = Handle(BRepAdaptor_HSurface)::DownCast(S1);
|
||||
if(!HS.IsNull()) F1 = HS->ChangeSurface().Face();
|
||||
HS = Handle(BRepAdaptor_HSurface)::DownCast(S2);
|
||||
if(!HS.IsNull()) F2 = HS->ChangeSurface().Face();
|
||||
Handle(BRepAdaptor_Surface) HS = Handle(BRepAdaptor_Surface)::DownCast(S1);
|
||||
if(!HS.IsNull()) F1 = HS->Face();
|
||||
HS = Handle(BRepAdaptor_Surface)::DownCast(S2);
|
||||
if(!HS.IsNull()) F2 = HS->Face();
|
||||
|
||||
// Path framing variables
|
||||
Standard_Real TolGuide=tolguide, TolEsp = tolesp;
|
||||
@@ -1652,14 +1650,14 @@ Standard_Boolean ChFi3d_Builder::ComputeData
|
||||
if(HGuide->IsPeriodic() && Inside) {
|
||||
SpFirst = Lin->Point(1).Parameter();
|
||||
SpLast = SpFirst + HGuide->Period();
|
||||
HGuide->ChangeCurve().FirstParameter(SpFirst);
|
||||
HGuide->ChangeCurve().LastParameter (SpLast );
|
||||
HGuide->ChangeCurve().SetOrigin(SpFirst);
|
||||
HGuide->FirstParameter(SpFirst);
|
||||
HGuide->LastParameter (SpLast );
|
||||
HGuide->SetOrigin(SpFirst);
|
||||
if (!OffsetHGuide.IsNull())
|
||||
{
|
||||
OffsetHGuide->ChangeCurve().FirstParameter(SpFirst);
|
||||
OffsetHGuide->ChangeCurve().LastParameter (SpLast );
|
||||
OffsetHGuide->ChangeCurve().SetOrigin(SpFirst);
|
||||
OffsetHGuide->FirstParameter(SpFirst);
|
||||
OffsetHGuide->LastParameter (SpLast );
|
||||
OffsetHGuide->SetOrigin(SpFirst);
|
||||
}
|
||||
}
|
||||
Standard_Boolean complmnt = Standard_True;
|
||||
@@ -2119,12 +2117,12 @@ Standard_Boolean ChFi3d_Builder::ComputeData
|
||||
|
||||
Standard_Boolean ChFi3d_Builder::SimulData
|
||||
(Handle(ChFiDS_SurfData)& /*Data*/,
|
||||
const Handle(ChFiDS_HElSpine)& HGuide,
|
||||
const Handle(ChFiDS_HElSpine)& AdditionalHGuide,
|
||||
const Handle(ChFiDS_ElSpine)& HGuide,
|
||||
const Handle(ChFiDS_ElSpine)& AdditionalHGuide,
|
||||
Handle(BRepBlend_Line)& Lin,
|
||||
const Handle(Adaptor3d_HSurface)& S1,
|
||||
const Handle(Adaptor3d_Surface)& S1,
|
||||
const Handle(Adaptor3d_TopolTool)& I1,
|
||||
const Handle(Adaptor3d_HSurface)& S2,
|
||||
const Handle(Adaptor3d_Surface)& S2,
|
||||
const Handle(Adaptor3d_TopolTool)& I2,
|
||||
Blend_Function& Func,
|
||||
Blend_FuncInv& FInv,
|
||||
@@ -2201,12 +2199,12 @@ Standard_Boolean ChFi3d_Builder::SimulData
|
||||
if(HGuide->IsPeriodic()) {
|
||||
SpFirst = Lin->Point(1).Parameter();
|
||||
SpLast = SpFirst + HGuide->Period();
|
||||
HGuide->ChangeCurve().FirstParameter(SpFirst);
|
||||
HGuide->ChangeCurve().LastParameter (SpLast );
|
||||
HGuide->FirstParameter(SpFirst);
|
||||
HGuide->LastParameter (SpLast );
|
||||
if (!AdditionalHGuide.IsNull())
|
||||
{
|
||||
AdditionalHGuide->ChangeCurve().FirstParameter(SpFirst);
|
||||
AdditionalHGuide->ChangeCurve().LastParameter (SpLast );
|
||||
AdditionalHGuide->FirstParameter(SpFirst);
|
||||
AdditionalHGuide->LastParameter (SpLast );
|
||||
}
|
||||
}
|
||||
Standard_Boolean complmnt = Standard_True;
|
||||
|
@@ -17,10 +17,9 @@
|
||||
// Modified by skv - Mon Jun 7 18:38:57 2004 OCC5898
|
||||
// Modified by skv - Thu Aug 21 11:55:58 2008 OCC20222
|
||||
|
||||
#include <Adaptor2d_HCurve2d.hxx>
|
||||
#include <Adaptor2d_Curve2d.hxx>
|
||||
#include <Adaptor3d_CurveOnSurface.hxx>
|
||||
#include <Adaptor3d_HCurveOnSurface.hxx>
|
||||
#include <Adaptor3d_HSurface.hxx>
|
||||
#include <Adaptor3d_Surface.hxx>
|
||||
#include <Adaptor3d_TopolTool.hxx>
|
||||
#include <AppBlend_Approx.hxx>
|
||||
#include <Blend_CurvPointFuncInv.hxx>
|
||||
@@ -34,9 +33,6 @@
|
||||
#include <BRep_Tool.hxx>
|
||||
#include <BRepAdaptor_Curve.hxx>
|
||||
#include <BRepAdaptor_Curve2d.hxx>
|
||||
#include <BRepAdaptor_HCurve.hxx>
|
||||
#include <BRepAdaptor_HCurve2d.hxx>
|
||||
#include <BRepAdaptor_HSurface.hxx>
|
||||
#include <BRepAdaptor_Surface.hxx>
|
||||
#include <BRepAlgo_NormalProjection.hxx>
|
||||
#include <BRepBlend_Line.hxx>
|
||||
@@ -50,7 +46,7 @@
|
||||
#include <ChFiDS_CommonPoint.hxx>
|
||||
#include <ChFiDS_FaceInterference.hxx>
|
||||
#include <ChFiDS_HData.hxx>
|
||||
#include <ChFiDS_HElSpine.hxx>
|
||||
#include <ChFiDS_ElSpine.hxx>
|
||||
#include <ChFiDS_ListIteratorOfListOfStripe.hxx>
|
||||
#include <ChFiDS_Map.hxx>
|
||||
#include <ChFiDS_SequenceOfSurfData.hxx>
|
||||
@@ -69,7 +65,7 @@
|
||||
#include <Geom2d_Curve.hxx>
|
||||
#include <Geom2d_Line.hxx>
|
||||
#include <Geom2d_TrimmedCurve.hxx>
|
||||
#include <Geom2dAdaptor_HCurve.hxx>
|
||||
#include <Geom2dAdaptor_Curve.hxx>
|
||||
#include <Geom2dInt_GInter.hxx>
|
||||
#include <Geom_BezierSurface.hxx>
|
||||
#include <Geom_BoundedCurve.hxx>
|
||||
@@ -83,8 +79,8 @@
|
||||
#include <Geom_Surface.hxx>
|
||||
#include <Geom_TrimmedCurve.hxx>
|
||||
#include <GeomAbs_Shape.hxx>
|
||||
#include <GeomAdaptor_HCurve.hxx>
|
||||
#include <GeomAdaptor_HSurface.hxx>
|
||||
#include <GeomAdaptor_Curve.hxx>
|
||||
#include <GeomAdaptor_Surface.hxx>
|
||||
#include <GeomAdaptor_Surface.hxx>
|
||||
#include <GeomAPI_ExtremaCurveCurve.hxx>
|
||||
#include <GeomInt_IntSS.hxx>
|
||||
@@ -183,9 +179,9 @@ static Standard_Real recadre(const Standard_Real p,
|
||||
// parameter in FaceInterference.
|
||||
//=======================================================================
|
||||
|
||||
static Standard_Boolean Update(const Handle(Adaptor3d_HSurface)& fb,
|
||||
const Handle(Adaptor2d_HCurve2d)& pcfb,
|
||||
const Handle(Adaptor3d_HSurface)& surf,
|
||||
static Standard_Boolean Update(const Handle(Adaptor3d_Surface)& fb,
|
||||
const Handle(Adaptor2d_Curve2d)& pcfb,
|
||||
const Handle(Adaptor3d_Surface)& surf,
|
||||
ChFiDS_FaceInterference& fi,
|
||||
ChFiDS_CommonPoint& cp,
|
||||
gp_Pnt2d& p2dbout,
|
||||
@@ -196,7 +192,7 @@ static Standard_Boolean Update(const Handle(Adaptor3d_HSurface)& fb,
|
||||
{
|
||||
Adaptor3d_CurveOnSurface c1(pcfb,fb);
|
||||
Handle(Geom2d_Curve) pc = fi.PCurveOnSurf();
|
||||
Handle(Geom2dAdaptor_HCurve) hpc = new Geom2dAdaptor_HCurve(pc);
|
||||
Handle(Geom2dAdaptor_Curve) hpc = new Geom2dAdaptor_Curve(pc);
|
||||
Adaptor3d_CurveOnSurface c2(hpc,surf);
|
||||
Extrema_LocateExtCC ext(c1,c2,pared,wop);
|
||||
if (ext.IsDone()) {
|
||||
@@ -225,8 +221,8 @@ static Standard_Boolean Update(const Handle(Adaptor3d_HSurface)& fb,
|
||||
// and <p2dbout>
|
||||
//=======================================================================
|
||||
|
||||
static Standard_Boolean Update(const Handle(Adaptor3d_HSurface)& fb,
|
||||
const Handle(Adaptor3d_HCurve)& ct,
|
||||
static Standard_Boolean Update(const Handle(Adaptor3d_Surface)& fb,
|
||||
const Handle(Adaptor3d_Curve)& ct,
|
||||
ChFiDS_FaceInterference& fi,
|
||||
ChFiDS_CommonPoint& cp,
|
||||
gp_Pnt2d& p2dbout,
|
||||
@@ -308,8 +304,8 @@ static Standard_Boolean Update(const Handle(Adaptor3d_HSurface)& fb,
|
||||
// <Vtx> is a corner vertex
|
||||
//=======================================================================
|
||||
|
||||
static Standard_Boolean IntersUpdateOnSame(Handle(GeomAdaptor_HSurface)& HGs,
|
||||
Handle(BRepAdaptor_HSurface)& HBs,
|
||||
static Standard_Boolean IntersUpdateOnSame(Handle(GeomAdaptor_Surface)& HGs,
|
||||
Handle(BRepAdaptor_Surface)& HBs,
|
||||
const Handle(Geom_Curve)& c3dFI,
|
||||
const TopoDS_Face& Fop,
|
||||
const TopoDS_Face& Fprol,
|
||||
@@ -327,9 +323,9 @@ static Standard_Boolean IntersUpdateOnSame(Handle(GeomAdaptor_HSurface)& HGs,
|
||||
// extended end or if the end is sharp.
|
||||
Standard_Real uf = FIop.FirstParameter();
|
||||
Standard_Real ul = FIop.LastParameter();
|
||||
Handle(GeomAdaptor_HCurve) Hc3df;
|
||||
if (c3dFI->IsPeriodic()) Hc3df = new GeomAdaptor_HCurve(c3dFI);
|
||||
else Hc3df = new GeomAdaptor_HCurve(c3dFI,uf,ul);
|
||||
Handle(GeomAdaptor_Curve) Hc3df;
|
||||
if (c3dFI->IsPeriodic()) Hc3df = new GeomAdaptor_Curve(c3dFI);
|
||||
else Hc3df = new GeomAdaptor_Curve(c3dFI,uf,ul);
|
||||
|
||||
if ( Update(HBs,Hc3df,FIop,CPop,FprolUV,isFirst,c3dU) )
|
||||
return Standard_True;
|
||||
@@ -338,7 +334,7 @@ static Standard_Boolean IntersUpdateOnSame(Handle(GeomAdaptor_HSurface)& HGs,
|
||||
return Standard_False;
|
||||
|
||||
Handle(Geom2d_Curve) gpcprol = BRep_Tool::CurveOnSurface(Eprol,Fprol,uf,ul);
|
||||
Handle(Geom2dAdaptor_HCurve) pcprol = new Geom2dAdaptor_HCurve(gpcprol);
|
||||
Handle(Geom2dAdaptor_Curve) pcprol = new Geom2dAdaptor_Curve(gpcprol);
|
||||
Standard_Real partemp = BRep_Tool::Parameter(Vtx,Eprol);
|
||||
|
||||
return
|
||||
@@ -352,9 +348,9 @@ static Standard_Boolean IntersUpdateOnSame(Handle(GeomAdaptor_HSurface)& HGs,
|
||||
// face at end.
|
||||
//=======================================================================
|
||||
|
||||
static Standard_Boolean Update(const Handle(Adaptor3d_HSurface)& face,
|
||||
const Handle(Adaptor2d_HCurve2d)& edonface,
|
||||
const Handle(Adaptor3d_HSurface)& surf,
|
||||
static Standard_Boolean Update(const Handle(Adaptor3d_Surface)& face,
|
||||
const Handle(Adaptor2d_Curve2d)& edonface,
|
||||
const Handle(Adaptor3d_Surface)& surf,
|
||||
ChFiDS_FaceInterference& fi,
|
||||
ChFiDS_CommonPoint& cp,
|
||||
const Standard_Boolean isfirst)
|
||||
@@ -369,7 +365,7 @@ static Standard_Boolean Update(const Handle(Adaptor3d_HSurface)& face,
|
||||
Standard_Real delta = 0.1 * ( l - f );
|
||||
f = Max(f-delta,pc->FirstParameter());
|
||||
l = Min(l+delta,pc->LastParameter());
|
||||
Handle(Geom2dAdaptor_HCurve) hpc = new Geom2dAdaptor_HCurve(pc,f,l);
|
||||
Handle(Geom2dAdaptor_Curve) hpc = new Geom2dAdaptor_Curve(pc,f,l);
|
||||
Adaptor3d_CurveOnSurface c2(hpc,surf);
|
||||
|
||||
Extrema_LocateExtCC ext(c1,c2,pared,parltg);
|
||||
@@ -615,12 +611,12 @@ void ChFi3d_Builder::PerformOneCorner(const Standard_Integer Index,
|
||||
else Arcspine = spine->Edges(spine->NbEdges());
|
||||
TopAbs_Orientation OArcprolv = TopAbs_FORWARD, OArcprolop = TopAbs_FORWARD;
|
||||
Standard_Integer ICurve;
|
||||
Handle(BRepAdaptor_HSurface) HBs = new BRepAdaptor_HSurface();
|
||||
Handle(BRepAdaptor_HSurface) HBad = new BRepAdaptor_HSurface();
|
||||
Handle(BRepAdaptor_HSurface) HBop = new BRepAdaptor_HSurface();
|
||||
BRepAdaptor_Surface& Bs = HBs->ChangeSurface();
|
||||
BRepAdaptor_Surface& Bad = HBad->ChangeSurface();
|
||||
BRepAdaptor_Surface& Bop = HBop->ChangeSurface();
|
||||
Handle(BRepAdaptor_Surface) HBs = new BRepAdaptor_Surface();
|
||||
Handle(BRepAdaptor_Surface) HBad = new BRepAdaptor_Surface();
|
||||
Handle(BRepAdaptor_Surface) HBop = new BRepAdaptor_Surface();
|
||||
BRepAdaptor_Surface& Bs = *HBs;
|
||||
BRepAdaptor_Surface& Bad = *HBad;
|
||||
BRepAdaptor_Surface& Bop = *HBop;
|
||||
Handle(Geom_Curve) Cc;
|
||||
Handle(Geom2d_Curve) Pc,Ps;
|
||||
Standard_Real Ubid,Vbid;//,mu,Mu,mv,Mv;
|
||||
@@ -757,8 +753,8 @@ void ChFi3d_Builder::PerformOneCorner(const Standard_Integer Index,
|
||||
//its opposite (point on arc).
|
||||
Standard_Real wop = Fd->ChangeInterference(IFadArc).Parameter(isfirst);
|
||||
Handle(Geom_Curve) c3df;
|
||||
Handle(GeomAdaptor_HSurface)
|
||||
HGs = new GeomAdaptor_HSurface(DStr.Surface(Fd->Surf()).Surface());
|
||||
Handle(GeomAdaptor_Surface)
|
||||
HGs = new GeomAdaptor_Surface(DStr.Surface(Fd->Surf()).Surface());
|
||||
gp_Pnt2d p2dbout;
|
||||
|
||||
if (onsame) {
|
||||
@@ -769,8 +765,8 @@ void ChFi3d_Builder::PerformOneCorner(const Standard_Integer Index,
|
||||
inters = IntersUpdateOnSame (HGs,HBs,c3df,Fop,Fv,Arcprol,Vtx,isfirst,10*tolesp, // in
|
||||
FiopArc,CPopArc,p2dbout,wop); // out
|
||||
|
||||
Handle(BRepAdaptor_HCurve2d) pced = new BRepAdaptor_HCurve2d();
|
||||
pced->ChangeCurve2d().Initialize(CPadArc.Arc(),Fv);
|
||||
Handle(BRepAdaptor_Curve2d) pced = new BRepAdaptor_Curve2d();
|
||||
pced->Initialize(CPadArc.Arc(),Fv);
|
||||
// in the case of degenerated Fi, parameter difference can be even negative (eap, occ293)
|
||||
if ((FiadArc.LastParameter() - FiadArc.FirstParameter()) > 10*tolesp)
|
||||
Update(HBs,pced,HGs,FiadArc,CPadArc,isfirst);
|
||||
@@ -789,10 +785,10 @@ void ChFi3d_Builder::PerformOneCorner(const Standard_Integer Index,
|
||||
return;
|
||||
}
|
||||
Bs.Initialize(Fv);
|
||||
Handle(BRepAdaptor_HCurve2d) pced = new BRepAdaptor_HCurve2d();
|
||||
pced->ChangeCurve2d().Initialize(CV1.Arc(),Fv);
|
||||
Handle(BRepAdaptor_Curve2d) pced = new BRepAdaptor_Curve2d();
|
||||
pced->Initialize(CV1.Arc(),Fv);
|
||||
Update(HBs,pced,HGs,Fd->ChangeInterferenceOnS1(),CV1,isfirst);
|
||||
pced->ChangeCurve2d().Initialize(CV2.Arc(),Fv);
|
||||
pced->Initialize(CV2.Arc(),Fv);
|
||||
Update(HBs,pced,HGs,Fd->ChangeInterferenceOnS2(),CV2,isfirst);
|
||||
}
|
||||
|
||||
@@ -1692,12 +1688,12 @@ void ChFi3d_Builder::PerformIntersectionAtEnd(const Standard_Integer Index)
|
||||
PerformMoreThreeCorner (Index,1);
|
||||
return;
|
||||
}
|
||||
Handle(GeomAdaptor_HSurface) HGs = ChFi3d_BoundSurf(DStr,Fd,1,2);
|
||||
Handle(GeomAdaptor_Surface) HGs = ChFi3d_BoundSurf(DStr,Fd,1,2);
|
||||
ChFiDS_FaceInterference Fi1 = Fd->InterferenceOnS1();
|
||||
ChFiDS_FaceInterference Fi2 = Fd->InterferenceOnS2();
|
||||
GeomAdaptor_Surface& Gs = HGs->ChangeSurface();
|
||||
Handle(BRepAdaptor_HSurface) HBs = new BRepAdaptor_HSurface();
|
||||
BRepAdaptor_Surface& Bs = HBs->ChangeSurface();
|
||||
GeomAdaptor_Surface& Gs = *HGs;
|
||||
Handle(BRepAdaptor_Surface) HBs = new BRepAdaptor_Surface();
|
||||
BRepAdaptor_Surface& Bs = *HBs;
|
||||
Handle(Geom_Curve) Cc;
|
||||
Handle(Geom2d_Curve) Pc,Ps;
|
||||
Standard_Real Ubid,Vbid;
|
||||
@@ -2236,9 +2232,9 @@ void ChFi3d_Builder::PerformIntersectionAtEnd(const Standard_Integer Index)
|
||||
Ubid=Utrim;
|
||||
Vbid=Vtrim;
|
||||
}
|
||||
Handle(GeomAdaptor_HCurve) HC =
|
||||
new GeomAdaptor_HCurve(C,Ubid,Vbid);
|
||||
GeomAdaptor_Curve & Cad =HC->ChangeCurve();
|
||||
Handle(GeomAdaptor_Curve) HC =
|
||||
new GeomAdaptor_Curve(C,Ubid,Vbid);
|
||||
GeomAdaptor_Curve & Cad = *HC;
|
||||
inters.Perform(HC, HGs);
|
||||
if ( !prolface[nn] && ( !inters.IsDone() || (inters.NbPoints()==0) )) {
|
||||
// extend surface of conge
|
||||
@@ -2309,8 +2305,8 @@ void ChFi3d_Builder::PerformIntersectionAtEnd(const Standard_Integer Index)
|
||||
inters.Perform(HC, HGs);
|
||||
trouve=inters.IsDone()&&inters.NbPoints()!=0;
|
||||
// eap occ293, eval tolex on finally trimmed curves
|
||||
// Handle(GeomAdaptor_HSurface) H1=new GeomAdaptor_HSurface(Sfacemoins1);
|
||||
// Handle(GeomAdaptor_HSurface) H2=new GeomAdaptor_HSurface(Sface);
|
||||
// Handle(GeomAdaptor_Surface) H1=new GeomAdaptor_Surface(Sfacemoins1);
|
||||
// Handle(GeomAdaptor_Surface) H2=new GeomAdaptor_Surface(Sface);
|
||||
// tolex=ChFi3d_EvalTolReached(H1,C2dint1,H2,C2dint2,cint);
|
||||
tolex = InterSS.TolReached3d();
|
||||
}
|
||||
@@ -2739,12 +2735,12 @@ void ChFi3d_Builder::PerformIntersectionAtEnd(const Standard_Integer Index)
|
||||
Ct=new Geom_TrimmedCurve (csau,par1,par2);
|
||||
if (oneintersection1||oneintersection2) tolex=10*BRep_Tool::Tolerance(edgesau);
|
||||
if (extend) {
|
||||
Handle(GeomAdaptor_HSurface) H1, H2;
|
||||
H1=new GeomAdaptor_HSurface(Sfacemoins1);
|
||||
Handle(GeomAdaptor_Surface) H1, H2;
|
||||
H1=new GeomAdaptor_Surface(Sfacemoins1);
|
||||
if (Sface.IsNull())
|
||||
tolex = Max (tolex, ChFi3d_EvalTolReached(H1,C2dint1,H1,C2dint1,Ct));
|
||||
else {
|
||||
H2=new GeomAdaptor_HSurface(Sface);
|
||||
H2=new GeomAdaptor_Surface(Sface);
|
||||
tolex = Max (tolex, ChFi3d_EvalTolReached(H1,C2dint1,H2,C2dint2,Ct));
|
||||
}
|
||||
}
|
||||
@@ -3145,8 +3141,8 @@ void ChFi3d_Builder::PerformMoreSurfdata(const Standard_Integer Index)
|
||||
Handle(Geom_Curve) aCint1;
|
||||
Handle(Geom2d_Curve) aPCint11;
|
||||
Handle(Geom2d_Curve) aPCint12;
|
||||
Handle(GeomAdaptor_HSurface) H1 = new GeomAdaptor_HSurface(aSurfPrev);
|
||||
Handle(GeomAdaptor_HSurface) H2 = new GeomAdaptor_HSurface(aSurf);
|
||||
Handle(GeomAdaptor_Surface) H1 = new GeomAdaptor_Surface(aSurfPrev);
|
||||
Handle(GeomAdaptor_Surface) H2 = new GeomAdaptor_Surface(aSurf);
|
||||
Standard_Real aTolex1=0.;
|
||||
Standard_Integer i;
|
||||
gp_Pnt aPext1;
|
||||
@@ -3254,8 +3250,8 @@ void ChFi3d_Builder::PerformMoreSurfdata(const Standard_Integer Index)
|
||||
if (!anInterSS2.IsDone())
|
||||
return;
|
||||
|
||||
H1 = new GeomAdaptor_HSurface(aSurfPrev);
|
||||
H2 = new GeomAdaptor_HSurface(aSurf);
|
||||
H1 = new GeomAdaptor_Surface(aSurfPrev);
|
||||
H2 = new GeomAdaptor_Surface(aSurf);
|
||||
|
||||
isFound = Standard_False;
|
||||
|
||||
@@ -3809,12 +3805,12 @@ void ChFi3d_Builder::IntersectMoreCorner(const Standard_Integer Index)
|
||||
TopAbs_Orientation OArcprolbis = TopAbs_FORWARD;
|
||||
TopAbs_Orientation OArcprolv = TopAbs_FORWARD, OArcprolop = TopAbs_FORWARD;
|
||||
Standard_Integer ICurve;
|
||||
Handle(BRepAdaptor_HSurface) HBs = new BRepAdaptor_HSurface();
|
||||
Handle(BRepAdaptor_HSurface) HBad = new BRepAdaptor_HSurface();
|
||||
Handle(BRepAdaptor_HSurface) HBop = new BRepAdaptor_HSurface();
|
||||
BRepAdaptor_Surface& Bs = HBs->ChangeSurface();
|
||||
BRepAdaptor_Surface& Bad = HBad->ChangeSurface();
|
||||
BRepAdaptor_Surface& Bop = HBop->ChangeSurface();
|
||||
Handle(BRepAdaptor_Surface) HBs = new BRepAdaptor_Surface();
|
||||
Handle(BRepAdaptor_Surface) HBad = new BRepAdaptor_Surface();
|
||||
Handle(BRepAdaptor_Surface) HBop = new BRepAdaptor_Surface();
|
||||
BRepAdaptor_Surface& Bs = *HBs;
|
||||
BRepAdaptor_Surface& Bad = *HBad;
|
||||
BRepAdaptor_Surface& Bop = *HBop;
|
||||
Handle(Geom_Curve) Cc;
|
||||
Handle(Geom2d_Curve) Pc,Ps;
|
||||
Standard_Real Ubid,Vbid;//,mu,Mu,mv,Mv;
|
||||
@@ -3949,8 +3945,8 @@ void ChFi3d_Builder::IntersectMoreCorner(const Standard_Integer Index)
|
||||
// of its opposing vertex (point on arc).
|
||||
Standard_Real wop = Fd->ChangeInterference(IFadArc).Parameter(isfirst);
|
||||
Handle(Geom_Curve) c3df;
|
||||
Handle(GeomAdaptor_HSurface)
|
||||
HGs = new GeomAdaptor_HSurface(DStr.Surface(Fd->Surf()).Surface());
|
||||
Handle(GeomAdaptor_Surface)
|
||||
HGs = new GeomAdaptor_Surface(DStr.Surface(Fd->Surf()).Surface());
|
||||
gp_Pnt2d p2dbout;
|
||||
{
|
||||
|
||||
@@ -3960,12 +3956,12 @@ void ChFi3d_Builder::IntersectMoreCorner(const Standard_Integer Index)
|
||||
c3df = DStr.Curve(FiopArc.LineIndex()).Curve();
|
||||
Standard_Real uf = FiopArc.FirstParameter();
|
||||
Standard_Real ul = FiopArc.LastParameter();
|
||||
Handle(GeomAdaptor_HCurve) Hc3df;
|
||||
Handle(GeomAdaptor_Curve) Hc3df;
|
||||
if(c3df->IsPeriodic()){
|
||||
Hc3df = new GeomAdaptor_HCurve(c3df);
|
||||
Hc3df = new GeomAdaptor_Curve(c3df);
|
||||
}
|
||||
else{
|
||||
Hc3df = new GeomAdaptor_HCurve(c3df,uf,ul);
|
||||
Hc3df = new GeomAdaptor_Curve(c3df,uf,ul);
|
||||
}
|
||||
inters = Update(HBs,Hc3df,FiopArc,CPopArc,p2dbout,isfirst,wop);
|
||||
// Modified by Sergey KHROMOV - Fri Dec 21 18:08:27 2001 Begin
|
||||
@@ -3975,13 +3971,13 @@ void ChFi3d_Builder::IntersectMoreCorner(const Standard_Integer Index)
|
||||
// Arcprol is an edge of tangency, ultimate adjustment by an extrema curve/curve is attempted.
|
||||
Standard_Real ff,ll;
|
||||
Handle(Geom2d_Curve) gpcprol = BRep_Tool::CurveOnSurface(Arcprol,Fv,ff,ll);
|
||||
Handle(Geom2dAdaptor_HCurve) pcprol = new Geom2dAdaptor_HCurve(gpcprol);
|
||||
Handle(Geom2dAdaptor_Curve) pcprol = new Geom2dAdaptor_Curve(gpcprol);
|
||||
Standard_Real partemp = BRep_Tool::Parameter(Vtx,Arcprol);
|
||||
inters = Update(HBs,pcprol,HGs,FiopArc,CPopArc,p2dbout,
|
||||
isfirst,partemp,wop,10*tolesp);
|
||||
}
|
||||
Handle(BRepAdaptor_HCurve2d) pced = new BRepAdaptor_HCurve2d();
|
||||
pced->ChangeCurve2d().Initialize(CPadArc.Arc(),Fv);
|
||||
Handle(BRepAdaptor_Curve2d) pced = new BRepAdaptor_Curve2d();
|
||||
pced->Initialize(CPadArc.Arc(),Fv);
|
||||
Update(HBs,pced,HGs,FiadArc,CPadArc,isfirst);
|
||||
}
|
||||
#ifdef OCCT_DEBUG
|
||||
|
@@ -15,9 +15,9 @@
|
||||
// commercial license or contractual agreement.
|
||||
|
||||
|
||||
#include <Adaptor2d_HCurve2d.hxx>
|
||||
#include <Adaptor3d_HCurveOnSurface.hxx>
|
||||
#include <Adaptor3d_HSurface.hxx>
|
||||
#include <Adaptor2d_Curve2d.hxx>
|
||||
#include <Adaptor3d_CurveOnSurface.hxx>
|
||||
#include <Adaptor3d_Surface.hxx>
|
||||
#include <Adaptor3d_TopolTool.hxx>
|
||||
#include <AppBlend_Approx.hxx>
|
||||
#include <Blend_CurvPointFuncInv.hxx>
|
||||
@@ -30,9 +30,6 @@
|
||||
#include <BRep_Tool.hxx>
|
||||
#include <BRepAdaptor_Curve.hxx>
|
||||
#include <BRepAdaptor_Curve2d.hxx>
|
||||
#include <BRepAdaptor_HCurve.hxx>
|
||||
#include <BRepAdaptor_HCurve2d.hxx>
|
||||
#include <BRepAdaptor_HSurface.hxx>
|
||||
#include <BRepAdaptor_Surface.hxx>
|
||||
#include <BRepBlend_Line.hxx>
|
||||
#include <BRepTopAdaptor_TopolTool.hxx>
|
||||
@@ -42,7 +39,7 @@
|
||||
#include <ChFiDS_CommonPoint.hxx>
|
||||
#include <ChFiDS_FaceInterference.hxx>
|
||||
#include <ChFiDS_HData.hxx>
|
||||
#include <ChFiDS_HElSpine.hxx>
|
||||
#include <ChFiDS_ElSpine.hxx>
|
||||
#include <ChFiDS_ListIteratorOfListOfStripe.hxx>
|
||||
#include <ChFiDS_SequenceOfSurfData.hxx>
|
||||
#include <ChFiDS_Spine.hxx>
|
||||
@@ -50,13 +47,13 @@
|
||||
#include <ChFiDS_SurfData.hxx>
|
||||
#include <Extrema_ExtPC.hxx>
|
||||
#include <Geom2d_Curve.hxx>
|
||||
#include <Geom2dAdaptor_HCurve.hxx>
|
||||
#include <Geom2dAdaptor_Curve.hxx>
|
||||
#include <Geom_BoundedCurve.hxx>
|
||||
#include <Geom_Curve.hxx>
|
||||
#include <Geom_Surface.hxx>
|
||||
#include <GeomAbs_Shape.hxx>
|
||||
#include <GeomAdaptor_HCurve.hxx>
|
||||
#include <GeomAdaptor_HSurface.hxx>
|
||||
#include <GeomAdaptor_Curve.hxx>
|
||||
#include <GeomAdaptor_Surface.hxx>
|
||||
#include <GeomAdaptor_Surface.hxx>
|
||||
#include <GeomLib.hxx>
|
||||
#include <gp_Ax3.hxx>
|
||||
@@ -97,11 +94,11 @@
|
||||
|
||||
static void Reduce(const Standard_Real& p1,
|
||||
const Standard_Real& p2,
|
||||
Handle(GeomAdaptor_HSurface)& hs1,
|
||||
Handle(GeomAdaptor_HSurface)& hs2)
|
||||
Handle(GeomAdaptor_Surface)& hs1,
|
||||
Handle(GeomAdaptor_Surface)& hs2)
|
||||
{
|
||||
GeomAdaptor_Surface& s1 = hs1->ChangeSurface();
|
||||
GeomAdaptor_Surface& s2 = hs2->ChangeSurface();
|
||||
GeomAdaptor_Surface& s1 = *hs1;
|
||||
GeomAdaptor_Surface& s2 = *hs2;
|
||||
const Handle(Geom_Surface)& surf = s1.Surface();
|
||||
Standard_Real ud,uf,vd,vf;
|
||||
surf->Bounds(ud,uf,vd,vf);
|
||||
@@ -118,9 +115,9 @@ static void Reduce(const Standard_Real& p1,
|
||||
|
||||
static void Reduce(const Standard_Real& p1,
|
||||
const Standard_Real& p2,
|
||||
Handle(GeomAdaptor_HCurve)& hc)
|
||||
Handle(GeomAdaptor_Curve)& hc)
|
||||
{
|
||||
GeomAdaptor_Curve& c = hc->ChangeCurve();
|
||||
GeomAdaptor_Curve& c = *hc;
|
||||
Standard_Real f = c.FirstParameter();
|
||||
Standard_Real l = c.LastParameter();
|
||||
Standard_Real milmoins = 0.51*f+0.49*l, milplus = 0.49*f+0.51*l;
|
||||
@@ -249,7 +246,7 @@ Standard_Boolean ChFi3d_Builder::PerformTwoCornerbyInter(const Standard_Integer
|
||||
pivot = CP1.Arc();
|
||||
Standard_Real parCP1 = CP1.ParameterOnArc();
|
||||
Standard_Real parCP2 = CP2.ParameterOnArc();
|
||||
Handle(BRepAdaptor_HCurve) Hpivot = new BRepAdaptor_HCurve(pivot);
|
||||
Handle(BRepAdaptor_Curve) Hpivot = new BRepAdaptor_Curve(pivot);
|
||||
if (!pivot.IsSame(CP2.Arc())){
|
||||
Handle(Geom_Curve) csau;
|
||||
Standard_Real ubid,vbid;
|
||||
@@ -288,7 +285,7 @@ Standard_Boolean ChFi3d_Builder::PerformTwoCornerbyInter(const Standard_Integer
|
||||
return done;
|
||||
}
|
||||
|
||||
Handle(GeomAdaptor_HSurface) HS1, HS2;
|
||||
Handle(GeomAdaptor_Surface) HS1, HS2;
|
||||
HS1 = ChFi3d_BoundSurf (DStr,Fd1,IFaCo1,IFaArc1);
|
||||
HS2 = ChFi3d_BoundSurf (DStr,Fd2,IFaCo2,IFaArc2);
|
||||
|
||||
@@ -307,7 +304,7 @@ Standard_Boolean ChFi3d_Builder::PerformTwoCornerbyInter(const Standard_Integer
|
||||
Pardeb(1)= UV.X(); Pardeb(2)=UV.Y();
|
||||
UV = Fd2->Interference(IFaCo2).PCurveOnSurf()->Value(UIntPC2);
|
||||
Pardeb(3)= UV.X(); Pardeb(4)=UV.Y();
|
||||
gp_Pnt PFaCo = HS1->Surface().Value(Pardeb(1),Pardeb(2));
|
||||
gp_Pnt PFaCo = HS1->Value(Pardeb(1),Pardeb(2));
|
||||
|
||||
// Side arc, calculation of Parfin.
|
||||
Standard_Real UIntArc1 = Fd1->Interference(IFaArc1).Parameter(isfirst1);
|
||||
@@ -410,7 +407,7 @@ Standard_Boolean ChFi3d_Builder::PerformTwoCornerbyInter(const Standard_Integer
|
||||
}
|
||||
Handle(ChFiDS_Stripe) BigCD, SmaCD;
|
||||
Handle(ChFiDS_SurfData) BigFD, SmaFD;
|
||||
Handle(GeomAdaptor_HSurface) BigHS, SmaHS;
|
||||
Handle(GeomAdaptor_Surface) BigHS, SmaHS;
|
||||
Standard_Integer IFaCoBig, IFaCoSma, IFaArcBig, IFaArcSma;
|
||||
Standard_Boolean isfirstBig, isfirstSma;
|
||||
Standard_Real UIntPCBig, UIntPCSma;
|
||||
@@ -452,8 +449,8 @@ Standard_Boolean ChFi3d_Builder::PerformTwoCornerbyInter(const Standard_Integer
|
||||
// Parfin (parameters of point PMil)
|
||||
const ChFiDS_FaceInterference& FiArcSma = SmaFD->Interference(IFaArcSma);
|
||||
Handle(Geom_Curve) ctg = DStr.Curve(FiArcSma.LineIndex()).Curve();
|
||||
Handle(GeomAdaptor_HCurve) Hctg = new GeomAdaptor_HCurve();
|
||||
GeomAdaptor_Curve& bid = Hctg->ChangeCurve();
|
||||
Handle(GeomAdaptor_Curve) Hctg = new GeomAdaptor_Curve();
|
||||
GeomAdaptor_Curve& bid = *Hctg;
|
||||
Standard_Real temp,wi;
|
||||
|
||||
if (isfirstSma) {
|
||||
@@ -560,7 +557,7 @@ Standard_Boolean ChFi3d_Builder::PerformTwoCornerbyInter(const Standard_Integer
|
||||
// The intersection curve surface is tried again, now with representation
|
||||
// pcurve on face of the curve to be sure.
|
||||
TopoDS_Face F = TopoDS::Face(DStr.Shape(SmaFD->Index(IFaArcSma)));
|
||||
Handle(BRepAdaptor_HSurface) HF = new BRepAdaptor_HSurface(F);
|
||||
Handle(BRepAdaptor_Surface) HF = new BRepAdaptor_Surface(F);
|
||||
Standard_Real fsma = FiArcSma.FirstParameter();
|
||||
Standard_Real lsma = FiArcSma.LastParameter();
|
||||
Standard_Real deltSma = 0.05 * (lsma - fsma);
|
||||
@@ -571,10 +568,10 @@ Standard_Boolean ChFi3d_Builder::PerformTwoCornerbyInter(const Standard_Integer
|
||||
done=Standard_False;
|
||||
return done;
|
||||
}
|
||||
Handle(Geom2dAdaptor_HCurve) c2df =
|
||||
new Geom2dAdaptor_HCurve(SmaFD->Interference(IFaArcSma).PCurveOnFace(),fsma,lsma);
|
||||
Handle(Geom2dAdaptor_Curve) c2df =
|
||||
new Geom2dAdaptor_Curve(SmaFD->Interference(IFaArcSma).PCurveOnFace(),fsma,lsma);
|
||||
Adaptor3d_CurveOnSurface consf(c2df,HF);
|
||||
Handle(Adaptor3d_HCurveOnSurface) Hconsf = new Adaptor3d_HCurveOnSurface(consf);
|
||||
Handle(Adaptor3d_CurveOnSurface) Hconsf = new Adaptor3d_CurveOnSurface(consf);
|
||||
if(!ChFi3d_IntCS(BigHS,Hconsf,UVi,wi)) {
|
||||
#ifdef OCCT_DEBUG
|
||||
std::cout<<"bevel : failed inter C S"<<std::endl;
|
||||
@@ -605,7 +602,7 @@ Standard_Boolean ChFi3d_Builder::PerformTwoCornerbyInter(const Standard_Integer
|
||||
// for the case when two chamfers are on two edges OnSame,
|
||||
// it is necessary to extend the surface carrying F, or at least
|
||||
// not to limit it.
|
||||
ChFi3d_BoundFac(HF->ChangeSurface(),uu1,uu2,vv1,vv2,Standard_True);
|
||||
ChFi3d_BoundFac (*HF, uu1, uu2, vv1, vv2, Standard_True);
|
||||
|
||||
if (!ChFi3d_ComputeCurves(HF,BigHS,Pardeb,Parfin,Gc,
|
||||
PGc1,PGc2,tolesp,tol2d,tolreached)) {
|
||||
|
@@ -35,10 +35,9 @@
|
||||
// consecutives
|
||||
// Traitement des coins
|
||||
|
||||
#include <Adaptor2d_HCurve2d.hxx>
|
||||
#include <Adaptor2d_Curve2d.hxx>
|
||||
#include <Adaptor3d_CurveOnSurface.hxx>
|
||||
#include <Adaptor3d_HCurveOnSurface.hxx>
|
||||
#include <Adaptor3d_HSurface.hxx>
|
||||
#include <Adaptor3d_Surface.hxx>
|
||||
#include <Adaptor3d_TopolTool.hxx>
|
||||
#include <AppBlend_Approx.hxx>
|
||||
#include <Blend_CurvPointFuncInv.hxx>
|
||||
@@ -51,8 +50,8 @@
|
||||
#include <Bnd_Box2d.hxx>
|
||||
#include <BndLib_Add2dCurve.hxx>
|
||||
#include <BRep_Tool.hxx>
|
||||
#include <BRepAdaptor_HCurve2d.hxx>
|
||||
#include <BRepAdaptor_HSurface.hxx>
|
||||
#include <BRepAdaptor_Curve2d.hxx>
|
||||
#include <BRepAdaptor_Surface.hxx>
|
||||
#include <BRepAlgo_NormalProjection.hxx>
|
||||
#include <BRepBlend_Line.hxx>
|
||||
#include <BRepLib_MakeEdge.hxx>
|
||||
@@ -64,7 +63,7 @@
|
||||
#include <ChFiDS_CommonPoint.hxx>
|
||||
#include <ChFiDS_FaceInterference.hxx>
|
||||
#include <ChFiDS_HData.hxx>
|
||||
#include <ChFiDS_HElSpine.hxx>
|
||||
#include <ChFiDS_ElSpine.hxx>
|
||||
#include <ChFiDS_ListIteratorOfListOfStripe.hxx>
|
||||
#include <ChFiDS_Regul.hxx>
|
||||
#include <ChFiDS_SequenceOfSurfData.hxx>
|
||||
@@ -80,7 +79,7 @@
|
||||
#include <Geom2d_Curve.hxx>
|
||||
#include <Geom2d_Line.hxx>
|
||||
#include <Geom2d_TrimmedCurve.hxx>
|
||||
#include <Geom2dAdaptor_HCurve.hxx>
|
||||
#include <Geom2dAdaptor_Curve.hxx>
|
||||
#include <Geom2dLProp_CLProps2d.hxx>
|
||||
#include <Geom_BezierCurve.hxx>
|
||||
#include <Geom_BSplineSurface.hxx>
|
||||
@@ -88,7 +87,7 @@
|
||||
#include <Geom_Line.hxx>
|
||||
#include <Geom_Surface.hxx>
|
||||
#include <GeomAdaptor.hxx>
|
||||
#include <GeomAdaptor_HSurface.hxx>
|
||||
#include <GeomAdaptor_Surface.hxx>
|
||||
#include <GeomInt_IntSS.hxx>
|
||||
#include <GeomLib.hxx>
|
||||
#include <GeomPlate_BuildPlateSurface.hxx>
|
||||
@@ -494,7 +493,7 @@ static void CalculDroite(const gp_Pnt2d & p2d1,
|
||||
//purpose : calcule a batten between curves 2d curv2d1 and curv2d2 at points p2d1 and p2d2
|
||||
//=======================================================================
|
||||
|
||||
static void CalculBatten (const Handle (GeomAdaptor_HSurface) ASurf,
|
||||
static void CalculBatten (const Handle (GeomAdaptor_Surface) ASurf,
|
||||
const TopoDS_Face Face ,
|
||||
const Standard_Real xdir,
|
||||
const Standard_Real ydir,
|
||||
@@ -719,8 +718,8 @@ static void PerformTwoCornerSameExt(TopOpeBRepDS_DataStructure& DStr,
|
||||
Parfin(1)= pfi12.X();Parfin(2) = pfi12.Y();
|
||||
Parfin(3)= pfi22.X();Parfin(4) = pfi22.Y();
|
||||
|
||||
Handle(GeomAdaptor_HSurface) HS1= ChFi3d_BoundSurf(DStr,Fd1,1,2);
|
||||
Handle(GeomAdaptor_HSurface) HS2= ChFi3d_BoundSurf(DStr,Fd2,1,2);
|
||||
Handle(GeomAdaptor_Surface) HS1= ChFi3d_BoundSurf(DStr,Fd1,1,2);
|
||||
Handle(GeomAdaptor_Surface) HS2= ChFi3d_BoundSurf(DStr,Fd2,1,2);
|
||||
trouve=Standard_False;
|
||||
if (ChFi3d_ComputeCurves(HS1,HS2,Pardeb,Parfin,cint,
|
||||
C2dint1,C2dint2,1.e-4,1.e-5,tol)){
|
||||
@@ -2064,8 +2063,8 @@ void ChFi3d_Builder::PerformMoreThreeCorner(const Standard_Integer Jndex,
|
||||
Calcul_P2dOnSurf(CD.Value(ic),jf.Value(ic),i.Value(ic,icplus),p.Value(ic,icplus),p2d2);
|
||||
// if (i[ic][icplus]!= i[ic][icmoins]) std::cout<<"probleme surface"<<std::endl;
|
||||
indice= SurfIndex(CD, ic, i.Value(ic,icplus), ChFiSURFACE);
|
||||
Handle (GeomAdaptor_HSurface) Asurf =
|
||||
new GeomAdaptor_HSurface(DStr.Surface(indice).Surface());
|
||||
Handle (GeomAdaptor_Surface) Asurf =
|
||||
new GeomAdaptor_Surface(DStr.Surface(indice).Surface());
|
||||
// calculation of curve 2d
|
||||
xdir= p2d2.X()-p2d1.X();
|
||||
ydir= p2d2.Y()-p2d1.Y();
|
||||
@@ -2073,10 +2072,10 @@ void ChFi3d_Builder::PerformMoreThreeCorner(const Standard_Integer Jndex,
|
||||
gp_Dir2d dir (xdir, ydir);
|
||||
Handle(Geom2d_Line) l= new Geom2d_Line (p2d1 ,dir);
|
||||
Handle (Geom2d_Curve) pcurve = new Geom2d_TrimmedCurve(l,0,l0);
|
||||
Handle (Geom2dAdaptor_HCurve) Acurv = new Geom2dAdaptor_HCurve(pcurve);
|
||||
Handle (Geom2dAdaptor_Curve) Acurv = new Geom2dAdaptor_Curve(pcurve);
|
||||
Adaptor3d_CurveOnSurface CurvOnS (Acurv,Asurf);
|
||||
Handle(Adaptor3d_HCurveOnSurface) HCons =
|
||||
new Adaptor3d_HCurveOnSurface(CurvOnS);
|
||||
Handle(Adaptor3d_CurveOnSurface) HCons =
|
||||
new Adaptor3d_CurveOnSurface(CurvOnS);
|
||||
Order.SetValue(ic,1);
|
||||
Handle(GeomPlate_CurveConstraint) Cont =
|
||||
new GeomPlate_CurveConstraint(HCons,Order.Value(ic),10,tolesp,angular,0.1);
|
||||
@@ -2217,7 +2216,7 @@ void ChFi3d_Builder::PerformMoreThreeCorner(const Standard_Integer Jndex,
|
||||
Handle(Geom2d_Curve) curv2d1,curv2d2;
|
||||
Handle (Geom2d_Curve) pcurve;
|
||||
Handle (Geom_Curve) curveint;
|
||||
Handle (GeomAdaptor_HSurface) Asurf;
|
||||
Handle (GeomAdaptor_Surface) Asurf;
|
||||
Standard_Real u1bid,u2bid;
|
||||
|
||||
// return the 1st curve 2d
|
||||
@@ -2240,10 +2239,10 @@ void ChFi3d_Builder::PerformMoreThreeCorner(const Standard_Integer Jndex,
|
||||
}
|
||||
p2d2 = curv2d2 ->Value(p.Value(icplus,ic));
|
||||
|
||||
Asurf = new GeomAdaptor_HSurface(BRep_Tool::Surface(TopoDS::Face(Fvive.Value(ic,icplus))));
|
||||
Asurf = new GeomAdaptor_Surface(BRep_Tool::Surface(TopoDS::Face(Fvive.Value(ic,icplus))));
|
||||
Standard_Real tolu,tolv,ratio;
|
||||
tolu=Asurf->Surface().UResolution(1.e-3);
|
||||
tolv=Asurf->Surface().VResolution(1.e-3);
|
||||
tolu=Asurf->UResolution(1.e-3);
|
||||
tolv=Asurf->VResolution(1.e-3);
|
||||
if (tolu>tolv) ratio=tolu/tolv;
|
||||
else ratio=tolv/tolu;
|
||||
|
||||
@@ -2351,10 +2350,10 @@ void ChFi3d_Builder::PerformMoreThreeCorner(const Standard_Integer Jndex,
|
||||
}
|
||||
|
||||
// construction of borders for Plate
|
||||
Handle (Geom2dAdaptor_HCurve) Acurv=new Geom2dAdaptor_HCurve(pcurve);
|
||||
Handle (Geom2dAdaptor_Curve) Acurv=new Geom2dAdaptor_Curve(pcurve);
|
||||
Adaptor3d_CurveOnSurface CurvOnS (Acurv,Asurf);
|
||||
Handle(Adaptor3d_HCurveOnSurface) HCons =
|
||||
new Adaptor3d_HCurveOnSurface(CurvOnS);
|
||||
Handle(Adaptor3d_CurveOnSurface) HCons =
|
||||
new Adaptor3d_CurveOnSurface(CurvOnS);
|
||||
|
||||
// constraints G1 are set if edges ic and icplus are not both alive
|
||||
|
||||
@@ -2483,12 +2482,12 @@ void ChFi3d_Builder::PerformMoreThreeCorner(const Standard_Integer Jndex,
|
||||
indpoint2= DStr.AddPoint(tpoint2);
|
||||
ind=indpoint2;
|
||||
}
|
||||
Handle (GeomAdaptor_HSurface) Asurf;
|
||||
Asurf = new GeomAdaptor_HSurface(BRep_Tool::Surface
|
||||
Handle (GeomAdaptor_Surface) Asurf;
|
||||
Asurf = new GeomAdaptor_Surface(BRep_Tool::Surface
|
||||
(TopoDS::Face(Fproj.Value(nb))));
|
||||
Handle (Geom2dAdaptor_HCurve) Acurv=new Geom2dAdaptor_HCurve(proj2d);
|
||||
Handle (Geom2dAdaptor_Curve) Acurv=new Geom2dAdaptor_Curve(proj2d);
|
||||
Adaptor3d_CurveOnSurface CurvOnS (Acurv,Asurf);
|
||||
Handle(Adaptor3d_HCurveOnSurface) HCons =new Adaptor3d_HCurveOnSurface(CurvOnS);
|
||||
Handle(Adaptor3d_CurveOnSurface) HCons =new Adaptor3d_CurveOnSurface(CurvOnS);
|
||||
Order.SetValue(n3d,1);
|
||||
Handle(GeomPlate_CurveConstraint) Cont =
|
||||
new GeomPlate_CurveConstraint(HCons,Order.Value(n3d),10,tolesp,angular,0.1);
|
||||
@@ -2596,12 +2595,12 @@ void ChFi3d_Builder::PerformMoreThreeCorner(const Standard_Integer Jndex,
|
||||
}
|
||||
ufirst=ctrim->FirstParameter();
|
||||
ulast=ctrim->LastParameter();
|
||||
Handle (GeomAdaptor_HSurface) Asurf;
|
||||
Asurf = new GeomAdaptor_HSurface(BRep_Tool::Surface
|
||||
Handle (GeomAdaptor_Surface) Asurf;
|
||||
Asurf = new GeomAdaptor_Surface(BRep_Tool::Surface
|
||||
(TopoDS::Face(Fvive.Value(ic,icplus))));
|
||||
Handle (Geom2dAdaptor_HCurve) Acurv=new Geom2dAdaptor_HCurve(ctrim2d);
|
||||
Handle (Geom2dAdaptor_Curve) Acurv=new Geom2dAdaptor_Curve(ctrim2d);
|
||||
Adaptor3d_CurveOnSurface CurvOnS (Acurv,Asurf);
|
||||
Handle(Adaptor3d_HCurveOnSurface) HCons =new Adaptor3d_HCurveOnSurface(CurvOnS);
|
||||
Handle(Adaptor3d_CurveOnSurface) HCons =new Adaptor3d_CurveOnSurface(CurvOnS);
|
||||
Order.SetValue(n3d,0);
|
||||
Handle(GeomPlate_CurveConstraint) Cont =
|
||||
new GeomPlate_CurveConstraint(HCons,Order.Value(n3d),10,tolesp,angular,0.1);
|
||||
|
@@ -15,8 +15,8 @@
|
||||
// commercial license or contractual agreement.
|
||||
|
||||
|
||||
#include <Adaptor2d_HCurve2d.hxx>
|
||||
#include <Adaptor3d_HSurface.hxx>
|
||||
#include <Adaptor2d_Curve2d.hxx>
|
||||
#include <Adaptor3d_Surface.hxx>
|
||||
#include <Adaptor3d_TopolTool.hxx>
|
||||
#include <AppBlend_Approx.hxx>
|
||||
#include <Blend_CurvPointFuncInv.hxx>
|
||||
@@ -26,13 +26,13 @@
|
||||
#include <Blend_SurfCurvFuncInv.hxx>
|
||||
#include <Blend_SurfPointFuncInv.hxx>
|
||||
#include <Blend_SurfRstFunction.hxx>
|
||||
#include <BRepAdaptor_HCurve2d.hxx>
|
||||
#include <BRepAdaptor_HSurface.hxx>
|
||||
#include <BRepAdaptor_Curve2d.hxx>
|
||||
#include <BRepAdaptor_Surface.hxx>
|
||||
#include <BRepBlend_Line.hxx>
|
||||
#include <BRepTopAdaptor_TopolTool.hxx>
|
||||
#include <ChFi3d_Builder.hxx>
|
||||
#include <ChFiDS_CommonPoint.hxx>
|
||||
#include <ChFiDS_HElSpine.hxx>
|
||||
#include <ChFiDS_ElSpine.hxx>
|
||||
#include <ChFiDS_Spine.hxx>
|
||||
#include <ChFiDS_Stripe.hxx>
|
||||
#include <ChFiDS_SurfData.hxx>
|
||||
@@ -54,16 +54,16 @@
|
||||
//purpose :
|
||||
//=======================================================================
|
||||
void ChFi3d_Builder::SimulSurf(Handle(ChFiDS_SurfData)& ,
|
||||
const Handle(ChFiDS_HElSpine)& ,
|
||||
const Handle(ChFiDS_ElSpine)& ,
|
||||
const Handle(ChFiDS_Spine)& ,
|
||||
const Standard_Integer ,
|
||||
const Handle(BRepAdaptor_HSurface)& ,
|
||||
const Handle(BRepAdaptor_Surface)& ,
|
||||
const Handle(Adaptor3d_TopolTool)& ,
|
||||
const Handle(BRepAdaptor_HCurve2d)& ,
|
||||
const Handle(BRepAdaptor_HSurface)& ,
|
||||
const Handle(BRepAdaptor_HCurve2d)& ,
|
||||
const Handle(BRepAdaptor_Curve2d)& ,
|
||||
const Handle(BRepAdaptor_Surface)& ,
|
||||
const Handle(BRepAdaptor_Curve2d)& ,
|
||||
Standard_Boolean& ,
|
||||
const Handle(BRepAdaptor_HSurface)& ,
|
||||
const Handle(BRepAdaptor_Surface)& ,
|
||||
const Handle(Adaptor3d_TopolTool)& ,
|
||||
const TopAbs_Orientation ,
|
||||
const Standard_Real ,
|
||||
@@ -87,17 +87,17 @@ void ChFi3d_Builder::SimulSurf(Handle(ChFiDS_SurfData)& ,
|
||||
//=======================================================================
|
||||
|
||||
void ChFi3d_Builder::SimulSurf(Handle(ChFiDS_SurfData)& ,
|
||||
const Handle(ChFiDS_HElSpine)& ,
|
||||
const Handle(ChFiDS_ElSpine)& ,
|
||||
const Handle(ChFiDS_Spine)& ,
|
||||
const Standard_Integer ,
|
||||
const Handle(BRepAdaptor_HSurface)& ,
|
||||
const Handle(BRepAdaptor_Surface)& ,
|
||||
const Handle(Adaptor3d_TopolTool)& ,
|
||||
const TopAbs_Orientation ,
|
||||
const Handle(BRepAdaptor_HSurface)& ,
|
||||
const Handle(BRepAdaptor_Surface)& ,
|
||||
const Handle(Adaptor3d_TopolTool)& ,
|
||||
const Handle(BRepAdaptor_HCurve2d)& ,
|
||||
const Handle(BRepAdaptor_HSurface)& ,
|
||||
const Handle(BRepAdaptor_HCurve2d)& ,
|
||||
const Handle(BRepAdaptor_Curve2d)& ,
|
||||
const Handle(BRepAdaptor_Surface)& ,
|
||||
const Handle(BRepAdaptor_Curve2d)& ,
|
||||
Standard_Boolean& ,
|
||||
const Standard_Real ,
|
||||
const Standard_Real ,
|
||||
@@ -121,21 +121,21 @@ void ChFi3d_Builder::SimulSurf(Handle(ChFiDS_SurfData)& ,
|
||||
//=======================================================================
|
||||
|
||||
void ChFi3d_Builder::SimulSurf(Handle(ChFiDS_SurfData)& ,
|
||||
const Handle(ChFiDS_HElSpine)& ,
|
||||
const Handle(ChFiDS_ElSpine)& ,
|
||||
const Handle(ChFiDS_Spine)& ,
|
||||
const Standard_Integer ,
|
||||
const Handle(BRepAdaptor_HSurface)& ,
|
||||
const Handle(BRepAdaptor_Surface)& ,
|
||||
const Handle(Adaptor3d_TopolTool)& ,
|
||||
const Handle(BRepAdaptor_HCurve2d)& ,
|
||||
const Handle(BRepAdaptor_HSurface)& ,
|
||||
const Handle(BRepAdaptor_HCurve2d)& ,
|
||||
const Handle(BRepAdaptor_Curve2d)& ,
|
||||
const Handle(BRepAdaptor_Surface)& ,
|
||||
const Handle(BRepAdaptor_Curve2d)& ,
|
||||
Standard_Boolean& ,
|
||||
const TopAbs_Orientation ,
|
||||
const Handle(BRepAdaptor_HSurface)& ,
|
||||
const Handle(BRepAdaptor_Surface)& ,
|
||||
const Handle(Adaptor3d_TopolTool)& ,
|
||||
const Handle(BRepAdaptor_HCurve2d)& ,
|
||||
const Handle(BRepAdaptor_HSurface)& ,
|
||||
const Handle(BRepAdaptor_HCurve2d)& ,
|
||||
const Handle(BRepAdaptor_Curve2d)& ,
|
||||
const Handle(BRepAdaptor_Surface)& ,
|
||||
const Handle(BRepAdaptor_Curve2d)& ,
|
||||
Standard_Boolean& ,
|
||||
const TopAbs_Orientation ,
|
||||
const Standard_Real ,
|
||||
@@ -162,16 +162,16 @@ void ChFi3d_Builder::SimulSurf(Handle(ChFiDS_SurfData)& ,
|
||||
//=======================================================================
|
||||
|
||||
void ChFi3d_Builder::PerformSurf(ChFiDS_SequenceOfSurfData& ,
|
||||
const Handle(ChFiDS_HElSpine)& ,
|
||||
const Handle(ChFiDS_ElSpine)& ,
|
||||
const Handle(ChFiDS_Spine)& ,
|
||||
const Standard_Integer ,
|
||||
const Handle(BRepAdaptor_HSurface)& ,
|
||||
const Handle(BRepAdaptor_Surface)& ,
|
||||
const Handle(Adaptor3d_TopolTool)& ,
|
||||
const Handle(BRepAdaptor_HCurve2d)& ,
|
||||
const Handle(BRepAdaptor_HSurface)& ,
|
||||
const Handle(BRepAdaptor_HCurve2d)& ,
|
||||
const Handle(BRepAdaptor_Curve2d)& ,
|
||||
const Handle(BRepAdaptor_Surface)& ,
|
||||
const Handle(BRepAdaptor_Curve2d)& ,
|
||||
Standard_Boolean& ,
|
||||
const Handle(BRepAdaptor_HSurface)& ,
|
||||
const Handle(BRepAdaptor_Surface)& ,
|
||||
const Handle(Adaptor3d_TopolTool)& ,
|
||||
const TopAbs_Orientation ,
|
||||
const Standard_Real ,
|
||||
@@ -196,17 +196,17 @@ void ChFi3d_Builder::PerformSurf(ChFiDS_SequenceOfSurfData& ,
|
||||
//=======================================================================
|
||||
|
||||
void ChFi3d_Builder::PerformSurf(ChFiDS_SequenceOfSurfData& ,
|
||||
const Handle(ChFiDS_HElSpine)& ,
|
||||
const Handle(ChFiDS_ElSpine)& ,
|
||||
const Handle(ChFiDS_Spine)& ,
|
||||
const Standard_Integer ,
|
||||
const Handle(BRepAdaptor_HSurface)& ,
|
||||
const Handle(BRepAdaptor_Surface)& ,
|
||||
const Handle(Adaptor3d_TopolTool)& ,
|
||||
const TopAbs_Orientation ,
|
||||
const Handle(BRepAdaptor_HSurface)& ,
|
||||
const Handle(BRepAdaptor_Surface)& ,
|
||||
const Handle(Adaptor3d_TopolTool)& ,
|
||||
const Handle(BRepAdaptor_HCurve2d)& ,
|
||||
const Handle(BRepAdaptor_HSurface)& ,
|
||||
const Handle(BRepAdaptor_HCurve2d)& ,
|
||||
const Handle(BRepAdaptor_Curve2d)& ,
|
||||
const Handle(BRepAdaptor_Surface)& ,
|
||||
const Handle(BRepAdaptor_Curve2d)& ,
|
||||
Standard_Boolean& ,
|
||||
const Standard_Real ,
|
||||
const Standard_Real ,
|
||||
@@ -235,21 +235,21 @@ void ChFi3d_Builder::PerformSurf(ChFiDS_SequenceOfSurfData& ,
|
||||
//=======================================================================
|
||||
|
||||
void ChFi3d_Builder::PerformSurf(ChFiDS_SequenceOfSurfData& ,
|
||||
const Handle(ChFiDS_HElSpine)& ,
|
||||
const Handle(ChFiDS_ElSpine)& ,
|
||||
const Handle(ChFiDS_Spine)& ,
|
||||
const Standard_Integer ,
|
||||
const Handle(BRepAdaptor_HSurface)& ,
|
||||
const Handle(BRepAdaptor_Surface)& ,
|
||||
const Handle(Adaptor3d_TopolTool)& ,
|
||||
const Handle(BRepAdaptor_HCurve2d)& ,
|
||||
const Handle(BRepAdaptor_HSurface)& ,
|
||||
const Handle(BRepAdaptor_HCurve2d)& ,
|
||||
const Handle(BRepAdaptor_Curve2d)& ,
|
||||
const Handle(BRepAdaptor_Surface)& ,
|
||||
const Handle(BRepAdaptor_Curve2d)& ,
|
||||
Standard_Boolean& ,
|
||||
const TopAbs_Orientation ,
|
||||
const Handle(BRepAdaptor_HSurface)& ,
|
||||
const Handle(BRepAdaptor_Surface)& ,
|
||||
const Handle(Adaptor3d_TopolTool)& ,
|
||||
const Handle(BRepAdaptor_HCurve2d)& ,
|
||||
const Handle(BRepAdaptor_HSurface)& ,
|
||||
const Handle(BRepAdaptor_HCurve2d)& ,
|
||||
const Handle(BRepAdaptor_Curve2d)& ,
|
||||
const Handle(BRepAdaptor_Surface)& ,
|
||||
const Handle(BRepAdaptor_Curve2d)& ,
|
||||
Standard_Boolean& ,
|
||||
const TopAbs_Orientation ,
|
||||
const Standard_Real ,
|
||||
|
@@ -15,8 +15,8 @@
|
||||
// commercial license or contractual agreement.
|
||||
|
||||
|
||||
#include <Adaptor2d_HCurve2d.hxx>
|
||||
#include <Adaptor3d_HSurface.hxx>
|
||||
#include <Adaptor2d_Curve2d.hxx>
|
||||
#include <Adaptor3d_Surface.hxx>
|
||||
#include <Adaptor3d_TopolTool.hxx>
|
||||
#include <AppBlend_Approx.hxx>
|
||||
#include <Blend_CurvPointFuncInv.hxx>
|
||||
@@ -28,15 +28,15 @@
|
||||
#include <Blend_SurfRstFunction.hxx>
|
||||
#include <BRep_Tool.hxx>
|
||||
#include <BRepAdaptor_Curve2d.hxx>
|
||||
#include <BRepAdaptor_HCurve.hxx>
|
||||
#include <BRepAdaptor_HCurve2d.hxx>
|
||||
#include <BRepAdaptor_HSurface.hxx>
|
||||
#include <BRepAdaptor_Curve.hxx>
|
||||
#include <BRepAdaptor_Curve2d.hxx>
|
||||
#include <BRepAdaptor_Surface.hxx>
|
||||
#include <BRepBlend_Line.hxx>
|
||||
#include <BRepTopAdaptor_TopolTool.hxx>
|
||||
#include <ChFi3d_Builder.hxx>
|
||||
#include <ChFi3d_Builder_0.hxx>
|
||||
#include <ChFiDS_CommonPoint.hxx>
|
||||
#include <ChFiDS_HElSpine.hxx>
|
||||
#include <ChFiDS_ElSpine.hxx>
|
||||
#include <ChFiDS_Spine.hxx>
|
||||
#include <ChFiDS_Stripe.hxx>
|
||||
#include <ChFiDS_SurfData.hxx>
|
||||
@@ -48,7 +48,7 @@
|
||||
#include <Geom2d_Curve.hxx>
|
||||
#include <Geom2d_Line.hxx>
|
||||
#include <Geom2dAdaptor_Curve.hxx>
|
||||
#include <Geom2dAdaptor_HCurve.hxx>
|
||||
#include <Geom2dAdaptor_Curve.hxx>
|
||||
#include <Geom2dHatch_Hatcher.hxx>
|
||||
#include <Geom2dHatch_Intersector.hxx>
|
||||
#include <Geom_Curve.hxx>
|
||||
@@ -57,7 +57,7 @@
|
||||
#include <GeomAbs_CurveType.hxx>
|
||||
#include <GeomAbs_SurfaceType.hxx>
|
||||
#include <GeomAdaptor_Curve.hxx>
|
||||
#include <GeomAdaptor_HSurface.hxx>
|
||||
#include <GeomAdaptor_Surface.hxx>
|
||||
#include <gp.hxx>
|
||||
#include <gp_Circ.hxx>
|
||||
#include <gp_Dir2d.hxx>
|
||||
@@ -260,8 +260,8 @@ static Standard_Real ParamOnSpine(const TopOpeBRepDS_DataStructure& DStr,
|
||||
|
||||
gp_Pln nlp(PP,gp_Dir(VV));
|
||||
Handle(Geom_Plane) pln = new Geom_Plane(nlp);
|
||||
Handle(GeomAdaptor_HSurface)
|
||||
plan = new GeomAdaptor_HSurface(GeomAdaptor_Surface(pln));
|
||||
Handle(GeomAdaptor_Surface)
|
||||
plan = new GeomAdaptor_Surface(GeomAdaptor_Surface(pln));
|
||||
|
||||
// intersection plane spine.
|
||||
Standard_Boolean found = Standard_False;
|
||||
@@ -277,8 +277,8 @@ static Standard_Real ParamOnSpine(const TopOpeBRepDS_DataStructure& DStr,
|
||||
pok = 1;
|
||||
return Nl;
|
||||
}
|
||||
Handle(BRepAdaptor_HCurve) HE = new BRepAdaptor_HCurve();
|
||||
BRepAdaptor_Curve& CE = HE->ChangeCurve();
|
||||
Handle(BRepAdaptor_Curve) HE = new BRepAdaptor_Curve();
|
||||
BRepAdaptor_Curve& CE = *HE;
|
||||
|
||||
while (!found && !fini) {
|
||||
TopAbs_Orientation O = Spine->Edges(ii).Orientation();
|
||||
@@ -346,8 +346,8 @@ static Standard_Boolean YaUnVoisin(const Handle(ChFiDS_Spine)& Spine,
|
||||
|
||||
void ChFi3d_Builder::Trunc(const Handle(ChFiDS_SurfData)& SD,
|
||||
const Handle(ChFiDS_Spine)& Spine,
|
||||
const Handle(Adaptor3d_HSurface)& S1,
|
||||
const Handle(Adaptor3d_HSurface)& S2,
|
||||
const Handle(Adaptor3d_Surface)& S1,
|
||||
const Handle(Adaptor3d_Surface)& S2,
|
||||
const Standard_Integer iedge,
|
||||
const Standard_Boolean isfirst,
|
||||
const Standard_Integer cntlFiOnS)
|
||||
@@ -400,17 +400,17 @@ void ChFi3d_Builder::Trunc(const Handle(ChFiDS_SurfData)& SD,
|
||||
if(dis1 >= 0.1*dis2) tron = Standard_True;
|
||||
Standard_Integer ivois;
|
||||
if(!tron && YaUnVoisin(Spine,iedge,ivois,isfirst)) {
|
||||
Handle(BRepAdaptor_HSurface) BS1 = Handle(BRepAdaptor_HSurface)::DownCast(S1);
|
||||
Handle(BRepAdaptor_HSurface) BS2 = Handle(BRepAdaptor_HSurface)::DownCast(S2);
|
||||
Handle(BRepAdaptor_Surface) BS1 = Handle(BRepAdaptor_Surface)::DownCast(S1);
|
||||
Handle(BRepAdaptor_Surface) BS2 = Handle(BRepAdaptor_Surface)::DownCast(S2);
|
||||
if(!BS1.IsNull() && !BS2.IsNull()) {
|
||||
TopoDS_Face FBID;
|
||||
TopoDS_Face F1 = BS1->ChangeSurface().Face();
|
||||
TopoDS_Face F2 = BS2->ChangeSurface().Face();
|
||||
TopoDS_Face F1 = BS1->Face();
|
||||
TopoDS_Face F2 = BS2->Face();
|
||||
const ChFiDS_CommonPoint& cp1 = SD->Vertex(isfirst,1);
|
||||
const ChFiDS_CommonPoint& cp2 = SD->Vertex(isfirst,2);
|
||||
if(!((cp1.IsOnArc() && SearchFace(Spine,cp1,F1,FBID)) ||
|
||||
(cp2.IsOnArc() && SearchFace(Spine,cp2,F2,FBID)))) {
|
||||
tron = ChFi3d_KParticular(Spine,ivois,BS1->ChangeSurface(),BS2->ChangeSurface());
|
||||
tron = ChFi3d_KParticular (Spine, ivois, *BS1, *BS2);
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -603,9 +603,9 @@ static void FillSD (TopOpeBRepDS_DataStructure& DStr,
|
||||
for(;trouve;) {
|
||||
const HatchGen_PointOnElement& PEtemp = pPH->Point(LeType);
|
||||
IE = PEtemp.Index();
|
||||
Handle(BRepAdaptor_HCurve2d) HE = Handle(BRepAdaptor_HCurve2d)::DownCast(M(IE));
|
||||
Handle(BRepAdaptor_Curve2d) HE = Handle(BRepAdaptor_Curve2d)::DownCast(M(IE));
|
||||
if(!HE.IsNull()) {
|
||||
const TopoDS_Edge& Etemp = HE->ChangeCurve2d().Edge();
|
||||
const TopoDS_Edge& Etemp = HE->Edge();
|
||||
TopExp::Vertices(Etemp,V1,V2);
|
||||
}
|
||||
else {
|
||||
@@ -628,10 +628,10 @@ static void FillSD (TopOpeBRepDS_DataStructure& DStr,
|
||||
}
|
||||
const HatchGen_PointOnElement& PE = pPH->Point(LeType);
|
||||
Standard_Integer IE = PE.Index();
|
||||
Handle(BRepAdaptor_HCurve2d)
|
||||
HE = Handle(BRepAdaptor_HCurve2d)::DownCast(M(IE));
|
||||
Handle(BRepAdaptor_Curve2d)
|
||||
HE = Handle(BRepAdaptor_Curve2d)::DownCast(M(IE));
|
||||
if(HE.IsNull()) return;
|
||||
const TopoDS_Edge& E = HE->ChangeCurve2d().Edge();
|
||||
const TopoDS_Edge& E = HE->Edge();
|
||||
|
||||
if (PE.Position() != TopAbs_INTERNAL) {
|
||||
TopAbs_Orientation O = CD->Interference(ons).Transition();
|
||||
@@ -665,9 +665,9 @@ Standard_Boolean ChFi3d_Builder::SplitKPart
|
||||
ChFiDS_SequenceOfSurfData& SetData,
|
||||
const Handle(ChFiDS_Spine)& Spine,
|
||||
const Standard_Integer Iedge,
|
||||
const Handle(Adaptor3d_HSurface)& S1,
|
||||
const Handle(Adaptor3d_Surface)& S1,
|
||||
const Handle(Adaptor3d_TopolTool)& I1,
|
||||
const Handle(Adaptor3d_HSurface)& S2,
|
||||
const Handle(Adaptor3d_Surface)& S2,
|
||||
const Handle(Adaptor3d_TopolTool)& I2,
|
||||
Standard_Boolean& intf,
|
||||
Standard_Boolean& intl)
|
||||
@@ -689,13 +689,12 @@ Standard_Boolean ChFi3d_Builder::SplitKPart
|
||||
if (!C1.IsNull()) {
|
||||
ll1.Load(C1);
|
||||
for(I1->Init(); I1->More(); I1->Next()) {
|
||||
Handle(BRepAdaptor_HCurve2d)
|
||||
Bc = Handle(BRepAdaptor_HCurve2d)::DownCast(I1->Value());
|
||||
Handle(Geom2dAdaptor_HCurve)
|
||||
Gc = Handle(Geom2dAdaptor_HCurve)::DownCast(I1->Value());
|
||||
if(Bc.IsNull()) ie = H1.AddElement(Gc->ChangeCurve2d(),TopAbs_FORWARD);
|
||||
else ie = H1.AddElement(Bc->ChangeCurve2d(),
|
||||
Bc->ChangeCurve2d().Edge().Orientation());
|
||||
Handle(BRepAdaptor_Curve2d)
|
||||
Bc = Handle(BRepAdaptor_Curve2d)::DownCast(I1->Value());
|
||||
Handle(Geom2dAdaptor_Curve)
|
||||
Gc = Handle(Geom2dAdaptor_Curve)::DownCast(I1->Value());
|
||||
if(Bc.IsNull()) ie = H1.AddElement (*Gc, TopAbs_FORWARD);
|
||||
else ie = H1.AddElement (*Bc, Bc->Edge().Orientation());
|
||||
M1.Bind(ie,I1->Value());
|
||||
}
|
||||
iH1 = H1.Trim(ll1);
|
||||
@@ -715,13 +714,12 @@ Standard_Boolean ChFi3d_Builder::SplitKPart
|
||||
if (!C2.IsNull()) {
|
||||
ll2.Load(C2);
|
||||
for(I2->Init(); I2->More(); I2->Next()) {
|
||||
Handle(BRepAdaptor_HCurve2d)
|
||||
Bc = Handle(BRepAdaptor_HCurve2d)::DownCast(I2->Value());
|
||||
Handle(Geom2dAdaptor_HCurve)
|
||||
Gc = Handle(Geom2dAdaptor_HCurve)::DownCast(I2->Value());
|
||||
if(Bc.IsNull()) ie = H2.AddElement(Gc->ChangeCurve2d(),TopAbs_FORWARD);
|
||||
else ie = H2.AddElement(Bc->ChangeCurve2d(),
|
||||
Bc->ChangeCurve2d().Edge().Orientation());
|
||||
Handle(BRepAdaptor_Curve2d)
|
||||
Bc = Handle(BRepAdaptor_Curve2d)::DownCast(I2->Value());
|
||||
Handle(Geom2dAdaptor_Curve)
|
||||
Gc = Handle(Geom2dAdaptor_Curve)::DownCast(I2->Value());
|
||||
if(Bc.IsNull()) ie = H2.AddElement (*Gc, TopAbs_FORWARD);
|
||||
else ie = H2.AddElement (*Bc, Bc->Edge().Orientation());
|
||||
M2.Bind(ie,I2->Value());
|
||||
}
|
||||
iH2 = H2.Trim(ll2);
|
||||
@@ -749,11 +747,11 @@ Standard_Boolean ChFi3d_Builder::SplitKPart
|
||||
|
||||
// Return faces.
|
||||
TopoDS_Face F1, F2;
|
||||
Handle(BRepAdaptor_HSurface)
|
||||
bhs = Handle(BRepAdaptor_HSurface)::DownCast(S1);
|
||||
if(!bhs.IsNull()) F1 = bhs->ChangeSurface().Face();
|
||||
bhs = Handle(BRepAdaptor_HSurface)::DownCast(S2);
|
||||
if(!bhs.IsNull()) F2 = bhs->ChangeSurface().Face();
|
||||
Handle(BRepAdaptor_Surface)
|
||||
bhs = Handle(BRepAdaptor_Surface)::DownCast(S1);
|
||||
if(!bhs.IsNull()) F1 = bhs->Face();
|
||||
bhs = Handle(BRepAdaptor_Surface)::DownCast(S2);
|
||||
if(!bhs.IsNull()) F2 = bhs->Face();
|
||||
TopoDS_Face FBID;
|
||||
|
||||
// Restriction of SurfDatas by cut lines.
|
||||
|
@@ -19,8 +19,8 @@
|
||||
#include <Blend_Point.hxx>
|
||||
#include <BlendFunc_SectionShape.hxx>
|
||||
#include <BRepAdaptor_Curve2d.hxx>
|
||||
#include <BRepAdaptor_HCurve2d.hxx>
|
||||
#include <BRepAdaptor_HSurface.hxx>
|
||||
#include <BRepAdaptor_Curve2d.hxx>
|
||||
#include <BRepAdaptor_Surface.hxx>
|
||||
#include <BRepAdaptor_Surface.hxx>
|
||||
#include <BRepBlend_Chamfer.hxx>
|
||||
#include <BRepBlend_ChamfInv.hxx>
|
||||
@@ -39,7 +39,7 @@
|
||||
#include <ChFiDS_ChamfSpine.hxx>
|
||||
#include <ChFiDS_CircSection.hxx>
|
||||
#include <ChFiDS_HData.hxx>
|
||||
#include <ChFiDS_HElSpine.hxx>
|
||||
#include <ChFiDS_ElSpine.hxx>
|
||||
#include <ChFiDS_ListIteratorOfListOfStripe.hxx>
|
||||
#include <ChFiDS_ListIteratorOfRegularities.hxx>
|
||||
#include <ChFiDS_ListOfStripe.hxx>
|
||||
@@ -50,7 +50,7 @@
|
||||
#include <ChFiDS_SurfData.hxx>
|
||||
#include <ElSLib.hxx>
|
||||
#include <Extrema_GenLocateExtPS.hxx>
|
||||
#include <GeomAdaptor_HCurve.hxx>
|
||||
#include <GeomAdaptor_Curve.hxx>
|
||||
#include <Standard_ConstructionError.hxx>
|
||||
#include <Standard_DomainError.hxx>
|
||||
#include <Standard_NotImplemented.hxx>
|
||||
@@ -729,12 +729,12 @@ void ChFi3d_ChBuilder::SimulKPart(const Handle(ChFiDS_SurfData)& SD ) const
|
||||
|
||||
Standard_Boolean
|
||||
ChFi3d_ChBuilder::SimulSurf(Handle(ChFiDS_SurfData)& Data,
|
||||
const Handle(ChFiDS_HElSpine)& HGuide,
|
||||
const Handle(ChFiDS_ElSpine)& HGuide,
|
||||
const Handle(ChFiDS_Spine)& Spine,
|
||||
const Standard_Integer Choix,
|
||||
const Handle(BRepAdaptor_HSurface)& S1,
|
||||
const Handle(BRepAdaptor_Surface)& S1,
|
||||
const Handle(Adaptor3d_TopolTool)& I1,
|
||||
const Handle(BRepAdaptor_HSurface)& S2,
|
||||
const Handle(BRepAdaptor_Surface)& S2,
|
||||
const Handle(Adaptor3d_TopolTool)& I2,
|
||||
const Standard_Real TolGuide,
|
||||
Standard_Real& First,
|
||||
@@ -781,7 +781,7 @@ ChFi3d_ChBuilder::SimulSurf(Handle(ChFiDS_SurfData)& Data,
|
||||
if(intl) Last = chsp->LastParameter(chsp->NbEdges());
|
||||
|
||||
|
||||
Handle(ChFiDS_HElSpine) OffsetHGuide;
|
||||
Handle(ChFiDS_ElSpine) OffsetHGuide;
|
||||
|
||||
if (chsp->IsChamfer() == ChFiDS_Sym) {
|
||||
Standard_Real dis;
|
||||
@@ -850,14 +850,14 @@ ChFi3d_ChBuilder::SimulSurf(Handle(ChFiDS_SurfData)& Data,
|
||||
Standard_Boolean ok = Standard_False;
|
||||
const ChFiDS_CommonPoint& cp1 = Data->VertexFirstOnS1();
|
||||
if(cp1.IsOnArc()){
|
||||
TopoDS_Face F1 = S1->ChangeSurface().Face();
|
||||
TopoDS_Face F1 = S1->Face();
|
||||
TopoDS_Face bid;
|
||||
intf = !SearchFace(Spine,cp1,F1,bid);
|
||||
ok = intf != 0;
|
||||
}
|
||||
const ChFiDS_CommonPoint& cp2 = Data->VertexFirstOnS2();
|
||||
if(cp2.IsOnArc() && !ok){
|
||||
TopoDS_Face F2 = S2->ChangeSurface().Face();
|
||||
TopoDS_Face F2 = S2->Face();
|
||||
TopoDS_Face bid;
|
||||
intf = !SearchFace(Spine,cp2,F2,bid);
|
||||
}
|
||||
@@ -866,14 +866,14 @@ ChFi3d_ChBuilder::SimulSurf(Handle(ChFiDS_SurfData)& Data,
|
||||
Standard_Boolean ok = Standard_False;
|
||||
const ChFiDS_CommonPoint& cp1 = Data->VertexLastOnS1();
|
||||
if(cp1.IsOnArc()){
|
||||
TopoDS_Face F1 = S1->ChangeSurface().Face();
|
||||
TopoDS_Face F1 = S1->Face();
|
||||
TopoDS_Face bid;
|
||||
intl = !SearchFace(Spine,cp1,F1,bid);
|
||||
ok = intl != 0;
|
||||
}
|
||||
const ChFiDS_CommonPoint& cp2 = Data->VertexLastOnS2();
|
||||
if(cp2.IsOnArc() && !ok){
|
||||
TopoDS_Face F2 = S2->ChangeSurface().Face();
|
||||
TopoDS_Face F2 = S2->Face();
|
||||
TopoDS_Face bid;
|
||||
intl = !SearchFace(Spine,cp2,F2,bid);
|
||||
}
|
||||
@@ -907,7 +907,7 @@ ChFi3d_ChBuilder::SimulSurf(Handle(ChFiDS_SurfData)& Data,
|
||||
ChFiDS_ListIteratorOfListOfHElSpine ILES(ll), ILES_offset(ll_offset);
|
||||
for ( ; ILES.More(); ILES.Next(),ILES_offset.Next())
|
||||
{
|
||||
const Handle(ChFiDS_HElSpine)& aHElSpine = ILES.Value();
|
||||
const Handle(ChFiDS_ElSpine)& aHElSpine = ILES.Value();
|
||||
if (aHElSpine == HGuide)
|
||||
OffsetHGuide = ILES_offset.Value();
|
||||
}
|
||||
@@ -965,14 +965,14 @@ ChFi3d_ChBuilder::SimulSurf(Handle(ChFiDS_SurfData)& Data,
|
||||
Standard_Boolean ok = Standard_False;
|
||||
const ChFiDS_CommonPoint& cp1 = Data->VertexFirstOnS1();
|
||||
if(cp1.IsOnArc()){
|
||||
TopoDS_Face F1 = S1->ChangeSurface().Face();
|
||||
TopoDS_Face F1 = S1->Face();
|
||||
TopoDS_Face bid;
|
||||
intf = !SearchFace(Spine,cp1,F1,bid);
|
||||
ok = intf != 0;
|
||||
}
|
||||
const ChFiDS_CommonPoint& cp2 = Data->VertexFirstOnS2();
|
||||
if(cp2.IsOnArc() && !ok){
|
||||
TopoDS_Face F2 = S2->ChangeSurface().Face();
|
||||
TopoDS_Face F2 = S2->Face();
|
||||
TopoDS_Face bid;
|
||||
intf = !SearchFace(Spine,cp2,F2,bid);
|
||||
}
|
||||
@@ -981,14 +981,14 @@ ChFi3d_ChBuilder::SimulSurf(Handle(ChFiDS_SurfData)& Data,
|
||||
Standard_Boolean ok = Standard_False;
|
||||
const ChFiDS_CommonPoint& cp1 = Data->VertexLastOnS1();
|
||||
if(cp1.IsOnArc()){
|
||||
TopoDS_Face F1 = S1->ChangeSurface().Face();
|
||||
TopoDS_Face F1 = S1->Face();
|
||||
TopoDS_Face bid;
|
||||
intl = !SearchFace(Spine,cp1,F1,bid);
|
||||
ok = intl != 0;
|
||||
}
|
||||
const ChFiDS_CommonPoint& cp2 = Data->VertexLastOnS2();
|
||||
if(cp2.IsOnArc() && !ok){
|
||||
TopoDS_Face F2 = S2->ChangeSurface().Face();
|
||||
TopoDS_Face F2 = S2->Face();
|
||||
TopoDS_Face bid;
|
||||
intl = !SearchFace(Spine,cp2,F2,bid);
|
||||
}
|
||||
@@ -1050,14 +1050,14 @@ ChFi3d_ChBuilder::SimulSurf(Handle(ChFiDS_SurfData)& Data,
|
||||
Standard_Boolean ok = Standard_False;
|
||||
const ChFiDS_CommonPoint& cp1 = Data->VertexFirstOnS1();
|
||||
if(cp1.IsOnArc()){
|
||||
TopoDS_Face F1 = S1->ChangeSurface().Face();
|
||||
TopoDS_Face F1 = S1->Face();
|
||||
TopoDS_Face bid;
|
||||
intf = !SearchFace(Spine,cp1,F1,bid);
|
||||
ok = intf != 0;
|
||||
}
|
||||
const ChFiDS_CommonPoint& cp2 = Data->VertexFirstOnS2();
|
||||
if(cp2.IsOnArc() && !ok){
|
||||
TopoDS_Face F2 = S2->ChangeSurface().Face();
|
||||
TopoDS_Face F2 = S2->Face();
|
||||
TopoDS_Face bid;
|
||||
intf = !SearchFace(Spine,cp2,F2,bid);
|
||||
}
|
||||
@@ -1067,14 +1067,14 @@ ChFi3d_ChBuilder::SimulSurf(Handle(ChFiDS_SurfData)& Data,
|
||||
Standard_Boolean ok = Standard_False;
|
||||
const ChFiDS_CommonPoint& cp1 = Data->VertexLastOnS1();
|
||||
if(cp1.IsOnArc()){
|
||||
TopoDS_Face F1 = S1->ChangeSurface().Face();
|
||||
TopoDS_Face F1 = S1->Face();
|
||||
TopoDS_Face bid;
|
||||
intl = !SearchFace(Spine,cp1,F1,bid);
|
||||
ok = intl != 0;
|
||||
}
|
||||
const ChFiDS_CommonPoint& cp2 = Data->VertexLastOnS2();
|
||||
if(cp2.IsOnArc() && !ok){
|
||||
TopoDS_Face F2 = S2->ChangeSurface().Face();
|
||||
TopoDS_Face F2 = S2->Face();
|
||||
TopoDS_Face bid;
|
||||
intl = !SearchFace(Spine,cp2,F2,bid);
|
||||
}
|
||||
@@ -1084,16 +1084,16 @@ ChFi3d_ChBuilder::SimulSurf(Handle(ChFiDS_SurfData)& Data,
|
||||
}
|
||||
|
||||
void ChFi3d_ChBuilder::SimulSurf(Handle(ChFiDS_SurfData)& ,
|
||||
const Handle(ChFiDS_HElSpine)& ,
|
||||
const Handle(ChFiDS_ElSpine)& ,
|
||||
const Handle(ChFiDS_Spine)& ,
|
||||
const Standard_Integer ,
|
||||
const Handle(BRepAdaptor_HSurface)& ,
|
||||
const Handle(BRepAdaptor_Surface)& ,
|
||||
const Handle(Adaptor3d_TopolTool)& ,
|
||||
const Handle(BRepAdaptor_HCurve2d)& ,
|
||||
const Handle(BRepAdaptor_HSurface)& ,
|
||||
const Handle(BRepAdaptor_HCurve2d)& ,
|
||||
const Handle(BRepAdaptor_Curve2d)& ,
|
||||
const Handle(BRepAdaptor_Surface)& ,
|
||||
const Handle(BRepAdaptor_Curve2d)& ,
|
||||
Standard_Boolean& ,
|
||||
const Handle(BRepAdaptor_HSurface)& ,
|
||||
const Handle(BRepAdaptor_Surface)& ,
|
||||
const Handle(Adaptor3d_TopolTool)& ,
|
||||
const TopAbs_Orientation ,
|
||||
const Standard_Real ,
|
||||
@@ -1111,17 +1111,17 @@ void ChFi3d_ChBuilder::SimulSurf(Handle(ChFiDS_SurfData)& ,
|
||||
throw Standard_Failure("SimulSurf Not Implemented");
|
||||
}
|
||||
void ChFi3d_ChBuilder::SimulSurf(Handle(ChFiDS_SurfData)& ,
|
||||
const Handle(ChFiDS_HElSpine)& ,
|
||||
const Handle(ChFiDS_ElSpine)& ,
|
||||
const Handle(ChFiDS_Spine)& ,
|
||||
const Standard_Integer ,
|
||||
const Handle(BRepAdaptor_HSurface)& ,
|
||||
const Handle(BRepAdaptor_Surface)& ,
|
||||
const Handle(Adaptor3d_TopolTool)& ,
|
||||
const TopAbs_Orientation ,
|
||||
const Handle(BRepAdaptor_HSurface)& ,
|
||||
const Handle(BRepAdaptor_Surface)& ,
|
||||
const Handle(Adaptor3d_TopolTool)& ,
|
||||
const Handle(BRepAdaptor_HCurve2d)& ,
|
||||
const Handle(BRepAdaptor_HSurface)& ,
|
||||
const Handle(BRepAdaptor_HCurve2d)& ,
|
||||
const Handle(BRepAdaptor_Curve2d)& ,
|
||||
const Handle(BRepAdaptor_Surface)& ,
|
||||
const Handle(BRepAdaptor_Curve2d)& ,
|
||||
Standard_Boolean& ,
|
||||
const Standard_Real ,
|
||||
const Standard_Real ,
|
||||
@@ -1138,21 +1138,21 @@ void ChFi3d_ChBuilder::SimulSurf(Handle(ChFiDS_SurfData)& ,
|
||||
throw Standard_Failure("SimulSurf Not Implemented");
|
||||
}
|
||||
void ChFi3d_ChBuilder::SimulSurf(Handle(ChFiDS_SurfData)& ,
|
||||
const Handle(ChFiDS_HElSpine)& ,
|
||||
const Handle(ChFiDS_ElSpine)& ,
|
||||
const Handle(ChFiDS_Spine)& ,
|
||||
const Standard_Integer ,
|
||||
const Handle(BRepAdaptor_HSurface)& ,
|
||||
const Handle(BRepAdaptor_Surface)& ,
|
||||
const Handle(Adaptor3d_TopolTool)& ,
|
||||
const Handle(BRepAdaptor_HCurve2d)& ,
|
||||
const Handle(BRepAdaptor_HSurface)& ,
|
||||
const Handle(BRepAdaptor_HCurve2d)& ,
|
||||
const Handle(BRepAdaptor_Curve2d)& ,
|
||||
const Handle(BRepAdaptor_Surface)& ,
|
||||
const Handle(BRepAdaptor_Curve2d)& ,
|
||||
Standard_Boolean& ,
|
||||
const TopAbs_Orientation ,
|
||||
const Handle(BRepAdaptor_HSurface)& ,
|
||||
const Handle(BRepAdaptor_Surface)& ,
|
||||
const Handle(Adaptor3d_TopolTool)& ,
|
||||
const Handle(BRepAdaptor_HCurve2d)& ,
|
||||
const Handle(BRepAdaptor_HSurface)& ,
|
||||
const Handle(BRepAdaptor_HCurve2d)& ,
|
||||
const Handle(BRepAdaptor_Curve2d)& ,
|
||||
const Handle(BRepAdaptor_Surface)& ,
|
||||
const Handle(BRepAdaptor_Curve2d)& ,
|
||||
Standard_Boolean& ,
|
||||
const TopAbs_Orientation ,
|
||||
const Standard_Real ,
|
||||
@@ -1178,10 +1178,10 @@ void ChFi3d_ChBuilder::SimulSurf(Handle(ChFiDS_SurfData)& ,
|
||||
|
||||
Standard_Boolean ChFi3d_ChBuilder::PerformFirstSection
|
||||
(const Handle(ChFiDS_Spine)& Spine,
|
||||
const Handle(ChFiDS_HElSpine)& HGuide,
|
||||
const Handle(ChFiDS_ElSpine)& HGuide,
|
||||
const Standard_Integer Choix,
|
||||
Handle(BRepAdaptor_HSurface)& S1,
|
||||
Handle(BRepAdaptor_HSurface)& S2,
|
||||
Handle(BRepAdaptor_Surface)& S1,
|
||||
Handle(BRepAdaptor_Surface)& S2,
|
||||
const Handle(Adaptor3d_TopolTool)& I1,
|
||||
const Handle(Adaptor3d_TopolTool)& I2,
|
||||
const Standard_Real Par,
|
||||
@@ -1223,8 +1223,8 @@ Standard_Boolean ChFi3d_ChBuilder::PerformFirstSection
|
||||
gp_Pnt pt1, pt2, ptgui;
|
||||
gp_XYZ temp;
|
||||
|
||||
( HGuide->Curve() ).D1(Par,ptgui,d1gui);
|
||||
// ptgui = (S1->Surface()).Value(SolDep(1),SolDep(2));
|
||||
HGuide->D1(Par,ptgui,d1gui);
|
||||
// ptgui = S1->Value(SolDep(1),SolDep(2));
|
||||
|
||||
pFunc->Set(Par);
|
||||
pFunc->Tangent(SolDep(1),SolDep(2),SolDep(3),SolDep(4),TgF,TgL,tmp1,tmp2);
|
||||
@@ -1255,9 +1255,9 @@ Standard_Boolean ChFi3d_ChBuilder::PerformFirstSection
|
||||
|
||||
Standard_Real tol = tolesp*1.e2;
|
||||
// Standard_Real u,v;
|
||||
Extrema_GenLocateExtPS proj1(S1->Surface(), tol, tol);
|
||||
Extrema_GenLocateExtPS proj1(*S1, tol, tol);
|
||||
proj1.Perform(pt1, SolDep(1), SolDep(2));
|
||||
Extrema_GenLocateExtPS proj2(S2->Surface(), tol, tol);
|
||||
Extrema_GenLocateExtPS proj2(*S2, tol, tol);
|
||||
proj2.Perform(pt2, SolDep(3), SolDep(4));
|
||||
|
||||
if( proj1.IsDone() ){
|
||||
@@ -1286,13 +1286,13 @@ Standard_Boolean ChFi3d_ChBuilder::PerformFirstSection
|
||||
}
|
||||
else
|
||||
{
|
||||
Handle(ChFiDS_HElSpine) OffsetHGuide;
|
||||
Handle(ChFiDS_ElSpine) OffsetHGuide;
|
||||
ChFiDS_ListOfHElSpine& ll = Spine->ChangeElSpines();
|
||||
ChFiDS_ListOfHElSpine& ll_offset = Spine->ChangeOffsetElSpines();
|
||||
ChFiDS_ListIteratorOfListOfHElSpine ILES(ll), ILES_offset(ll_offset);
|
||||
for ( ; ILES.More(); ILES.Next(),ILES_offset.Next())
|
||||
{
|
||||
const Handle(ChFiDS_HElSpine)& aHElSpine = ILES.Value();
|
||||
const Handle(ChFiDS_ElSpine)& aHElSpine = ILES.Value();
|
||||
if (aHElSpine == HGuide)
|
||||
OffsetHGuide = ILES_offset.Value();
|
||||
}
|
||||
@@ -1313,8 +1313,8 @@ Standard_Boolean ChFi3d_ChBuilder::PerformFirstSection
|
||||
gp_Pnt pt1, pt2, ptgui;
|
||||
gp_XYZ temp;
|
||||
|
||||
( HGuide->Curve() ).D1(Par,ptgui,d1gui);
|
||||
// ptgui = (S1->Surface()).Value(SolDep(1),SolDep(2));
|
||||
HGuide->D1(Par,ptgui,d1gui);
|
||||
// ptgui = S1->Value(SolDep(1),SolDep(2));
|
||||
|
||||
pFunc->Set(Par);
|
||||
pFunc->Tangent(SolDep(1),SolDep(2),SolDep(3),SolDep(4),TgF,TgL,tmp1,tmp2);
|
||||
@@ -1362,9 +1362,9 @@ Standard_Boolean ChFi3d_ChBuilder::PerformFirstSection
|
||||
Standard_Real tol = tolesp*1.e2;
|
||||
// Standard_Real u,v;
|
||||
|
||||
Extrema_GenLocateExtPS proj1(S1->Surface(), tol, tol);
|
||||
Extrema_GenLocateExtPS proj1(*S1, tol, tol);
|
||||
proj1.Perform(pt1, SolDep(1), SolDep(2));
|
||||
Extrema_GenLocateExtPS proj2(S2->Surface(), tol, tol);
|
||||
Extrema_GenLocateExtPS proj2(*S2, tol, tol);
|
||||
proj2.Perform(pt2, SolDep(3), SolDep(4));
|
||||
|
||||
if( proj1.IsDone() ){
|
||||
@@ -1392,8 +1392,8 @@ Standard_Boolean ChFi3d_ChBuilder::PerformFirstSection
|
||||
gp_Pnt pt1, pt2, ptgui;
|
||||
gp_XYZ temp;
|
||||
|
||||
( HGuide->Curve() ).D1(Par,ptgui,d1gui);
|
||||
// ptgui = (S1->Surface()).Value(SolDep(1),SolDep(2));
|
||||
HGuide->D1(Par,ptgui,d1gui);
|
||||
// ptgui = S1->Value(SolDep(1),SolDep(2));
|
||||
|
||||
Func.Set(Par);
|
||||
Func.Tangent(SolDep(1),SolDep(2),SolDep(3),SolDep(4),TgF,TgL,tmp1,tmp2);
|
||||
@@ -1431,9 +1431,9 @@ Standard_Boolean ChFi3d_ChBuilder::PerformFirstSection
|
||||
|
||||
Standard_Real tol = tolesp*1.e2;
|
||||
// Standard_Real u,v;
|
||||
Extrema_GenLocateExtPS proj1(S1->Surface(), tol, tol);
|
||||
Extrema_GenLocateExtPS proj1(*S1, tol, tol);
|
||||
proj1.Perform(pt1, SolDep(1), SolDep(2));
|
||||
Extrema_GenLocateExtPS proj2(S2->Surface(), tol, tol);
|
||||
Extrema_GenLocateExtPS proj2(*S2, tol, tol);
|
||||
proj2.Perform(pt2, SolDep(3), SolDep(4));
|
||||
if( proj1.IsDone() ){
|
||||
(proj1.Point()).Parameter(SolDep(1),SolDep(2));
|
||||
@@ -1455,12 +1455,12 @@ Standard_Boolean ChFi3d_ChBuilder::PerformFirstSection
|
||||
|
||||
Standard_Boolean
|
||||
ChFi3d_ChBuilder::PerformSurf(ChFiDS_SequenceOfSurfData& SeqData,
|
||||
const Handle(ChFiDS_HElSpine)& HGuide,
|
||||
const Handle(ChFiDS_ElSpine)& HGuide,
|
||||
const Handle(ChFiDS_Spine)& Spine,
|
||||
const Standard_Integer Choix,
|
||||
const Handle(BRepAdaptor_HSurface)& S1,
|
||||
const Handle(BRepAdaptor_Surface)& S1,
|
||||
const Handle(Adaptor3d_TopolTool)& I1,
|
||||
const Handle(BRepAdaptor_HSurface)& S2,
|
||||
const Handle(BRepAdaptor_Surface)& S2,
|
||||
const Handle(Adaptor3d_TopolTool)& I2,
|
||||
const Standard_Real MaxStep,
|
||||
const Standard_Real Fleche,
|
||||
@@ -1486,7 +1486,7 @@ ChFi3d_ChBuilder::PerformSurf(ChFiDS_SequenceOfSurfData& SeqData,
|
||||
|
||||
Standard_Boolean gd1,gd2,gf1,gf2;
|
||||
Handle(BRepBlend_Line) lin;
|
||||
TopAbs_Orientation Or = S1->ChangeSurface().Face().Orientation();
|
||||
TopAbs_Orientation Or = S1->Face().Orientation();
|
||||
Standard_Real PFirst = First;
|
||||
if(intf) First = chsp->FirstParameter(1);
|
||||
if(intl) Last = chsp->LastParameter(chsp->NbEdges());
|
||||
@@ -1543,13 +1543,13 @@ ChFi3d_ChBuilder::PerformSurf(ChFiDS_SequenceOfSurfData& SeqData,
|
||||
}
|
||||
else
|
||||
{
|
||||
Handle(ChFiDS_HElSpine) OffsetHGuide;
|
||||
Handle(ChFiDS_ElSpine) OffsetHGuide;
|
||||
ChFiDS_ListOfHElSpine& ll = Spine->ChangeElSpines();
|
||||
ChFiDS_ListOfHElSpine& ll_offset = Spine->ChangeOffsetElSpines();
|
||||
ChFiDS_ListIteratorOfListOfHElSpine ILES(ll), ILES_offset(ll_offset);
|
||||
for ( ; ILES.More(); ILES.Next(),ILES_offset.Next())
|
||||
{
|
||||
const Handle(ChFiDS_HElSpine)& aHElSpine = ILES.Value();
|
||||
const Handle(ChFiDS_ElSpine)& aHElSpine = ILES.Value();
|
||||
if (aHElSpine == HGuide)
|
||||
OffsetHGuide = ILES_offset.Value();
|
||||
}
|
||||
@@ -1599,16 +1599,16 @@ ChFi3d_ChBuilder::PerformSurf(ChFiDS_SequenceOfSurfData& SeqData,
|
||||
}
|
||||
|
||||
void ChFi3d_ChBuilder::PerformSurf(ChFiDS_SequenceOfSurfData& ,
|
||||
const Handle(ChFiDS_HElSpine)& ,
|
||||
const Handle(ChFiDS_ElSpine)& ,
|
||||
const Handle(ChFiDS_Spine)& ,
|
||||
const Standard_Integer ,
|
||||
const Handle(BRepAdaptor_HSurface)& ,
|
||||
const Handle(BRepAdaptor_Surface)& ,
|
||||
const Handle(Adaptor3d_TopolTool)& ,
|
||||
const Handle(BRepAdaptor_HCurve2d)& ,
|
||||
const Handle(BRepAdaptor_HSurface)& ,
|
||||
const Handle(BRepAdaptor_HCurve2d)& ,
|
||||
const Handle(BRepAdaptor_Curve2d)& ,
|
||||
const Handle(BRepAdaptor_Surface)& ,
|
||||
const Handle(BRepAdaptor_Curve2d)& ,
|
||||
Standard_Boolean& ,
|
||||
const Handle(BRepAdaptor_HSurface)& ,
|
||||
const Handle(BRepAdaptor_Surface)& ,
|
||||
const Handle(Adaptor3d_TopolTool)& ,
|
||||
const TopAbs_Orientation ,
|
||||
const Standard_Real ,
|
||||
@@ -1627,17 +1627,17 @@ void ChFi3d_ChBuilder::PerformSurf(ChFiDS_SequenceOfSurfData& ,
|
||||
throw Standard_Failure("PerformSurf Not Implemented");
|
||||
}
|
||||
void ChFi3d_ChBuilder::PerformSurf(ChFiDS_SequenceOfSurfData& ,
|
||||
const Handle(ChFiDS_HElSpine)& ,
|
||||
const Handle(ChFiDS_ElSpine)& ,
|
||||
const Handle(ChFiDS_Spine)& ,
|
||||
const Standard_Integer ,
|
||||
const Handle(BRepAdaptor_HSurface)& ,
|
||||
const Handle(BRepAdaptor_Surface)& ,
|
||||
const Handle(Adaptor3d_TopolTool)& ,
|
||||
const TopAbs_Orientation ,
|
||||
const Handle(BRepAdaptor_HSurface)& ,
|
||||
const Handle(BRepAdaptor_Surface)& ,
|
||||
const Handle(Adaptor3d_TopolTool)& ,
|
||||
const Handle(BRepAdaptor_HCurve2d)& ,
|
||||
const Handle(BRepAdaptor_HSurface)& ,
|
||||
const Handle(BRepAdaptor_HCurve2d)& ,
|
||||
const Handle(BRepAdaptor_Curve2d)& ,
|
||||
const Handle(BRepAdaptor_Surface)& ,
|
||||
const Handle(BRepAdaptor_Curve2d)& ,
|
||||
Standard_Boolean& ,
|
||||
const Standard_Real ,
|
||||
const Standard_Real ,
|
||||
@@ -1656,21 +1656,21 @@ void ChFi3d_ChBuilder::PerformSurf(ChFiDS_SequenceOfSurfData& ,
|
||||
|
||||
}
|
||||
void ChFi3d_ChBuilder::PerformSurf(ChFiDS_SequenceOfSurfData& ,
|
||||
const Handle(ChFiDS_HElSpine)& ,
|
||||
const Handle(ChFiDS_ElSpine)& ,
|
||||
const Handle(ChFiDS_Spine)& ,
|
||||
const Standard_Integer ,
|
||||
const Handle(BRepAdaptor_HSurface)& ,
|
||||
const Handle(BRepAdaptor_Surface)& ,
|
||||
const Handle(Adaptor3d_TopolTool)& ,
|
||||
const Handle(BRepAdaptor_HCurve2d)& ,
|
||||
const Handle(BRepAdaptor_HSurface)& ,
|
||||
const Handle(BRepAdaptor_HCurve2d)& ,
|
||||
const Handle(BRepAdaptor_Curve2d)& ,
|
||||
const Handle(BRepAdaptor_Surface)& ,
|
||||
const Handle(BRepAdaptor_Curve2d)& ,
|
||||
Standard_Boolean& ,
|
||||
const TopAbs_Orientation ,
|
||||
const Handle(BRepAdaptor_HSurface)& ,
|
||||
const Handle(BRepAdaptor_Surface)& ,
|
||||
const Handle(Adaptor3d_TopolTool)& ,
|
||||
const Handle(BRepAdaptor_HCurve2d)& ,
|
||||
const Handle(BRepAdaptor_HSurface)& ,
|
||||
const Handle(BRepAdaptor_HCurve2d)& ,
|
||||
const Handle(BRepAdaptor_Curve2d)& ,
|
||||
const Handle(BRepAdaptor_Surface)& ,
|
||||
const Handle(BRepAdaptor_Curve2d)& ,
|
||||
Standard_Boolean& ,
|
||||
const TopAbs_Orientation ,
|
||||
const Standard_Real ,
|
||||
|
@@ -17,33 +17,27 @@
|
||||
#ifndef _ChFi3d_ChBuilder_HeaderFile
|
||||
#define _ChFi3d_ChBuilder_HeaderFile
|
||||
|
||||
#include <Standard.hxx>
|
||||
#include <Standard_DefineAlloc.hxx>
|
||||
#include <Standard_Handle.hxx>
|
||||
|
||||
#include <BRepAdaptor_Curve2d.hxx>
|
||||
#include <BRepAdaptor_Surface.hxx>
|
||||
#include <ChFi3d_Builder.hxx>
|
||||
#include <Standard_Real.hxx>
|
||||
#include <Standard_Integer.hxx>
|
||||
#include <Standard_Boolean.hxx>
|
||||
#include <ChFiDS_ChamfMethod.hxx>
|
||||
#include <ChFiDS_ChamfMode.hxx>
|
||||
#include <ChFiDS_SecHArray1.hxx>
|
||||
#include <ChFiDS_ListOfStripe.hxx>
|
||||
#include <ChFiDS_SequenceOfSurfData.hxx>
|
||||
#include <ChFiDS_ElSpine.hxx>
|
||||
#include <math_Vector.hxx>
|
||||
#include <TopAbs_Orientation.hxx>
|
||||
#include <TopAbs_State.hxx>
|
||||
#include <ChFiDS_SequenceOfSurfData.hxx>
|
||||
#include <ChFiDS_ListOfStripe.hxx>
|
||||
|
||||
class Standard_ConstructionError;
|
||||
class Standard_DomainError;
|
||||
class TopoDS_Shape;
|
||||
class TopoDS_Edge;
|
||||
class TopoDS_Face;
|
||||
class ChFiDS_SurfData;
|
||||
class ChFiDS_HElSpine;
|
||||
class ChFiDS_Spine;
|
||||
class BRepAdaptor_HSurface;
|
||||
class Adaptor3d_TopolTool;
|
||||
class BRepAdaptor_HCurve2d;
|
||||
class TopoDS_Vertex;
|
||||
class ChFiDS_Stripe;
|
||||
|
||||
@@ -153,16 +147,16 @@ public:
|
||||
const Standard_Integer IS) const;
|
||||
|
||||
Standard_EXPORT virtual void SimulSurf (Handle(ChFiDS_SurfData)& Data,
|
||||
const Handle(ChFiDS_HElSpine)& Guide,
|
||||
const Handle(ChFiDS_ElSpine)& Guide,
|
||||
const Handle(ChFiDS_Spine)& Spine,
|
||||
const Standard_Integer Choix,
|
||||
const Handle(BRepAdaptor_HSurface)& S1,
|
||||
const Handle(BRepAdaptor_Surface)& S1,
|
||||
const Handle(Adaptor3d_TopolTool)& I1,
|
||||
const Handle(BRepAdaptor_HCurve2d)& PC1,
|
||||
const Handle(BRepAdaptor_HSurface)& Sref1,
|
||||
const Handle(BRepAdaptor_HCurve2d)& PCref1,
|
||||
const Handle(BRepAdaptor_Curve2d)& PC1,
|
||||
const Handle(BRepAdaptor_Surface)& Sref1,
|
||||
const Handle(BRepAdaptor_Curve2d)& PCref1,
|
||||
Standard_Boolean& Decroch1,
|
||||
const Handle(BRepAdaptor_HSurface)& S2,
|
||||
const Handle(BRepAdaptor_Surface)& S2,
|
||||
const Handle(Adaptor3d_TopolTool)& I2,
|
||||
const TopAbs_Orientation Or2,
|
||||
const Standard_Real Fleche,
|
||||
@@ -178,17 +172,17 @@ public:
|
||||
const math_Vector& Soldep) Standard_OVERRIDE;
|
||||
|
||||
Standard_EXPORT virtual void SimulSurf (Handle(ChFiDS_SurfData)& Data,
|
||||
const Handle(ChFiDS_HElSpine)& Guide,
|
||||
const Handle(ChFiDS_ElSpine)& Guide,
|
||||
const Handle(ChFiDS_Spine)& Spine,
|
||||
const Standard_Integer Choix,
|
||||
const Handle(BRepAdaptor_HSurface)& S1,
|
||||
const Handle(BRepAdaptor_Surface)& S1,
|
||||
const Handle(Adaptor3d_TopolTool)& I1,
|
||||
const TopAbs_Orientation Or1,
|
||||
const Handle(BRepAdaptor_HSurface)& S2,
|
||||
const Handle(BRepAdaptor_Surface)& S2,
|
||||
const Handle(Adaptor3d_TopolTool)& I2,
|
||||
const Handle(BRepAdaptor_HCurve2d)& PC2,
|
||||
const Handle(BRepAdaptor_HSurface)& Sref2,
|
||||
const Handle(BRepAdaptor_HCurve2d)& PCref2,
|
||||
const Handle(BRepAdaptor_Curve2d)& PC2,
|
||||
const Handle(BRepAdaptor_Surface)& Sref2,
|
||||
const Handle(BRepAdaptor_Curve2d)& PCref2,
|
||||
Standard_Boolean& Decroch2,
|
||||
const Standard_Real Fleche,
|
||||
const Standard_Real TolGuide,
|
||||
@@ -203,21 +197,21 @@ public:
|
||||
const math_Vector& Soldep) Standard_OVERRIDE;
|
||||
|
||||
Standard_EXPORT virtual void SimulSurf (Handle(ChFiDS_SurfData)& Data,
|
||||
const Handle(ChFiDS_HElSpine)& Guide,
|
||||
const Handle(ChFiDS_ElSpine)& Guide,
|
||||
const Handle(ChFiDS_Spine)& Spine,
|
||||
const Standard_Integer Choix,
|
||||
const Handle(BRepAdaptor_HSurface)& S1,
|
||||
const Handle(BRepAdaptor_Surface)& S1,
|
||||
const Handle(Adaptor3d_TopolTool)& I1,
|
||||
const Handle(BRepAdaptor_HCurve2d)& PC1,
|
||||
const Handle(BRepAdaptor_HSurface)& Sref1,
|
||||
const Handle(BRepAdaptor_HCurve2d)& PCref1,
|
||||
const Handle(BRepAdaptor_Curve2d)& PC1,
|
||||
const Handle(BRepAdaptor_Surface)& Sref1,
|
||||
const Handle(BRepAdaptor_Curve2d)& PCref1,
|
||||
Standard_Boolean& Decroch1,
|
||||
const TopAbs_Orientation Or1,
|
||||
const Handle(BRepAdaptor_HSurface)& S2,
|
||||
const Handle(BRepAdaptor_Surface)& S2,
|
||||
const Handle(Adaptor3d_TopolTool)& I2,
|
||||
const Handle(BRepAdaptor_HCurve2d)& PC2,
|
||||
const Handle(BRepAdaptor_HSurface)& Sref2,
|
||||
const Handle(BRepAdaptor_HCurve2d)& PCref2,
|
||||
const Handle(BRepAdaptor_Curve2d)& PC2,
|
||||
const Handle(BRepAdaptor_Surface)& Sref2,
|
||||
const Handle(BRepAdaptor_Curve2d)& PCref2,
|
||||
Standard_Boolean& Decroch2,
|
||||
const TopAbs_Orientation Or2,
|
||||
const Standard_Real Fleche,
|
||||
@@ -237,12 +231,12 @@ public:
|
||||
//! the elements of construction of the surface (fillet
|
||||
//! or chamfer).
|
||||
Standard_EXPORT virtual Standard_Boolean PerformSurf (ChFiDS_SequenceOfSurfData& Data,
|
||||
const Handle(ChFiDS_HElSpine)& Guide,
|
||||
const Handle(ChFiDS_ElSpine)& Guide,
|
||||
const Handle(ChFiDS_Spine)& Spine,
|
||||
const Standard_Integer Choix,
|
||||
const Handle(BRepAdaptor_HSurface)& S1,
|
||||
const Handle(BRepAdaptor_Surface)& S1,
|
||||
const Handle(Adaptor3d_TopolTool)& I1,
|
||||
const Handle(BRepAdaptor_HSurface)& S2,
|
||||
const Handle(BRepAdaptor_Surface)& S2,
|
||||
const Handle(Adaptor3d_TopolTool)& I2,
|
||||
const Standard_Real MaxStep,
|
||||
const Standard_Real Fleche,
|
||||
@@ -262,16 +256,16 @@ public:
|
||||
//! the elements of construction of the surface (fillet
|
||||
//! or chamfer) contact edge/face.
|
||||
Standard_EXPORT virtual void PerformSurf (ChFiDS_SequenceOfSurfData& Data,
|
||||
const Handle(ChFiDS_HElSpine)& Guide,
|
||||
const Handle(ChFiDS_ElSpine)& Guide,
|
||||
const Handle(ChFiDS_Spine)& Spine,
|
||||
const Standard_Integer Choix,
|
||||
const Handle(BRepAdaptor_HSurface)& S1,
|
||||
const Handle(BRepAdaptor_Surface)& S1,
|
||||
const Handle(Adaptor3d_TopolTool)& I1,
|
||||
const Handle(BRepAdaptor_HCurve2d)& PC1,
|
||||
const Handle(BRepAdaptor_HSurface)& Sref1,
|
||||
const Handle(BRepAdaptor_HCurve2d)& PCref1,
|
||||
const Handle(BRepAdaptor_Curve2d)& PC1,
|
||||
const Handle(BRepAdaptor_Surface)& Sref1,
|
||||
const Handle(BRepAdaptor_Curve2d)& PCref1,
|
||||
Standard_Boolean& Decroch1,
|
||||
const Handle(BRepAdaptor_HSurface)& S2,
|
||||
const Handle(BRepAdaptor_Surface)& S2,
|
||||
const Handle(Adaptor3d_TopolTool)& I2,
|
||||
const TopAbs_Orientation Or2,
|
||||
const Standard_Real MaxStep,
|
||||
@@ -291,17 +285,17 @@ public:
|
||||
//! the elements of construction of the surface (fillet
|
||||
//! or chamfer) contact edge/face.
|
||||
Standard_EXPORT virtual void PerformSurf (ChFiDS_SequenceOfSurfData& Data,
|
||||
const Handle(ChFiDS_HElSpine)& Guide,
|
||||
const Handle(ChFiDS_ElSpine)& Guide,
|
||||
const Handle(ChFiDS_Spine)& Spine,
|
||||
const Standard_Integer Choix,
|
||||
const Handle(BRepAdaptor_HSurface)& S1,
|
||||
const Handle(BRepAdaptor_Surface)& S1,
|
||||
const Handle(Adaptor3d_TopolTool)& I1,
|
||||
const TopAbs_Orientation Or1,
|
||||
const Handle(BRepAdaptor_HSurface)& S2,
|
||||
const Handle(BRepAdaptor_Surface)& S2,
|
||||
const Handle(Adaptor3d_TopolTool)& I2,
|
||||
const Handle(BRepAdaptor_HCurve2d)& PC2,
|
||||
const Handle(BRepAdaptor_HSurface)& Sref2,
|
||||
const Handle(BRepAdaptor_HCurve2d)& PCref2,
|
||||
const Handle(BRepAdaptor_Curve2d)& PC2,
|
||||
const Handle(BRepAdaptor_Surface)& Sref2,
|
||||
const Handle(BRepAdaptor_Curve2d)& PCref2,
|
||||
Standard_Boolean& Decroch2,
|
||||
const Standard_Real MaxStep,
|
||||
const Standard_Real Fleche,
|
||||
@@ -320,21 +314,21 @@ public:
|
||||
//! the elements of construction of the surface (fillet
|
||||
//! or chamfer) contact edge/edge.
|
||||
Standard_EXPORT virtual void PerformSurf (ChFiDS_SequenceOfSurfData& Data,
|
||||
const Handle(ChFiDS_HElSpine)& Guide,
|
||||
const Handle(ChFiDS_ElSpine)& Guide,
|
||||
const Handle(ChFiDS_Spine)& Spine,
|
||||
const Standard_Integer Choix,
|
||||
const Handle(BRepAdaptor_HSurface)& S1,
|
||||
const Handle(BRepAdaptor_Surface)& S1,
|
||||
const Handle(Adaptor3d_TopolTool)& I1,
|
||||
const Handle(BRepAdaptor_HCurve2d)& PC1,
|
||||
const Handle(BRepAdaptor_HSurface)& Sref1,
|
||||
const Handle(BRepAdaptor_HCurve2d)& PCref1,
|
||||
const Handle(BRepAdaptor_Curve2d)& PC1,
|
||||
const Handle(BRepAdaptor_Surface)& Sref1,
|
||||
const Handle(BRepAdaptor_Curve2d)& PCref1,
|
||||
Standard_Boolean& Decroch1,
|
||||
const TopAbs_Orientation Or1,
|
||||
const Handle(BRepAdaptor_HSurface)& S2,
|
||||
const Handle(BRepAdaptor_Surface)& S2,
|
||||
const Handle(Adaptor3d_TopolTool)& I2,
|
||||
const Handle(BRepAdaptor_HCurve2d)& PC2,
|
||||
const Handle(BRepAdaptor_HSurface)& Sref2,
|
||||
const Handle(BRepAdaptor_HCurve2d)& PCref2,
|
||||
const Handle(BRepAdaptor_Curve2d)& PC2,
|
||||
const Handle(BRepAdaptor_Surface)& Sref2,
|
||||
const Handle(BRepAdaptor_Curve2d)& PCref2,
|
||||
Standard_Boolean& Decroch2,
|
||||
const TopAbs_Orientation Or2,
|
||||
const Standard_Real MaxStep,
|
||||
@@ -360,12 +354,12 @@ protected:
|
||||
Standard_EXPORT void SimulKPart (const Handle(ChFiDS_SurfData)& SD) const Standard_OVERRIDE;
|
||||
|
||||
Standard_EXPORT Standard_Boolean SimulSurf (Handle(ChFiDS_SurfData)& Data,
|
||||
const Handle(ChFiDS_HElSpine)& Guide,
|
||||
const Handle(ChFiDS_ElSpine)& Guide,
|
||||
const Handle(ChFiDS_Spine)& Spine,
|
||||
const Standard_Integer Choix,
|
||||
const Handle(BRepAdaptor_HSurface)& S1,
|
||||
const Handle(BRepAdaptor_Surface)& S1,
|
||||
const Handle(Adaptor3d_TopolTool)& I1,
|
||||
const Handle(BRepAdaptor_HSurface)& S2,
|
||||
const Handle(BRepAdaptor_Surface)& S2,
|
||||
const Handle(Adaptor3d_TopolTool)& I2,
|
||||
const Standard_Real TolGuide,
|
||||
Standard_Real& First,
|
||||
@@ -380,10 +374,10 @@ protected:
|
||||
Standard_Integer& Intl) Standard_OVERRIDE;
|
||||
|
||||
Standard_EXPORT Standard_Boolean PerformFirstSection (const Handle(ChFiDS_Spine)& S,
|
||||
const Handle(ChFiDS_HElSpine)& HGuide,
|
||||
const Handle(ChFiDS_ElSpine)& HGuide,
|
||||
const Standard_Integer Choix,
|
||||
Handle(BRepAdaptor_HSurface)& S1,
|
||||
Handle(BRepAdaptor_HSurface)& S2,
|
||||
Handle(BRepAdaptor_Surface)& S1,
|
||||
Handle(BRepAdaptor_Surface)& S2,
|
||||
const Handle(Adaptor3d_TopolTool)& I1,
|
||||
const Handle(Adaptor3d_TopolTool)& I2,
|
||||
const Standard_Real Par,
|
||||
|
@@ -16,10 +16,10 @@
|
||||
|
||||
|
||||
#include <Adaptor3d_TopolTool.hxx>
|
||||
#include <BRepAdaptor_HCurve2d.hxx>
|
||||
#include <BRepAdaptor_HSurface.hxx>
|
||||
#include <BRepAdaptor_Curve2d.hxx>
|
||||
#include <BRepAdaptor_Surface.hxx>
|
||||
#include <ChFi3d_ChBuilder.hxx>
|
||||
#include <ChFiDS_HElSpine.hxx>
|
||||
#include <ChFiDS_ElSpine.hxx>
|
||||
#include <ChFiDS_Spine.hxx>
|
||||
#include <ChFiDS_Stripe.hxx>
|
||||
#include <ChFiDS_SurfData.hxx>
|
||||
|
@@ -17,15 +17,15 @@
|
||||
|
||||
#include <Adaptor3d_TopolTool.hxx>
|
||||
#include <BRep_Tool.hxx>
|
||||
#include <BRepAdaptor_HCurve2d.hxx>
|
||||
#include <BRepAdaptor_HSurface.hxx>
|
||||
#include <BRepAdaptor_Curve2d.hxx>
|
||||
#include <BRepAdaptor_Surface.hxx>
|
||||
#include <BRepAdaptor_Surface.hxx>
|
||||
#include <BRepLib_MakeEdge.hxx>
|
||||
#include <ChFi3d_Builder_0.hxx>
|
||||
#include <ChFi3d_ChBuilder.hxx>
|
||||
#include <ChFiDS_ChamfSpine.hxx>
|
||||
#include <ChFiDS_HData.hxx>
|
||||
#include <ChFiDS_HElSpine.hxx>
|
||||
#include <ChFiDS_ElSpine.hxx>
|
||||
#include <ChFiDS_ListIteratorOfListOfStripe.hxx>
|
||||
#include <ChFiDS_Regul.hxx>
|
||||
#include <ChFiDS_Spine.hxx>
|
||||
@@ -37,7 +37,7 @@
|
||||
#include <Geom2d_Curve.hxx>
|
||||
#include <Geom2d_Line.hxx>
|
||||
#include <Geom2dAdaptor_Curve.hxx>
|
||||
#include <Geom2dAdaptor_HCurve.hxx>
|
||||
#include <Geom2dAdaptor_Curve.hxx>
|
||||
#include <Geom2dInt_GInter.hxx>
|
||||
#include <Geom_BSplineSurface.hxx>
|
||||
#include <Geom_Curve.hxx>
|
||||
@@ -46,8 +46,8 @@
|
||||
#include <Geom_Surface.hxx>
|
||||
#include <Geom_TrimmedCurve.hxx>
|
||||
#include <GeomAbs_SurfaceType.hxx>
|
||||
#include <GeomAdaptor_HCurve.hxx>
|
||||
#include <GeomAdaptor_HSurface.hxx>
|
||||
#include <GeomAdaptor_Curve.hxx>
|
||||
#include <GeomAdaptor_Surface.hxx>
|
||||
#include <GeomAPI_ProjectPointOnCurve.hxx>
|
||||
#include <GeomAPI_ProjectPointOnSurf.hxx>
|
||||
#include <GeomInt_IntSS.hxx>
|
||||
@@ -120,12 +120,12 @@ static Standard_Boolean CoPlanar(const gp_Pnt PntA,
|
||||
// it to allow the intersection computation
|
||||
//=======================================================================
|
||||
|
||||
static Handle(GeomAdaptor_HSurface) BoundSurf(const Handle(Geom_Surface)& S,
|
||||
static Handle(GeomAdaptor_Surface) BoundSurf(const Handle(Geom_Surface)& S,
|
||||
const gp_Pnt2d& Pdeb,
|
||||
const gp_Pnt2d& Pfin)
|
||||
{
|
||||
Handle(GeomAdaptor_HSurface) HS = new GeomAdaptor_HSurface();
|
||||
GeomAdaptor_Surface& GAS = HS->ChangeSurface();
|
||||
Handle(GeomAdaptor_Surface) HS = new GeomAdaptor_Surface();
|
||||
GeomAdaptor_Surface& GAS = *HS;
|
||||
GAS.Load(S);
|
||||
|
||||
Standard_Real uu1,uu2,vv1,vv2;
|
||||
@@ -174,7 +174,7 @@ static Standard_Boolean ComputeIntersection(TopOpeBRepDS_DataStructure& DStr,
|
||||
|
||||
// take the surface of the pivot SurfData and trim it to allow
|
||||
// the intersection computation if it's an analytic surface
|
||||
Handle(GeomAdaptor_HSurface) HS1;
|
||||
Handle(GeomAdaptor_Surface) HS1;
|
||||
HS1 = ChFi3d_BoundSurf(DStr,SD,1,2);
|
||||
|
||||
const Handle(Geom_Surface)& gpl = DStr.Surface(SDCoin->Surf()).Surface();
|
||||
@@ -211,7 +211,7 @@ static Standard_Boolean ComputeIntersection(TopOpeBRepDS_DataStructure& DStr,
|
||||
// Trims the chamfer surface to allow the intersection computation
|
||||
// and computes a GeomAdaptor_Surface for using the ComputeCurves
|
||||
// function
|
||||
Handle(GeomAdaptor_HSurface) HS2;
|
||||
Handle(GeomAdaptor_Surface) HS2;
|
||||
HS2 = BoundSurf(gpl,ptcoindeb,cpf2);
|
||||
|
||||
// compute the intersection curves and pcurves
|
||||
@@ -351,12 +351,12 @@ void ChFi3d_ChBuilder::PerformThreeCorner(const Standard_Integer Jndex)
|
||||
// On construit les HSurfaces et autres outils qui vont bien.
|
||||
// ----------------------------------------------------------
|
||||
|
||||
Handle(BRepAdaptor_HSurface) Fac = new BRepAdaptor_HSurface(face[pivot]);
|
||||
Handle(GeomAdaptor_HSurface)
|
||||
bidsurf = new GeomAdaptor_HSurface(Fac->ChangeSurface().Surface());
|
||||
Handle(BRepAdaptor_Surface) Fac = new BRepAdaptor_Surface(face[pivot]);
|
||||
Handle(GeomAdaptor_Surface)
|
||||
bidsurf = new GeomAdaptor_Surface(Fac->Surface());
|
||||
Handle(Adaptor3d_TopolTool) IFac = new Adaptor3d_TopolTool(bidsurf);
|
||||
|
||||
Handle(GeomAdaptor_HSurface) Surf = ChFi3d_BoundSurf (DStr,fdpiv,jf[pivot][deb],jf[pivot][fin]);
|
||||
Handle(GeomAdaptor_Surface) Surf = ChFi3d_BoundSurf (DStr,fdpiv,jf[pivot][deb],jf[pivot][fin]);
|
||||
Handle(Adaptor3d_TopolTool) ISurf = new Adaptor3d_TopolTool(Surf);
|
||||
|
||||
// Creation of a new Stripe for the corner
|
||||
@@ -368,12 +368,12 @@ void ChFi3d_ChBuilder::PerformThreeCorner(const Standard_Integer Jndex)
|
||||
|
||||
// Pour plus de surete, on verifie les intersections des pcurves des chanfreins sur leur
|
||||
// face commune
|
||||
Handle(GeomAdaptor_HSurface) HSdeb
|
||||
= new GeomAdaptor_HSurface( GeomAdaptor_Surface(DStr.Surface(fddeb->Surf()).Surface()) );
|
||||
Handle(GeomAdaptor_HSurface) HSfin
|
||||
= new GeomAdaptor_HSurface( GeomAdaptor_Surface(DStr.Surface(fdfin->Surf()).Surface()) );
|
||||
Handle(GeomAdaptor_HSurface) HSpiv
|
||||
= new GeomAdaptor_HSurface( GeomAdaptor_Surface(DStr.Surface(fdpiv->Surf()).Surface()) );
|
||||
Handle(GeomAdaptor_Surface) HSdeb
|
||||
= new GeomAdaptor_Surface( GeomAdaptor_Surface(DStr.Surface(fddeb->Surf()).Surface()) );
|
||||
Handle(GeomAdaptor_Surface) HSfin
|
||||
= new GeomAdaptor_Surface( GeomAdaptor_Surface(DStr.Surface(fdfin->Surf()).Surface()) );
|
||||
Handle(GeomAdaptor_Surface) HSpiv
|
||||
= new GeomAdaptor_Surface( GeomAdaptor_Surface(DStr.Surface(fdpiv->Surf()).Surface()) );
|
||||
|
||||
gp_Pnt2d p2d[4];
|
||||
gp_Pnt p3d[4], PSom;
|
||||
@@ -557,12 +557,12 @@ void ChFi3d_ChBuilder::PerformThreeCorner(const Standard_Integer Jndex)
|
||||
else if (nbl == 1) {
|
||||
ChFi3d_TrimCurve(inter.Line(1),p3d[pivot],p3dface,gcface);
|
||||
|
||||
Handle(GeomAdaptor_HCurve) gac = new GeomAdaptor_HCurve();
|
||||
gac->ChangeCurve().Load(gcface);
|
||||
Handle(GeomAdaptor_HSurface) gas = new GeomAdaptor_HSurface;
|
||||
gas->ChangeSurface().Load(gpl);
|
||||
Handle(BRepAdaptor_HSurface) gaf = new BRepAdaptor_HSurface;
|
||||
gaf->ChangeSurface().Initialize(face[pivot]);
|
||||
Handle(GeomAdaptor_Curve) gac = new GeomAdaptor_Curve();
|
||||
gac->Load(gcface);
|
||||
Handle(GeomAdaptor_Surface) gas = new GeomAdaptor_Surface;
|
||||
gas->Load(gpl);
|
||||
Handle(BRepAdaptor_Surface) gaf = new BRepAdaptor_Surface;
|
||||
gaf->Initialize(face[pivot]);
|
||||
|
||||
Standard_Real tolr;
|
||||
ChFi3d_ProjectPCurv(gac,gaf,facepc1,tolesp,tolr);
|
||||
|
@@ -18,8 +18,8 @@
|
||||
|
||||
#include <Adaptor3d_TopolTool.hxx>
|
||||
#include <Blend_Point.hxx>
|
||||
#include <BRepAdaptor_HCurve2d.hxx>
|
||||
#include <BRepAdaptor_HSurface.hxx>
|
||||
#include <BRepAdaptor_Curve2d.hxx>
|
||||
#include <BRepAdaptor_Surface.hxx>
|
||||
#include <BRepBlend_ConstRad.hxx>
|
||||
#include <BRepBlend_ConstRadInv.hxx>
|
||||
#include <BRepBlend_CurvPointRadInv.hxx>
|
||||
@@ -41,7 +41,7 @@
|
||||
#include <ChFiDS_ErrorStatus.hxx>
|
||||
#include <ChFiDS_FilSpine.hxx>
|
||||
#include <ChFiDS_HData.hxx>
|
||||
#include <ChFiDS_HElSpine.hxx>
|
||||
#include <ChFiDS_ElSpine.hxx>
|
||||
#include <ChFiDS_ListIteratorOfListOfStripe.hxx>
|
||||
#include <ChFiDS_ListIteratorOfRegularities.hxx>
|
||||
#include <ChFiDS_ListOfStripe.hxx>
|
||||
@@ -52,7 +52,7 @@
|
||||
#include <ChFiDS_SurfData.hxx>
|
||||
#include <ElSLib.hxx>
|
||||
#include <Geom_Curve.hxx>
|
||||
#include <GeomAdaptor_HCurve.hxx>
|
||||
#include <GeomAdaptor_Curve.hxx>
|
||||
#include <gp_XY.hxx>
|
||||
#include <Law_Composite.hxx>
|
||||
#include <Law_Function.hxx>
|
||||
@@ -92,7 +92,7 @@ static Standard_Real MaxRad(const Handle(ChFiDS_FilSpine)& fsp,
|
||||
return (fsp->MaxRadFromSeqAndLaws());
|
||||
|
||||
/*
|
||||
Handle(ChFiDS_HElSpine) HGuide = fsp->ElSpine(IE);
|
||||
Handle(ChFiDS_ElSpine) HGuide = fsp->ElSpine(IE);
|
||||
Standard_Real la = HGuide->LastParameter(), fi = HGuide->FirstParameter();
|
||||
Standard_Real longueur = la - fi, temp, w;
|
||||
//#ifndef OCCT_DEBUG
|
||||
@@ -110,7 +110,7 @@ static Standard_Real MaxRad(const Handle(ChFiDS_FilSpine)& fsp,
|
||||
*/
|
||||
}
|
||||
|
||||
static void SimulParams(const Handle(ChFiDS_HElSpine)& HGuide,
|
||||
static void SimulParams(const Handle(ChFiDS_ElSpine)& HGuide,
|
||||
const Handle(ChFiDS_FilSpine)& fsp,
|
||||
Standard_Real& MaxStep,
|
||||
Standard_Real& Fleche)
|
||||
@@ -602,12 +602,12 @@ void ChFi3d_FilBuilder::SimulKPart(const Handle(ChFiDS_SurfData)& SD) const
|
||||
|
||||
Standard_Boolean
|
||||
ChFi3d_FilBuilder::SimulSurf(Handle(ChFiDS_SurfData)& Data,
|
||||
const Handle(ChFiDS_HElSpine)& HGuide,
|
||||
const Handle(ChFiDS_ElSpine)& HGuide,
|
||||
const Handle(ChFiDS_Spine)& Spine,
|
||||
const Standard_Integer Choix,
|
||||
const Handle(BRepAdaptor_HSurface)& S1,
|
||||
const Handle(BRepAdaptor_Surface)& S1,
|
||||
const Handle(Adaptor3d_TopolTool)& I1,
|
||||
const Handle(BRepAdaptor_HSurface)& S2,
|
||||
const Handle(BRepAdaptor_Surface)& S2,
|
||||
const Handle(Adaptor3d_TopolTool)& I2,
|
||||
const Standard_Real TolGuide,
|
||||
Standard_Real& First,
|
||||
@@ -625,7 +625,7 @@ ChFi3d_FilBuilder::SimulSurf(Handle(ChFiDS_SurfData)& Data,
|
||||
if(fsp.IsNull()) throw Standard_ConstructionError("SimulSurf : this is not the spine of the fillet");
|
||||
Handle(BRepBlend_Line) lin;
|
||||
#ifdef OCCT_DEBUG
|
||||
// TopAbs_Orientation Or = S1->ChangeSurface().Face().Orientation();
|
||||
// TopAbs_Orientation Or = S1->Face().Orientation();
|
||||
#endif
|
||||
// Flexible parameters!!!
|
||||
Standard_Real locfleche, MaxStep;
|
||||
@@ -633,7 +633,7 @@ ChFi3d_FilBuilder::SimulSurf(Handle(ChFiDS_SurfData)& Data,
|
||||
Handle(ChFiDS_SecHArray1) sec;
|
||||
gp_Pnt2d pf1,pl1,pf2,pl2;
|
||||
|
||||
Handle(ChFiDS_HElSpine) EmptyHGuide;
|
||||
Handle(ChFiDS_ElSpine) EmptyHGuide;
|
||||
|
||||
Standard_Real PFirst = First;
|
||||
if(intf) First = fsp->FirstParameter(1);
|
||||
@@ -707,14 +707,14 @@ ChFi3d_FilBuilder::SimulSurf(Handle(ChFiDS_SurfData)& Data,
|
||||
Standard_Boolean ok = Standard_False;
|
||||
const ChFiDS_CommonPoint& cp1 = Data->VertexFirstOnS1();
|
||||
if(cp1.IsOnArc()){
|
||||
TopoDS_Face F1 = S1->ChangeSurface().Face();
|
||||
TopoDS_Face F1 = S1->Face();
|
||||
TopoDS_Face bid;
|
||||
intf = !SearchFace(Spine,cp1,F1,bid);
|
||||
ok = intf != 0;
|
||||
}
|
||||
const ChFiDS_CommonPoint& cp2 = Data->VertexFirstOnS2();
|
||||
if(cp2.IsOnArc() && !ok){
|
||||
TopoDS_Face F2 = S2->ChangeSurface().Face();
|
||||
TopoDS_Face F2 = S2->Face();
|
||||
TopoDS_Face bid;
|
||||
intf = !SearchFace(Spine,cp2,F2,bid);
|
||||
}
|
||||
@@ -723,14 +723,14 @@ ChFi3d_FilBuilder::SimulSurf(Handle(ChFiDS_SurfData)& Data,
|
||||
Standard_Boolean ok = 0;
|
||||
const ChFiDS_CommonPoint& cp1 = Data->VertexLastOnS1();
|
||||
if(cp1.IsOnArc()){
|
||||
TopoDS_Face F1 = S1->ChangeSurface().Face();
|
||||
TopoDS_Face F1 = S1->Face();
|
||||
TopoDS_Face bid;
|
||||
intl = !SearchFace(Spine,cp1,F1,bid);
|
||||
ok = intl != 0;
|
||||
}
|
||||
const ChFiDS_CommonPoint& cp2 = Data->VertexLastOnS2();
|
||||
if(cp2.IsOnArc() && !ok){
|
||||
TopoDS_Face F2 = S2->ChangeSurface().Face();
|
||||
TopoDS_Face F2 = S2->Face();
|
||||
TopoDS_Face bid;
|
||||
intl = !SearchFace(Spine,cp2,F2,bid);
|
||||
}
|
||||
@@ -744,16 +744,16 @@ ChFi3d_FilBuilder::SimulSurf(Handle(ChFiDS_SurfData)& Data,
|
||||
//=======================================================================
|
||||
|
||||
void ChFi3d_FilBuilder::SimulSurf(Handle(ChFiDS_SurfData)& Data,
|
||||
const Handle(ChFiDS_HElSpine)& HGuide,
|
||||
const Handle(ChFiDS_ElSpine)& HGuide,
|
||||
const Handle(ChFiDS_Spine)& Spine,
|
||||
const Standard_Integer Choix,
|
||||
const Handle(BRepAdaptor_HSurface)& HS1,
|
||||
const Handle(BRepAdaptor_Surface)& HS1,
|
||||
const Handle(Adaptor3d_TopolTool)& I1,
|
||||
const Handle(BRepAdaptor_HCurve2d)& PC1,
|
||||
const Handle(BRepAdaptor_HSurface)& HSref1,
|
||||
const Handle(BRepAdaptor_HCurve2d)& PCref1,
|
||||
const Handle(BRepAdaptor_Curve2d)& PC1,
|
||||
const Handle(BRepAdaptor_Surface)& HSref1,
|
||||
const Handle(BRepAdaptor_Curve2d)& PCref1,
|
||||
Standard_Boolean& Decroch1,
|
||||
const Handle(BRepAdaptor_HSurface)& HS2,
|
||||
const Handle(BRepAdaptor_Surface)& HS2,
|
||||
const Handle(Adaptor3d_TopolTool)& I2,
|
||||
const TopAbs_Orientation Or2,
|
||||
const Standard_Real /*Fleche*/,
|
||||
@@ -782,8 +782,8 @@ void ChFi3d_FilBuilder::SimulSurf(Handle(ChFiDS_SurfData)& Data,
|
||||
if(fsp->IsConstant()){
|
||||
BRepBlend_SurfRstConstRad func(HS2,HS1,PC1,HGuide);
|
||||
func.Set(HSref1,PCref1);
|
||||
Handle(Adaptor3d_HCurveOnSurface) HC = new Adaptor3d_HCurveOnSurface();
|
||||
HC->ChangeCurve().Load(PC1, HS1);
|
||||
Handle(Adaptor3d_CurveOnSurface) HC = new Adaptor3d_CurveOnSurface();
|
||||
HC->Load(PC1, HS1);
|
||||
BRepBlend_SurfCurvConstRadInv finvc(HS2,HC,HGuide);
|
||||
BRepBlend_SurfPointConstRadInv finvp(HS2,HGuide);
|
||||
BRepBlend_ConstRadInv finv(HS2,HSref1,HGuide);
|
||||
@@ -824,8 +824,8 @@ void ChFi3d_FilBuilder::SimulSurf(Handle(ChFiDS_SurfData)& Data,
|
||||
}
|
||||
else {
|
||||
BRepBlend_SurfRstEvolRad func(HS2,HS1,PC1,HGuide,fsp->Law(HGuide));
|
||||
Handle(Adaptor3d_HCurveOnSurface) HC = new Adaptor3d_HCurveOnSurface();
|
||||
HC->ChangeCurve().Load(PC1, HS1);
|
||||
Handle(Adaptor3d_CurveOnSurface) HC = new Adaptor3d_CurveOnSurface();
|
||||
HC->Load(PC1, HS1);
|
||||
BRepBlend_SurfCurvEvolRadInv finvc(HS2,HC,HGuide,fsp->Law(HGuide));
|
||||
BRepBlend_SurfPointEvolRadInv finvp(HS2,HGuide,fsp->Law(HGuide));
|
||||
BRepBlend_EvolRadInv finv(HS2,HSref1,HGuide,fsp->Law(HGuide));
|
||||
@@ -878,17 +878,17 @@ void ChFi3d_FilBuilder::SimulSurf(Handle(ChFiDS_SurfData)& Data,
|
||||
//=======================================================================
|
||||
|
||||
void ChFi3d_FilBuilder::SimulSurf(Handle(ChFiDS_SurfData)& Data,
|
||||
const Handle(ChFiDS_HElSpine)& HGuide,
|
||||
const Handle(ChFiDS_ElSpine)& HGuide,
|
||||
const Handle(ChFiDS_Spine)& Spine,
|
||||
const Standard_Integer Choix,
|
||||
const Handle(BRepAdaptor_HSurface)& HS1,
|
||||
const Handle(BRepAdaptor_Surface)& HS1,
|
||||
const Handle(Adaptor3d_TopolTool)& I1,
|
||||
const TopAbs_Orientation Or1,
|
||||
const Handle(BRepAdaptor_HSurface)& HS2,
|
||||
const Handle(BRepAdaptor_Surface)& HS2,
|
||||
const Handle(Adaptor3d_TopolTool)& I2,
|
||||
const Handle(BRepAdaptor_HCurve2d)& PC2,
|
||||
const Handle(BRepAdaptor_HSurface)& HSref2,
|
||||
const Handle(BRepAdaptor_HCurve2d)& PCref2,
|
||||
const Handle(BRepAdaptor_Curve2d)& PC2,
|
||||
const Handle(BRepAdaptor_Surface)& HSref2,
|
||||
const Handle(BRepAdaptor_Curve2d)& PCref2,
|
||||
Standard_Boolean& Decroch2,
|
||||
const Standard_Real /*Arrow*/,
|
||||
const Standard_Real TolGuide,
|
||||
@@ -916,8 +916,8 @@ void ChFi3d_FilBuilder::SimulSurf(Handle(ChFiDS_SurfData)& Data,
|
||||
if(fsp->IsConstant()){
|
||||
BRepBlend_SurfRstConstRad func(HS1,HS2,PC2,HGuide);
|
||||
func.Set(HSref2,PCref2);
|
||||
Handle(Adaptor3d_HCurveOnSurface) HC = new Adaptor3d_HCurveOnSurface();
|
||||
HC->ChangeCurve().Load(PC2, HS2);
|
||||
Handle(Adaptor3d_CurveOnSurface) HC = new Adaptor3d_CurveOnSurface();
|
||||
HC->Load(PC2, HS2);
|
||||
BRepBlend_SurfCurvConstRadInv finvc(HS1,HC,HGuide);
|
||||
BRepBlend_SurfPointConstRadInv finvp(HS1,HGuide);
|
||||
BRepBlend_ConstRadInv finv(HS1,HSref2,HGuide);
|
||||
@@ -956,8 +956,8 @@ void ChFi3d_FilBuilder::SimulSurf(Handle(ChFiDS_SurfData)& Data,
|
||||
}
|
||||
else {
|
||||
BRepBlend_SurfRstEvolRad func(HS1,HS2,PC2,HGuide,fsp->Law(HGuide));
|
||||
Handle(Adaptor3d_HCurveOnSurface) HC = new Adaptor3d_HCurveOnSurface();
|
||||
HC->ChangeCurve().Load(PC2, HS2);
|
||||
Handle(Adaptor3d_CurveOnSurface) HC = new Adaptor3d_CurveOnSurface();
|
||||
HC->Load(PC2, HS2);
|
||||
BRepBlend_SurfCurvEvolRadInv finvc(HS1,HC,HGuide,fsp->Law(HGuide));
|
||||
BRepBlend_SurfPointEvolRadInv finvp(HS1,HGuide,fsp->Law(HGuide));
|
||||
BRepBlend_EvolRadInv finv(HS1,HSref2,HGuide,fsp->Law(HGuide));
|
||||
@@ -1012,21 +1012,21 @@ void ChFi3d_FilBuilder::SimulSurf(Handle(ChFiDS_SurfData)& Data,
|
||||
//=======================================================================
|
||||
|
||||
void ChFi3d_FilBuilder::SimulSurf(Handle(ChFiDS_SurfData)& Data,
|
||||
const Handle(ChFiDS_HElSpine)& HGuide,
|
||||
const Handle(ChFiDS_ElSpine)& HGuide,
|
||||
const Handle(ChFiDS_Spine)& Spine,
|
||||
const Standard_Integer Choix,
|
||||
const Handle(BRepAdaptor_HSurface)& HS1,
|
||||
const Handle(BRepAdaptor_Surface)& HS1,
|
||||
const Handle(Adaptor3d_TopolTool)& I1,
|
||||
const Handle(BRepAdaptor_HCurve2d)& PC1,
|
||||
const Handle(BRepAdaptor_HSurface)& HSref1,
|
||||
const Handle(BRepAdaptor_HCurve2d)& PCref1,
|
||||
const Handle(BRepAdaptor_Curve2d)& PC1,
|
||||
const Handle(BRepAdaptor_Surface)& HSref1,
|
||||
const Handle(BRepAdaptor_Curve2d)& PCref1,
|
||||
Standard_Boolean& Decroch1,
|
||||
const TopAbs_Orientation Or1,
|
||||
const Handle(BRepAdaptor_HSurface)& HS2,
|
||||
const Handle(BRepAdaptor_Surface)& HS2,
|
||||
const Handle(Adaptor3d_TopolTool)& I2,
|
||||
const Handle(BRepAdaptor_HCurve2d)& PC2,
|
||||
const Handle(BRepAdaptor_HSurface)& HSref2,
|
||||
const Handle(BRepAdaptor_HCurve2d)& PCref2,
|
||||
const Handle(BRepAdaptor_Curve2d)& PC2,
|
||||
const Handle(BRepAdaptor_Surface)& HSref2,
|
||||
const Handle(BRepAdaptor_Curve2d)& PCref2,
|
||||
Standard_Boolean& Decroch2,
|
||||
const TopAbs_Orientation Or2,
|
||||
const Standard_Real /*Fleche*/,
|
||||
@@ -1058,10 +1058,10 @@ void ChFi3d_FilBuilder::SimulSurf(Handle(ChFiDS_SurfData)& Data,
|
||||
if(fsp->IsConstant()){
|
||||
BRepBlend_RstRstConstRad func(HS1, PC1, HS2, PC2, HGuide);
|
||||
func.Set(HSref1, PCref1, HSref2, PCref2);
|
||||
Handle(Adaptor3d_HCurveOnSurface) HC1 = new Adaptor3d_HCurveOnSurface();
|
||||
HC1->ChangeCurve().Load(PC1, HS1);
|
||||
Handle(Adaptor3d_HCurveOnSurface) HC2 = new Adaptor3d_HCurveOnSurface();
|
||||
HC2->ChangeCurve().Load(PC2, HS2);
|
||||
Handle(Adaptor3d_CurveOnSurface) HC1 = new Adaptor3d_CurveOnSurface();
|
||||
HC1->Load(PC1, HS1);
|
||||
Handle(Adaptor3d_CurveOnSurface) HC2 = new Adaptor3d_CurveOnSurface();
|
||||
HC2->Load(PC2, HS2);
|
||||
BRepBlend_SurfCurvConstRadInv finv1(HSref1, HC2, HGuide);
|
||||
BRepBlend_CurvPointRadInv finvp1(HGuide, HC2);
|
||||
BRepBlend_SurfCurvConstRadInv finv2(HSref2, HC1, HGuide);
|
||||
@@ -1106,10 +1106,10 @@ void ChFi3d_FilBuilder::SimulSurf(Handle(ChFiDS_SurfData)& Data,
|
||||
else {
|
||||
BRepBlend_RstRstEvolRad func(HS1,PC1, HS2, PC2, HGuide, fsp->Law(HGuide));
|
||||
func.Set(HSref1, PCref1, HSref2, PCref2);
|
||||
Handle(Adaptor3d_HCurveOnSurface) HC1 = new Adaptor3d_HCurveOnSurface();
|
||||
HC1->ChangeCurve().Load(PC1, HS1);
|
||||
Handle(Adaptor3d_HCurveOnSurface) HC2 = new Adaptor3d_HCurveOnSurface();
|
||||
HC2->ChangeCurve().Load(PC2, HS2);
|
||||
Handle(Adaptor3d_CurveOnSurface) HC1 = new Adaptor3d_CurveOnSurface();
|
||||
HC1->Load(PC1, HS1);
|
||||
Handle(Adaptor3d_CurveOnSurface) HC2 = new Adaptor3d_CurveOnSurface();
|
||||
HC2->Load(PC2, HS2);
|
||||
|
||||
BRepBlend_SurfCurvEvolRadInv finv1(HSref1, HC2, HGuide, fsp->Law(HGuide));
|
||||
BRepBlend_CurvPointRadInv finvp1(HGuide, HC2);
|
||||
@@ -1181,10 +1181,10 @@ void ChFi3d_FilBuilder::SimulSurf(Handle(ChFiDS_SurfData)& Data,
|
||||
|
||||
Standard_Boolean ChFi3d_FilBuilder::PerformFirstSection
|
||||
(const Handle(ChFiDS_Spine)& Spine,
|
||||
const Handle(ChFiDS_HElSpine)& HGuide,
|
||||
const Handle(ChFiDS_ElSpine)& HGuide,
|
||||
const Standard_Integer Choix,
|
||||
Handle(BRepAdaptor_HSurface)& S1,
|
||||
Handle(BRepAdaptor_HSurface)& S2,
|
||||
Handle(BRepAdaptor_Surface)& S1,
|
||||
Handle(BRepAdaptor_Surface)& S2,
|
||||
const Handle(Adaptor3d_TopolTool)& I1,
|
||||
const Handle(Adaptor3d_TopolTool)& I2,
|
||||
const Standard_Real Par,
|
||||
@@ -1220,12 +1220,12 @@ Standard_Boolean ChFi3d_FilBuilder::PerformFirstSection
|
||||
|
||||
Standard_Boolean
|
||||
ChFi3d_FilBuilder::PerformSurf(ChFiDS_SequenceOfSurfData& SeqData,
|
||||
const Handle(ChFiDS_HElSpine)& HGuide,
|
||||
const Handle(ChFiDS_ElSpine)& HGuide,
|
||||
const Handle(ChFiDS_Spine)& Spine,
|
||||
const Standard_Integer Choix,
|
||||
const Handle(BRepAdaptor_HSurface)& S1,
|
||||
const Handle(BRepAdaptor_Surface)& S1,
|
||||
const Handle(Adaptor3d_TopolTool)& I1,
|
||||
const Handle(BRepAdaptor_HSurface)& S2,
|
||||
const Handle(BRepAdaptor_Surface)& S2,
|
||||
const Handle(Adaptor3d_TopolTool)& I2,
|
||||
const Standard_Real MaxStep,
|
||||
const Standard_Real Fleche,
|
||||
@@ -1249,7 +1249,7 @@ ChFi3d_FilBuilder::PerformSurf(ChFiDS_SequenceOfSurfData& SeqData,
|
||||
if(fsp.IsNull()) throw Standard_ConstructionError("PerformSurf : this is not the spine of a fillet");
|
||||
Standard_Boolean gd1,gd2,gf1,gf2, maybesingular;
|
||||
Handle(BRepBlend_Line) lin;
|
||||
TopAbs_Orientation Or = S1->ChangeSurface().Face().Orientation();
|
||||
TopAbs_Orientation Or = S1->Face().Orientation();
|
||||
Standard_Real PFirst = First;
|
||||
if(intf) First = fsp->FirstParameter(1);
|
||||
if(intl) Last = fsp->LastParameter(fsp->NbEdges());
|
||||
@@ -1332,16 +1332,16 @@ ChFi3d_FilBuilder::PerformSurf(ChFiDS_SequenceOfSurfData& SeqData,
|
||||
//=======================================================================
|
||||
|
||||
void ChFi3d_FilBuilder::PerformSurf(ChFiDS_SequenceOfSurfData& SeqData,
|
||||
const Handle(ChFiDS_HElSpine)& HGuide,
|
||||
const Handle(ChFiDS_ElSpine)& HGuide,
|
||||
const Handle(ChFiDS_Spine)& Spine,
|
||||
const Standard_Integer Choix,
|
||||
const Handle(BRepAdaptor_HSurface)& HS1,
|
||||
const Handle(BRepAdaptor_Surface)& HS1,
|
||||
const Handle(Adaptor3d_TopolTool)& I1,
|
||||
const Handle(BRepAdaptor_HCurve2d)& PC1,
|
||||
const Handle(BRepAdaptor_HSurface)& HSref1,
|
||||
const Handle(BRepAdaptor_HCurve2d)& PCref1,
|
||||
const Handle(BRepAdaptor_Curve2d)& PC1,
|
||||
const Handle(BRepAdaptor_Surface)& HSref1,
|
||||
const Handle(BRepAdaptor_Curve2d)& PCref1,
|
||||
Standard_Boolean& Decroch1,
|
||||
const Handle(BRepAdaptor_HSurface)& HS2,
|
||||
const Handle(BRepAdaptor_Surface)& HS2,
|
||||
const Handle(Adaptor3d_TopolTool)& I2,
|
||||
const TopAbs_Orientation Or2,
|
||||
const Standard_Real MaxStep,
|
||||
@@ -1367,8 +1367,8 @@ void ChFi3d_FilBuilder::PerformSurf(ChFiDS_SequenceOfSurfData& SeqData
|
||||
if(fsp->IsConstant()){
|
||||
BRepBlend_SurfRstConstRad func(HS2,HS1,PC1,HGuide);
|
||||
func.Set(HSref1,PCref1);
|
||||
Handle(Adaptor3d_HCurveOnSurface) HC = new Adaptor3d_HCurveOnSurface();
|
||||
HC->ChangeCurve().Load(PC1, HS1);
|
||||
Handle(Adaptor3d_CurveOnSurface) HC = new Adaptor3d_CurveOnSurface();
|
||||
HC->Load(PC1, HS1);
|
||||
BRepBlend_SurfCurvConstRadInv finvc(HS2,HC,HGuide);
|
||||
BRepBlend_SurfPointConstRadInv finvp(HS2,HGuide);
|
||||
BRepBlend_ConstRadInv finv(HS2,HSref1,HGuide);
|
||||
@@ -1392,7 +1392,7 @@ void ChFi3d_FilBuilder::PerformSurf(ChFiDS_SequenceOfSurfData& SeqData
|
||||
Spine->SetErrorStatus(ChFiDS_WalkingFailure);
|
||||
throw Standard_Failure("PerformSurf : Failed processing!");
|
||||
}
|
||||
TopAbs_Orientation Or = HS2->ChangeSurface().Face().Orientation();
|
||||
TopAbs_Orientation Or = HS2->Face().Orientation();
|
||||
done = CompleteData(Data,func,lin,HS1,HS2,Or,1);
|
||||
if(!done) throw Standard_Failure("PerformSurf : Failed approximation!");
|
||||
maybesingular = (func.GetMinimalDistance()<=100*tolapp3d);
|
||||
@@ -1400,8 +1400,8 @@ void ChFi3d_FilBuilder::PerformSurf(ChFiDS_SequenceOfSurfData& SeqData
|
||||
else {
|
||||
BRepBlend_SurfRstEvolRad func(HS2,HS1,PC1,HGuide,fsp->Law(HGuide));
|
||||
func.Set(HSref1,PCref1);
|
||||
Handle(Adaptor3d_HCurveOnSurface) HC = new Adaptor3d_HCurveOnSurface();
|
||||
HC->ChangeCurve().Load(PC1, HS1);
|
||||
Handle(Adaptor3d_CurveOnSurface) HC = new Adaptor3d_CurveOnSurface();
|
||||
HC->Load(PC1, HS1);
|
||||
BRepBlend_SurfCurvEvolRadInv finvc(HS2,HC,HGuide,fsp->Law(HGuide));
|
||||
BRepBlend_SurfPointEvolRadInv finvp(HS2,HGuide,fsp->Law(HGuide));
|
||||
BRepBlend_EvolRadInv finv(HS2,HSref1,HGuide,fsp->Law(HGuide));
|
||||
@@ -1422,7 +1422,7 @@ void ChFi3d_FilBuilder::PerformSurf(ChFiDS_SequenceOfSurfData& SeqData
|
||||
Spine->SetErrorStatus(ChFiDS_WalkingFailure);
|
||||
throw Standard_Failure("PerformSurf : Failed processing!");
|
||||
}
|
||||
TopAbs_Orientation Or = HS2->ChangeSurface().Face().Orientation();
|
||||
TopAbs_Orientation Or = HS2->Face().Orientation();
|
||||
done = CompleteData(Data,func,lin,HS1,HS2,Or,1);
|
||||
if(!done) throw Standard_Failure("PerformSurf : Failed approximation!");
|
||||
maybesingular = (func.GetMinimalDistance()<=100*tolapp3d);
|
||||
@@ -1436,17 +1436,17 @@ void ChFi3d_FilBuilder::PerformSurf(ChFiDS_SequenceOfSurfData& SeqData
|
||||
//=======================================================================
|
||||
|
||||
void ChFi3d_FilBuilder::PerformSurf(ChFiDS_SequenceOfSurfData& SeqData,
|
||||
const Handle(ChFiDS_HElSpine)& HGuide,
|
||||
const Handle(ChFiDS_ElSpine)& HGuide,
|
||||
const Handle(ChFiDS_Spine)& Spine,
|
||||
const Standard_Integer Choix,
|
||||
const Handle(BRepAdaptor_HSurface)& HS1,
|
||||
const Handle(BRepAdaptor_Surface)& HS1,
|
||||
const Handle(Adaptor3d_TopolTool)& I1,
|
||||
const TopAbs_Orientation Or1,
|
||||
const Handle(BRepAdaptor_HSurface)& HS2,
|
||||
const Handle(BRepAdaptor_Surface)& HS2,
|
||||
const Handle(Adaptor3d_TopolTool)& I2,
|
||||
const Handle(BRepAdaptor_HCurve2d)& PC2,
|
||||
const Handle(BRepAdaptor_HSurface)& HSref2,
|
||||
const Handle(BRepAdaptor_HCurve2d)& PCref2,
|
||||
const Handle(BRepAdaptor_Curve2d)& PC2,
|
||||
const Handle(BRepAdaptor_Surface)& HSref2,
|
||||
const Handle(BRepAdaptor_Curve2d)& PCref2,
|
||||
Standard_Boolean& Decroch2,
|
||||
const Standard_Real MaxStep,
|
||||
const Standard_Real Fleche,
|
||||
@@ -1471,8 +1471,8 @@ void ChFi3d_FilBuilder::PerformSurf(ChFiDS_SequenceOfSurfData& SeqData
|
||||
if(fsp->IsConstant()){
|
||||
BRepBlend_SurfRstConstRad func(HS1,HS2,PC2,HGuide);
|
||||
func.Set(HSref2,PCref2);
|
||||
Handle(Adaptor3d_HCurveOnSurface) HC = new Adaptor3d_HCurveOnSurface();
|
||||
HC->ChangeCurve().Load(PC2, HS2);
|
||||
Handle(Adaptor3d_CurveOnSurface) HC = new Adaptor3d_CurveOnSurface();
|
||||
HC->Load(PC2, HS2);
|
||||
BRepBlend_SurfCurvConstRadInv finvc(HS1,HC,HGuide);
|
||||
BRepBlend_SurfPointConstRadInv finvp(HS1,HGuide);
|
||||
BRepBlend_ConstRadInv finv(HS1,HSref2,HGuide);
|
||||
@@ -1496,7 +1496,7 @@ void ChFi3d_FilBuilder::PerformSurf(ChFiDS_SequenceOfSurfData& SeqData
|
||||
Spine->SetErrorStatus(ChFiDS_WalkingFailure);
|
||||
throw Standard_Failure("PerformSurf : Failed processing!");
|
||||
}
|
||||
TopAbs_Orientation Or = HS1->ChangeSurface().Face().Orientation();
|
||||
TopAbs_Orientation Or = HS1->Face().Orientation();
|
||||
done = CompleteData(Data,func,lin,HS1,HS2,Or,0);
|
||||
if(!done) throw Standard_Failure("PerformSurf : Failed approximation!");
|
||||
maybesingular = (func.GetMinimalDistance()<=100*tolapp3d);
|
||||
@@ -1504,8 +1504,8 @@ void ChFi3d_FilBuilder::PerformSurf(ChFiDS_SequenceOfSurfData& SeqData
|
||||
else {
|
||||
BRepBlend_SurfRstEvolRad func(HS1,HS2,PC2,HGuide,fsp->Law(HGuide));
|
||||
func.Set(HSref2,PCref2);
|
||||
Handle(Adaptor3d_HCurveOnSurface) HC = new Adaptor3d_HCurveOnSurface();
|
||||
HC->ChangeCurve().Load(PC2, HS2);
|
||||
Handle(Adaptor3d_CurveOnSurface) HC = new Adaptor3d_CurveOnSurface();
|
||||
HC->Load(PC2, HS2);
|
||||
BRepBlend_SurfCurvEvolRadInv finvc(HS1,HC,HGuide,fsp->Law(HGuide));
|
||||
BRepBlend_SurfPointEvolRadInv finvp(HS1,HGuide,fsp->Law(HGuide));
|
||||
BRepBlend_EvolRadInv finv(HS1,HSref2,HGuide,fsp->Law(HGuide));
|
||||
@@ -1527,7 +1527,7 @@ void ChFi3d_FilBuilder::PerformSurf(ChFiDS_SequenceOfSurfData& SeqData
|
||||
Spine->SetErrorStatus(ChFiDS_WalkingFailure);
|
||||
throw Standard_Failure("PerformSurf : Failed processing!");
|
||||
}
|
||||
TopAbs_Orientation Or = HS1->ChangeSurface().Face().Orientation();
|
||||
TopAbs_Orientation Or = HS1->Face().Orientation();
|
||||
done = CompleteData(Data,func,lin,HS1,HS2,Or,0);
|
||||
if(!done) throw Standard_Failure("PerformSurf : Failed approximation!");
|
||||
maybesingular = (func.GetMinimalDistance()<=100*tolapp3d);
|
||||
@@ -1546,21 +1546,21 @@ void ChFi3d_FilBuilder::PerformSurf(ChFiDS_SequenceOfSurfData& SeqData
|
||||
//=======================================================================
|
||||
|
||||
void ChFi3d_FilBuilder::PerformSurf(ChFiDS_SequenceOfSurfData& SeqData,
|
||||
const Handle(ChFiDS_HElSpine)& HGuide,
|
||||
const Handle(ChFiDS_ElSpine)& HGuide,
|
||||
const Handle(ChFiDS_Spine)& Spine,
|
||||
const Standard_Integer Choix,
|
||||
const Handle(BRepAdaptor_HSurface)& HS1,
|
||||
const Handle(BRepAdaptor_Surface)& HS1,
|
||||
const Handle(Adaptor3d_TopolTool)& I1,
|
||||
const Handle(BRepAdaptor_HCurve2d)& PC1,
|
||||
const Handle(BRepAdaptor_HSurface)& HSref1,
|
||||
const Handle(BRepAdaptor_HCurve2d)& PCref1,
|
||||
const Handle(BRepAdaptor_Curve2d)& PC1,
|
||||
const Handle(BRepAdaptor_Surface)& HSref1,
|
||||
const Handle(BRepAdaptor_Curve2d)& PCref1,
|
||||
Standard_Boolean& Decroch1,
|
||||
const TopAbs_Orientation Or1,
|
||||
const Handle(BRepAdaptor_HSurface)& HS2,
|
||||
const Handle(BRepAdaptor_Surface)& HS2,
|
||||
const Handle(Adaptor3d_TopolTool)& I2,
|
||||
const Handle(BRepAdaptor_HCurve2d)& PC2,
|
||||
const Handle(BRepAdaptor_HSurface)& HSref2,
|
||||
const Handle(BRepAdaptor_HCurve2d)& PCref2,
|
||||
const Handle(BRepAdaptor_Curve2d)& PC2,
|
||||
const Handle(BRepAdaptor_Surface)& HSref2,
|
||||
const Handle(BRepAdaptor_Curve2d)& PCref2,
|
||||
Standard_Boolean& Decroch2,
|
||||
const TopAbs_Orientation Or2,
|
||||
const Standard_Real MaxStep,
|
||||
@@ -1587,10 +1587,10 @@ void ChFi3d_FilBuilder::PerformSurf(ChFiDS_SequenceOfSurfData& SeqData
|
||||
if(fsp->IsConstant()){
|
||||
BRepBlend_RstRstConstRad func(HS1, PC1, HS2, PC2, HGuide);
|
||||
func.Set(HSref1, PCref1, HSref2, PCref2);
|
||||
Handle(Adaptor3d_HCurveOnSurface) HC1 = new Adaptor3d_HCurveOnSurface();
|
||||
HC1->ChangeCurve().Load(PC1, HS1);
|
||||
Handle(Adaptor3d_HCurveOnSurface) HC2 = new Adaptor3d_HCurveOnSurface();
|
||||
HC2->ChangeCurve().Load(PC2, HS2);
|
||||
Handle(Adaptor3d_CurveOnSurface) HC1 = new Adaptor3d_CurveOnSurface();
|
||||
HC1->Load(PC1, HS1);
|
||||
Handle(Adaptor3d_CurveOnSurface) HC2 = new Adaptor3d_CurveOnSurface();
|
||||
HC2->Load(PC2, HS2);
|
||||
BRepBlend_SurfCurvConstRadInv finv1(HSref1, HC2, HGuide);
|
||||
BRepBlend_CurvPointRadInv finvp1(HGuide, HC2);
|
||||
BRepBlend_SurfCurvConstRadInv finv2(HSref2, HC1, HGuide);
|
||||
@@ -1619,7 +1619,7 @@ void ChFi3d_FilBuilder::PerformSurf(ChFiDS_SequenceOfSurfData& SeqData
|
||||
Spine->SetErrorStatus(ChFiDS_WalkingFailure);
|
||||
throw Standard_Failure("PerformSurf : Failed processing!");
|
||||
}
|
||||
TopAbs_Orientation Or = HS1->ChangeSurface().Face().Orientation();
|
||||
TopAbs_Orientation Or = HS1->Face().Orientation();
|
||||
done = CompleteData(Data, func, lin, HS1, HS2, Or);
|
||||
if(!done) throw Standard_Failure("PerformSurf : Failed approximation!");
|
||||
maybesingular = (func.GetMinimalDistance()<=100*tolapp3d);
|
||||
@@ -1627,10 +1627,10 @@ void ChFi3d_FilBuilder::PerformSurf(ChFiDS_SequenceOfSurfData& SeqData
|
||||
else {
|
||||
BRepBlend_RstRstEvolRad func(HS1,PC1, HS2, PC2, HGuide, fsp->Law(HGuide));
|
||||
func.Set(HSref1, PCref1, HSref2, PCref2);
|
||||
Handle(Adaptor3d_HCurveOnSurface) HC1 = new Adaptor3d_HCurveOnSurface();
|
||||
HC1->ChangeCurve().Load(PC1, HS1);
|
||||
Handle(Adaptor3d_HCurveOnSurface) HC2 = new Adaptor3d_HCurveOnSurface();
|
||||
HC2->ChangeCurve().Load(PC2, HS2);
|
||||
Handle(Adaptor3d_CurveOnSurface) HC1 = new Adaptor3d_CurveOnSurface();
|
||||
HC1->Load(PC1, HS1);
|
||||
Handle(Adaptor3d_CurveOnSurface) HC2 = new Adaptor3d_CurveOnSurface();
|
||||
HC2->Load(PC2, HS2);
|
||||
|
||||
BRepBlend_SurfCurvEvolRadInv finv1(HSref1, HC2, HGuide, fsp->Law(HGuide));
|
||||
BRepBlend_CurvPointRadInv finvp1(HGuide, HC2);
|
||||
@@ -1662,7 +1662,7 @@ void ChFi3d_FilBuilder::PerformSurf(ChFiDS_SequenceOfSurfData& SeqData
|
||||
Spine->SetErrorStatus(ChFiDS_WalkingFailure);
|
||||
throw Standard_Failure("PerformSurf : Failed processing!");
|
||||
}
|
||||
TopAbs_Orientation Or = HS1->ChangeSurface().Face().Orientation();
|
||||
TopAbs_Orientation Or = HS1->Face().Orientation();
|
||||
done = CompleteData(Data, func, lin, HS1, HS2, Or);
|
||||
if(!done) throw Standard_Failure("PerformSurf : Failed approximation!");
|
||||
maybesingular = (func.GetMinimalDistance()<=100*tolapp3d);
|
||||
|
@@ -17,36 +17,29 @@
|
||||
#ifndef _ChFi3d_FilBuilder_HeaderFile
|
||||
#define _ChFi3d_FilBuilder_HeaderFile
|
||||
|
||||
#include <Standard.hxx>
|
||||
#include <Standard_DefineAlloc.hxx>
|
||||
#include <Standard_Handle.hxx>
|
||||
|
||||
#include <BRepAdaptor_Curve2d.hxx>
|
||||
#include <BRepAdaptor_Surface.hxx>
|
||||
#include <BlendFunc_SectionShape.hxx>
|
||||
#include <ChFi3d_Builder.hxx>
|
||||
#include <ChFi3d_FilletShape.hxx>
|
||||
#include <Standard_Real.hxx>
|
||||
#include <Standard_Integer.hxx>
|
||||
#include <Standard_Boolean.hxx>
|
||||
#include <ChFiDS_ListOfStripe.hxx>
|
||||
#include <ChFiDS_ElSpine.hxx>
|
||||
#include <ChFiDS_SecHArray1.hxx>
|
||||
#include <ChFiDS_SequenceOfSurfData.hxx>
|
||||
#include <math_Vector.hxx>
|
||||
#include <TopAbs_Orientation.hxx>
|
||||
#include <TopAbs_State.hxx>
|
||||
#include <ChFiDS_SequenceOfSurfData.hxx>
|
||||
#include <ChFiDS_ListOfStripe.hxx>
|
||||
class TopoDS_Shape;
|
||||
class TopoDS_Edge;
|
||||
class Law_Function;
|
||||
class TopoDS_Vertex;
|
||||
|
||||
class Adaptor3d_TopolTool;
|
||||
class BRepBlend_Line;
|
||||
class gp_XY;
|
||||
class ChFiDS_SurfData;
|
||||
class ChFiDS_HElSpine;
|
||||
class ChFiDS_Spine;
|
||||
class BRepAdaptor_HSurface;
|
||||
class Adaptor3d_TopolTool;
|
||||
class BRepAdaptor_HCurve2d;
|
||||
class BRepBlend_Line;
|
||||
class ChFiDS_Stripe;
|
||||
|
||||
class Law_Function;
|
||||
class TopoDS_Edge;
|
||||
class TopoDS_Shape;
|
||||
class TopoDS_Vertex;
|
||||
|
||||
//! Tool of construction of fillets 3d on edges (on a solid).
|
||||
class ChFi3d_FilBuilder : public ChFi3d_Builder
|
||||
@@ -136,25 +129,25 @@ protected:
|
||||
|
||||
Standard_EXPORT void SimulKPart (const Handle(ChFiDS_SurfData)& SD) const Standard_OVERRIDE;
|
||||
|
||||
Standard_EXPORT Standard_Boolean SimulSurf (Handle(ChFiDS_SurfData)& Data, const Handle(ChFiDS_HElSpine)& Guide, const Handle(ChFiDS_Spine)& Spine, const Standard_Integer Choix, const Handle(BRepAdaptor_HSurface)& S1, const Handle(Adaptor3d_TopolTool)& I1, const Handle(BRepAdaptor_HSurface)& S2, const Handle(Adaptor3d_TopolTool)& I2, const Standard_Real TolGuide, Standard_Real& First, Standard_Real& Last, const Standard_Boolean Inside, const Standard_Boolean Appro, const Standard_Boolean Forward, const Standard_Boolean RecOnS1, const Standard_Boolean RecOnS2, const math_Vector& Soldep, Standard_Integer& Intf, Standard_Integer& Intl) Standard_OVERRIDE;
|
||||
Standard_EXPORT Standard_Boolean SimulSurf (Handle(ChFiDS_SurfData)& Data, const Handle(ChFiDS_ElSpine)& Guide, const Handle(ChFiDS_Spine)& Spine, const Standard_Integer Choix, const Handle(BRepAdaptor_Surface)& S1, const Handle(Adaptor3d_TopolTool)& I1, const Handle(BRepAdaptor_Surface)& S2, const Handle(Adaptor3d_TopolTool)& I2, const Standard_Real TolGuide, Standard_Real& First, Standard_Real& Last, const Standard_Boolean Inside, const Standard_Boolean Appro, const Standard_Boolean Forward, const Standard_Boolean RecOnS1, const Standard_Boolean RecOnS2, const math_Vector& Soldep, Standard_Integer& Intf, Standard_Integer& Intl) Standard_OVERRIDE;
|
||||
|
||||
Standard_EXPORT virtual void SimulSurf (Handle(ChFiDS_SurfData)& Data, const Handle(ChFiDS_HElSpine)& Guide, const Handle(ChFiDS_Spine)& Spine, const Standard_Integer Choix, const Handle(BRepAdaptor_HSurface)& S1, const Handle(Adaptor3d_TopolTool)& I1, const Handle(BRepAdaptor_HCurve2d)& PC1, const Handle(BRepAdaptor_HSurface)& Sref1, const Handle(BRepAdaptor_HCurve2d)& PCref1, Standard_Boolean& Decroch1, const Handle(BRepAdaptor_HSurface)& S2, const Handle(Adaptor3d_TopolTool)& I2, const TopAbs_Orientation Or2, const Standard_Real Fleche, const Standard_Real TolGuide, Standard_Real& First, Standard_Real& Last, const Standard_Boolean Inside, const Standard_Boolean Appro, const Standard_Boolean Forward, const Standard_Boolean RecP, const Standard_Boolean RecS, const Standard_Boolean RecRst, const math_Vector& Soldep) Standard_OVERRIDE;
|
||||
Standard_EXPORT virtual void SimulSurf (Handle(ChFiDS_SurfData)& Data, const Handle(ChFiDS_ElSpine)& Guide, const Handle(ChFiDS_Spine)& Spine, const Standard_Integer Choix, const Handle(BRepAdaptor_Surface)& S1, const Handle(Adaptor3d_TopolTool)& I1, const Handle(BRepAdaptor_Curve2d)& PC1, const Handle(BRepAdaptor_Surface)& Sref1, const Handle(BRepAdaptor_Curve2d)& PCref1, Standard_Boolean& Decroch1, const Handle(BRepAdaptor_Surface)& S2, const Handle(Adaptor3d_TopolTool)& I2, const TopAbs_Orientation Or2, const Standard_Real Fleche, const Standard_Real TolGuide, Standard_Real& First, Standard_Real& Last, const Standard_Boolean Inside, const Standard_Boolean Appro, const Standard_Boolean Forward, const Standard_Boolean RecP, const Standard_Boolean RecS, const Standard_Boolean RecRst, const math_Vector& Soldep) Standard_OVERRIDE;
|
||||
|
||||
Standard_EXPORT virtual void SimulSurf (Handle(ChFiDS_SurfData)& Data, const Handle(ChFiDS_HElSpine)& Guide, const Handle(ChFiDS_Spine)& Spine, const Standard_Integer Choix, const Handle(BRepAdaptor_HSurface)& S1, const Handle(Adaptor3d_TopolTool)& I1, const TopAbs_Orientation Or1, const Handle(BRepAdaptor_HSurface)& S2, const Handle(Adaptor3d_TopolTool)& I2, const Handle(BRepAdaptor_HCurve2d)& PC2, const Handle(BRepAdaptor_HSurface)& Sref2, const Handle(BRepAdaptor_HCurve2d)& PCref2, Standard_Boolean& Decroch2, const Standard_Real Fleche, const Standard_Real TolGuide, Standard_Real& First, Standard_Real& Last, const Standard_Boolean Inside, const Standard_Boolean Appro, const Standard_Boolean Forward, const Standard_Boolean RecP, const Standard_Boolean RecS, const Standard_Boolean RecRst, const math_Vector& Soldep) Standard_OVERRIDE;
|
||||
Standard_EXPORT virtual void SimulSurf (Handle(ChFiDS_SurfData)& Data, const Handle(ChFiDS_ElSpine)& Guide, const Handle(ChFiDS_Spine)& Spine, const Standard_Integer Choix, const Handle(BRepAdaptor_Surface)& S1, const Handle(Adaptor3d_TopolTool)& I1, const TopAbs_Orientation Or1, const Handle(BRepAdaptor_Surface)& S2, const Handle(Adaptor3d_TopolTool)& I2, const Handle(BRepAdaptor_Curve2d)& PC2, const Handle(BRepAdaptor_Surface)& Sref2, const Handle(BRepAdaptor_Curve2d)& PCref2, Standard_Boolean& Decroch2, const Standard_Real Fleche, const Standard_Real TolGuide, Standard_Real& First, Standard_Real& Last, const Standard_Boolean Inside, const Standard_Boolean Appro, const Standard_Boolean Forward, const Standard_Boolean RecP, const Standard_Boolean RecS, const Standard_Boolean RecRst, const math_Vector& Soldep) Standard_OVERRIDE;
|
||||
|
||||
Standard_EXPORT virtual void SimulSurf (Handle(ChFiDS_SurfData)& Data, const Handle(ChFiDS_HElSpine)& Guide, const Handle(ChFiDS_Spine)& Spine, const Standard_Integer Choix, const Handle(BRepAdaptor_HSurface)& S1, const Handle(Adaptor3d_TopolTool)& I1, const Handle(BRepAdaptor_HCurve2d)& PC1, const Handle(BRepAdaptor_HSurface)& Sref1, const Handle(BRepAdaptor_HCurve2d)& PCref1, Standard_Boolean& Decroch1, const TopAbs_Orientation Or1, const Handle(BRepAdaptor_HSurface)& S2, const Handle(Adaptor3d_TopolTool)& I2, const Handle(BRepAdaptor_HCurve2d)& PC2, const Handle(BRepAdaptor_HSurface)& Sref2, const Handle(BRepAdaptor_HCurve2d)& PCref2, Standard_Boolean& Decroch2, const TopAbs_Orientation Or2, const Standard_Real Fleche, const Standard_Real TolGuide, Standard_Real& First, Standard_Real& Last, const Standard_Boolean Inside, const Standard_Boolean Appro, const Standard_Boolean Forward, const Standard_Boolean RecP1, const Standard_Boolean RecRst1, const Standard_Boolean RecP2, const Standard_Boolean RecRst2, const math_Vector& Soldep) Standard_OVERRIDE;
|
||||
Standard_EXPORT virtual void SimulSurf (Handle(ChFiDS_SurfData)& Data, const Handle(ChFiDS_ElSpine)& Guide, const Handle(ChFiDS_Spine)& Spine, const Standard_Integer Choix, const Handle(BRepAdaptor_Surface)& S1, const Handle(Adaptor3d_TopolTool)& I1, const Handle(BRepAdaptor_Curve2d)& PC1, const Handle(BRepAdaptor_Surface)& Sref1, const Handle(BRepAdaptor_Curve2d)& PCref1, Standard_Boolean& Decroch1, const TopAbs_Orientation Or1, const Handle(BRepAdaptor_Surface)& S2, const Handle(Adaptor3d_TopolTool)& I2, const Handle(BRepAdaptor_Curve2d)& PC2, const Handle(BRepAdaptor_Surface)& Sref2, const Handle(BRepAdaptor_Curve2d)& PCref2, Standard_Boolean& Decroch2, const TopAbs_Orientation Or2, const Standard_Real Fleche, const Standard_Real TolGuide, Standard_Real& First, Standard_Real& Last, const Standard_Boolean Inside, const Standard_Boolean Appro, const Standard_Boolean Forward, const Standard_Boolean RecP1, const Standard_Boolean RecRst1, const Standard_Boolean RecP2, const Standard_Boolean RecRst2, const math_Vector& Soldep) Standard_OVERRIDE;
|
||||
|
||||
Standard_EXPORT Standard_Boolean PerformFirstSection (const Handle(ChFiDS_Spine)& S, const Handle(ChFiDS_HElSpine)& HGuide, const Standard_Integer Choix, Handle(BRepAdaptor_HSurface)& S1, Handle(BRepAdaptor_HSurface)& S2, const Handle(Adaptor3d_TopolTool)& I1, const Handle(Adaptor3d_TopolTool)& I2, const Standard_Real Par, math_Vector& SolDep, TopAbs_State& Pos1, TopAbs_State& Pos2) const Standard_OVERRIDE;
|
||||
Standard_EXPORT Standard_Boolean PerformFirstSection (const Handle(ChFiDS_Spine)& S, const Handle(ChFiDS_ElSpine)& HGuide, const Standard_Integer Choix, Handle(BRepAdaptor_Surface)& S1, Handle(BRepAdaptor_Surface)& S2, const Handle(Adaptor3d_TopolTool)& I1, const Handle(Adaptor3d_TopolTool)& I2, const Standard_Real Par, math_Vector& SolDep, TopAbs_State& Pos1, TopAbs_State& Pos2) const Standard_OVERRIDE;
|
||||
|
||||
//! Method calculates the elements of construction of the
|
||||
//! fillet (constant or evolutive).
|
||||
Standard_EXPORT Standard_Boolean PerformSurf (ChFiDS_SequenceOfSurfData& SeqData, const Handle(ChFiDS_HElSpine)& Guide, const Handle(ChFiDS_Spine)& Spine, const Standard_Integer Choix, const Handle(BRepAdaptor_HSurface)& S1, const Handle(Adaptor3d_TopolTool)& I1, const Handle(BRepAdaptor_HSurface)& S2, const Handle(Adaptor3d_TopolTool)& I2, const Standard_Real MaxStep, const Standard_Real Fleche, const Standard_Real TolGuide, Standard_Real& First, Standard_Real& Last, const Standard_Boolean Inside, const Standard_Boolean Appro, const Standard_Boolean Forward, const Standard_Boolean RecOnS1, const Standard_Boolean RecOnS2, const math_Vector& Soldep, Standard_Integer& Intf, Standard_Integer& Intl) Standard_OVERRIDE;
|
||||
Standard_EXPORT Standard_Boolean PerformSurf (ChFiDS_SequenceOfSurfData& SeqData, const Handle(ChFiDS_ElSpine)& Guide, const Handle(ChFiDS_Spine)& Spine, const Standard_Integer Choix, const Handle(BRepAdaptor_Surface)& S1, const Handle(Adaptor3d_TopolTool)& I1, const Handle(BRepAdaptor_Surface)& S2, const Handle(Adaptor3d_TopolTool)& I2, const Standard_Real MaxStep, const Standard_Real Fleche, const Standard_Real TolGuide, Standard_Real& First, Standard_Real& Last, const Standard_Boolean Inside, const Standard_Boolean Appro, const Standard_Boolean Forward, const Standard_Boolean RecOnS1, const Standard_Boolean RecOnS2, const math_Vector& Soldep, Standard_Integer& Intf, Standard_Integer& Intl) Standard_OVERRIDE;
|
||||
|
||||
Standard_EXPORT virtual void PerformSurf (ChFiDS_SequenceOfSurfData& SeqData, const Handle(ChFiDS_HElSpine)& Guide, const Handle(ChFiDS_Spine)& Spine, const Standard_Integer Choix, const Handle(BRepAdaptor_HSurface)& S1, const Handle(Adaptor3d_TopolTool)& I1, const Handle(BRepAdaptor_HCurve2d)& PC1, const Handle(BRepAdaptor_HSurface)& Sref1, const Handle(BRepAdaptor_HCurve2d)& PCref1, Standard_Boolean& Decroch1, const Handle(BRepAdaptor_HSurface)& S2, const Handle(Adaptor3d_TopolTool)& I2, const TopAbs_Orientation Or2, const Standard_Real MaxStep, const Standard_Real Fleche, const Standard_Real TolGuide, Standard_Real& First, Standard_Real& Last, const Standard_Boolean Inside, const Standard_Boolean Appro, const Standard_Boolean Forward, const Standard_Boolean RecP, const Standard_Boolean RecS, const Standard_Boolean RecRst, const math_Vector& Soldep) Standard_OVERRIDE;
|
||||
Standard_EXPORT virtual void PerformSurf (ChFiDS_SequenceOfSurfData& SeqData, const Handle(ChFiDS_ElSpine)& Guide, const Handle(ChFiDS_Spine)& Spine, const Standard_Integer Choix, const Handle(BRepAdaptor_Surface)& S1, const Handle(Adaptor3d_TopolTool)& I1, const Handle(BRepAdaptor_Curve2d)& PC1, const Handle(BRepAdaptor_Surface)& Sref1, const Handle(BRepAdaptor_Curve2d)& PCref1, Standard_Boolean& Decroch1, const Handle(BRepAdaptor_Surface)& S2, const Handle(Adaptor3d_TopolTool)& I2, const TopAbs_Orientation Or2, const Standard_Real MaxStep, const Standard_Real Fleche, const Standard_Real TolGuide, Standard_Real& First, Standard_Real& Last, const Standard_Boolean Inside, const Standard_Boolean Appro, const Standard_Boolean Forward, const Standard_Boolean RecP, const Standard_Boolean RecS, const Standard_Boolean RecRst, const math_Vector& Soldep) Standard_OVERRIDE;
|
||||
|
||||
Standard_EXPORT virtual void PerformSurf (ChFiDS_SequenceOfSurfData& SeqData, const Handle(ChFiDS_HElSpine)& Guide, const Handle(ChFiDS_Spine)& Spine, const Standard_Integer Choix, const Handle(BRepAdaptor_HSurface)& S1, const Handle(Adaptor3d_TopolTool)& I1, const TopAbs_Orientation Or1, const Handle(BRepAdaptor_HSurface)& S2, const Handle(Adaptor3d_TopolTool)& I2, const Handle(BRepAdaptor_HCurve2d)& PC2, const Handle(BRepAdaptor_HSurface)& Sref2, const Handle(BRepAdaptor_HCurve2d)& PCref2, Standard_Boolean& Decroch2, const Standard_Real MaxStep, const Standard_Real Fleche, const Standard_Real TolGuide, Standard_Real& First, Standard_Real& Last, const Standard_Boolean Inside, const Standard_Boolean Appro, const Standard_Boolean Forward, const Standard_Boolean RecP, const Standard_Boolean RecS, const Standard_Boolean RecRst, const math_Vector& Soldep) Standard_OVERRIDE;
|
||||
Standard_EXPORT virtual void PerformSurf (ChFiDS_SequenceOfSurfData& SeqData, const Handle(ChFiDS_ElSpine)& Guide, const Handle(ChFiDS_Spine)& Spine, const Standard_Integer Choix, const Handle(BRepAdaptor_Surface)& S1, const Handle(Adaptor3d_TopolTool)& I1, const TopAbs_Orientation Or1, const Handle(BRepAdaptor_Surface)& S2, const Handle(Adaptor3d_TopolTool)& I2, const Handle(BRepAdaptor_Curve2d)& PC2, const Handle(BRepAdaptor_Surface)& Sref2, const Handle(BRepAdaptor_Curve2d)& PCref2, Standard_Boolean& Decroch2, const Standard_Real MaxStep, const Standard_Real Fleche, const Standard_Real TolGuide, Standard_Real& First, Standard_Real& Last, const Standard_Boolean Inside, const Standard_Boolean Appro, const Standard_Boolean Forward, const Standard_Boolean RecP, const Standard_Boolean RecS, const Standard_Boolean RecRst, const math_Vector& Soldep) Standard_OVERRIDE;
|
||||
|
||||
Standard_EXPORT virtual void PerformSurf (ChFiDS_SequenceOfSurfData& Data, const Handle(ChFiDS_HElSpine)& Guide, const Handle(ChFiDS_Spine)& Spine, const Standard_Integer Choix, const Handle(BRepAdaptor_HSurface)& S1, const Handle(Adaptor3d_TopolTool)& I1, const Handle(BRepAdaptor_HCurve2d)& PC1, const Handle(BRepAdaptor_HSurface)& Sref1, const Handle(BRepAdaptor_HCurve2d)& PCref1, Standard_Boolean& Decroch1, const TopAbs_Orientation Or1, const Handle(BRepAdaptor_HSurface)& S2, const Handle(Adaptor3d_TopolTool)& I2, const Handle(BRepAdaptor_HCurve2d)& PC2, const Handle(BRepAdaptor_HSurface)& Sref2, const Handle(BRepAdaptor_HCurve2d)& PCref2, Standard_Boolean& Decroch2, const TopAbs_Orientation Or2, const Standard_Real MaxStep, const Standard_Real Fleche, const Standard_Real TolGuide, Standard_Real& First, Standard_Real& Last, const Standard_Boolean Inside, const Standard_Boolean Appro, const Standard_Boolean Forward, const Standard_Boolean RecP1, const Standard_Boolean RecRst1, const Standard_Boolean RecP2, const Standard_Boolean RecRst2, const math_Vector& Soldep) Standard_OVERRIDE;
|
||||
Standard_EXPORT virtual void PerformSurf (ChFiDS_SequenceOfSurfData& Data, const Handle(ChFiDS_ElSpine)& Guide, const Handle(ChFiDS_Spine)& Spine, const Standard_Integer Choix, const Handle(BRepAdaptor_Surface)& S1, const Handle(Adaptor3d_TopolTool)& I1, const Handle(BRepAdaptor_Curve2d)& PC1, const Handle(BRepAdaptor_Surface)& Sref1, const Handle(BRepAdaptor_Curve2d)& PCref1, Standard_Boolean& Decroch1, const TopAbs_Orientation Or1, const Handle(BRepAdaptor_Surface)& S2, const Handle(Adaptor3d_TopolTool)& I2, const Handle(BRepAdaptor_Curve2d)& PC2, const Handle(BRepAdaptor_Surface)& Sref2, const Handle(BRepAdaptor_Curve2d)& PCref2, Standard_Boolean& Decroch2, const TopAbs_Orientation Or2, const Standard_Real MaxStep, const Standard_Real Fleche, const Standard_Real TolGuide, Standard_Real& First, Standard_Real& Last, const Standard_Boolean Inside, const Standard_Boolean Appro, const Standard_Boolean Forward, const Standard_Boolean RecP1, const Standard_Boolean RecRst1, const Standard_Boolean RecP2, const Standard_Boolean RecRst2, const math_Vector& Soldep) Standard_OVERRIDE;
|
||||
|
||||
//! Method to split an singular SurfData in several non
|
||||
//! singular SurfData..
|
||||
|
@@ -16,14 +16,14 @@
|
||||
|
||||
|
||||
#include <Adaptor3d_CurveOnSurface.hxx>
|
||||
#include <Adaptor3d_HCurveOnSurface.hxx>
|
||||
#include <Adaptor3d_CurveOnSurface.hxx>
|
||||
#include <Adaptor3d_TopolTool.hxx>
|
||||
#include <BRep_Tool.hxx>
|
||||
#include <BRepAdaptor_Curve.hxx>
|
||||
#include <BRepAdaptor_Curve2d.hxx>
|
||||
#include <BRepAdaptor_HCurve.hxx>
|
||||
#include <BRepAdaptor_HCurve2d.hxx>
|
||||
#include <BRepAdaptor_HSurface.hxx>
|
||||
#include <BRepAdaptor_Curve.hxx>
|
||||
#include <BRepAdaptor_Curve2d.hxx>
|
||||
#include <BRepAdaptor_Surface.hxx>
|
||||
#include <BRepAdaptor_Surface.hxx>
|
||||
#include <BRepBlend_CSCircular.hxx>
|
||||
#include <BRepBlend_Line.hxx>
|
||||
@@ -37,7 +37,7 @@
|
||||
#include <ChFiDS_FaceInterference.hxx>
|
||||
#include <ChFiDS_FilSpine.hxx>
|
||||
#include <ChFiDS_HData.hxx>
|
||||
#include <ChFiDS_HElSpine.hxx>
|
||||
#include <ChFiDS_ElSpine.hxx>
|
||||
#include <ChFiDS_ListIteratorOfListOfStripe.hxx>
|
||||
#include <ChFiDS_Regul.hxx>
|
||||
#include <ChFiDS_SequenceOfSurfData.hxx>
|
||||
@@ -49,13 +49,13 @@
|
||||
#include <Geom2d_BSplineCurve.hxx>
|
||||
#include <Geom2d_TrimmedCurve.hxx>
|
||||
#include <Geom2dAdaptor_Curve.hxx>
|
||||
#include <Geom2dAdaptor_HCurve.hxx>
|
||||
#include <Geom2dAdaptor_Curve.hxx>
|
||||
#include <Geom2dConvert.hxx>
|
||||
#include <Geom_BSplineCurve.hxx>
|
||||
#include <Geom_BSplineSurface.hxx>
|
||||
#include <GeomAdaptor_Curve.hxx>
|
||||
#include <GeomAdaptor_HCurve.hxx>
|
||||
#include <GeomAdaptor_HSurface.hxx>
|
||||
#include <GeomAdaptor_Curve.hxx>
|
||||
#include <GeomAdaptor_Surface.hxx>
|
||||
#include <GeomAdaptor_Surface.hxx>
|
||||
#include <GeomFill_ConstrainedFilling.hxx>
|
||||
#include <GeomFill_SimpleBound.hxx>
|
||||
@@ -342,25 +342,25 @@ void ChFi3d_FilBuilder::PerformTwoCorner(const Standard_Integer Index)
|
||||
if(CP1.IsOnArc()&& CP2.IsOnArc()){
|
||||
yapiv = (pivot.IsSame(CP2.Arc()));
|
||||
}
|
||||
Handle(BRepAdaptor_HCurve) Hpivot;
|
||||
Handle(BRepAdaptor_Curve) Hpivot;
|
||||
Standard_Boolean sameparam = Standard_False;
|
||||
Standard_Real parCP1 = 0., parCP2 = 0.;
|
||||
if(yapiv) {
|
||||
Hpivot = new BRepAdaptor_HCurve(pivot);
|
||||
Hpivot = new BRepAdaptor_Curve(pivot);
|
||||
parCP1 = CP1.ParameterOnArc();
|
||||
parCP2 = CP2.ParameterOnArc();
|
||||
gp_Pnt tst1 = Hpivot->Value(parCP1);
|
||||
gp_Pnt tst2 = Hpivot->Value(parCP2);
|
||||
sameparam = tst1.Distance(tst2) <= tolesp;
|
||||
}
|
||||
Handle(BRepAdaptor_HSurface) HFaCo = new BRepAdaptor_HSurface();
|
||||
Handle(BRepAdaptor_HSurface) HFaPiv;
|
||||
Handle(BRepAdaptor_HSurface) HBRS1 = new BRepAdaptor_HSurface();
|
||||
Handle(BRepAdaptor_HSurface) HBRS2 = new BRepAdaptor_HSurface();
|
||||
Handle(BRepAdaptor_Surface) HFaCo = new BRepAdaptor_Surface();
|
||||
Handle(BRepAdaptor_Surface) HFaPiv;
|
||||
Handle(BRepAdaptor_Surface) HBRS1 = new BRepAdaptor_Surface();
|
||||
Handle(BRepAdaptor_Surface) HBRS2 = new BRepAdaptor_Surface();
|
||||
|
||||
BRepAdaptor_Surface& BRS1 = HBRS1->ChangeSurface();
|
||||
BRepAdaptor_Surface& BRS2 = HBRS2->ChangeSurface();
|
||||
BRepAdaptor_Surface& BRFaCo = HFaCo->ChangeSurface();
|
||||
BRepAdaptor_Surface& BRS1 = *HBRS1;
|
||||
BRepAdaptor_Surface& BRS2 = *HBRS2;
|
||||
BRepAdaptor_Surface& BRFaCo = *HFaCo;
|
||||
BRFaCo.Initialize(FaCo);
|
||||
|
||||
TopoDS_Face FF1,FF2,F,FaPiv;
|
||||
@@ -517,8 +517,7 @@ void ChFi3d_FilBuilder::PerformTwoCorner(const Standard_Integer Index)
|
||||
fil.Init(Bfac,B2,B1,1);
|
||||
}
|
||||
else {
|
||||
Handle(Adaptor3d_HCurve) HPivTrim = Hpivot->ChangeCurve().
|
||||
Trim(Min(parCP1,parCP2),Max(parCP1,parCP2),tolesp);
|
||||
Handle(Adaptor3d_Curve) HPivTrim = Hpivot->Trim(Min(parCP1,parCP2),Max(parCP1,parCP2),tolesp);
|
||||
Bpiv = new GeomFill_SimpleBound(HPivTrim,tolesp,2.e-4);
|
||||
fil.Init(Bfac,B2,Bpiv,B1,1);
|
||||
BRepAdaptor_Curve2d pcpivot;
|
||||
@@ -761,7 +760,7 @@ void ChFi3d_FilBuilder::PerformTwoCorner(const Standard_Integer Index)
|
||||
gp_Pnt2d ppcosam =
|
||||
sdsam->Interference(ifacosam).PCurveOnSurf()->Value(uintpcsam);
|
||||
Handle(Geom_Surface) surfsam = DStr.Surface(sdsam->Surf()).Surface();
|
||||
Handle(GeomAdaptor_HSurface) Hsurfsam = new GeomAdaptor_HSurface(surfsam);
|
||||
Handle(GeomAdaptor_Surface) Hsurfsam = new GeomAdaptor_Surface(surfsam);
|
||||
Handle(Geom2d_Curve) pcsurfsam;
|
||||
Bsam = ChFi3d_mkbound(Hsurfsam,pcsurfsam,ppopsam,ppcosam,tolesp,2.e-4);
|
||||
Standard_Real upcopdif = sddif->Interference(ifaopdif).Parameter(isfirstdif);
|
||||
@@ -770,7 +769,7 @@ void ChFi3d_FilBuilder::PerformTwoCorner(const Standard_Integer Index)
|
||||
gp_Pnt2d ppcodif =
|
||||
sddif->Interference(ifacodif).PCurveOnSurf()->Value(uintpcdif);
|
||||
Handle(Geom_Surface) surfdif = DStr.Surface(sddif->Surf()).Surface();
|
||||
Handle(GeomAdaptor_HSurface) Hsurfdif = new GeomAdaptor_HSurface(surfdif);
|
||||
Handle(GeomAdaptor_Surface) Hsurfdif = new GeomAdaptor_Surface(surfdif);
|
||||
Handle(Geom2d_Curve) pcsurfdif;
|
||||
Bdif = ChFi3d_mkbound(Hsurfdif,pcsurfdif,ppcodif,ppopdif,tolesp,2.e-4);
|
||||
gp_Pnt2d ppfacsam,ppfacdif;
|
||||
@@ -798,8 +797,8 @@ void ChFi3d_FilBuilder::PerformTwoCorner(const Standard_Integer Index)
|
||||
//////////////////
|
||||
BRepAdaptor_Curve CArcFac(Arcopdif);
|
||||
CArcFac.D1(cpopdif.ParameterOnArc(),PPfacdif,VVfacdif);
|
||||
Handle(BRepAdaptor_HSurface) HBRFopsam = new BRepAdaptor_HSurface();
|
||||
BRepAdaptor_Surface& BRFopsam = HBRFopsam->ChangeSurface();
|
||||
Handle(BRepAdaptor_Surface) HBRFopsam = new BRepAdaptor_Surface();
|
||||
BRepAdaptor_Surface& BRFopsam = *HBRFopsam;
|
||||
BRFopsam.Initialize(Fopsam,Standard_False);
|
||||
Handle(Geom2d_Curve) pcFopsam = ChFi3d_BuildPCurve(HBRFopsam,
|
||||
ppfacsam,VVfacsam,
|
||||
@@ -860,7 +859,7 @@ void ChFi3d_FilBuilder::PerformTwoCorner(const Standard_Integer Index)
|
||||
corner->ChangeFirstPCurve(),P1deb,P2deb,
|
||||
tolesp,tol2d,tolreached,0);
|
||||
Standard_Real tolr1;
|
||||
Handle(GeomAdaptor_HCurve) HC3d = new GeomAdaptor_HCurve(C3d);
|
||||
Handle(GeomAdaptor_Curve) HC3d = new GeomAdaptor_Curve(C3d);
|
||||
ChFi3d_SameParameter(HC3d,pcFopsam,HBRFopsam,tolesp,tolr1);
|
||||
tolreached = Max(tolreached,tolr1);
|
||||
TopOpeBRepDS_Curve Tcurv1(C3d,tolreached);
|
||||
@@ -891,7 +890,7 @@ void ChFi3d_FilBuilder::PerformTwoCorner(const Standard_Integer Index)
|
||||
corner->ChangeLastPCurve(),P1fin,P2fin,
|
||||
tolesp,tol2d,tolreached,0);
|
||||
Standard_Real tolr2;
|
||||
HC3d->ChangeCurve().Load(C3d);
|
||||
HC3d->Load(C3d);
|
||||
ChFi3d_SameParameter(HC3d,pcsurfdif,Hsurfdif,tolesp,tolr2);
|
||||
tolreached = Max(tolreached,tolr2);
|
||||
TopOpeBRepDS_Curve Tcurv2(C3d,tolreached);
|
||||
|
@@ -16,12 +16,12 @@
|
||||
|
||||
|
||||
#include <Adaptor3d_CurveOnSurface.hxx>
|
||||
#include <Adaptor3d_HSurface.hxx>
|
||||
#include <Adaptor3d_Surface.hxx>
|
||||
#include <Adaptor3d_TopolTool.hxx>
|
||||
#include <BRepAdaptor_Curve.hxx>
|
||||
#include <BRepAdaptor_HCurve.hxx>
|
||||
#include <BRepAdaptor_HCurve2d.hxx>
|
||||
#include <BRepAdaptor_HSurface.hxx>
|
||||
#include <BRepAdaptor_Curve.hxx>
|
||||
#include <BRepAdaptor_Curve2d.hxx>
|
||||
#include <BRepAdaptor_Surface.hxx>
|
||||
#include <BRepAdaptor_Surface.hxx>
|
||||
#include <BRepBlend_ConstRad.hxx>
|
||||
#include <BRepBlend_ConstRadInv.hxx>
|
||||
@@ -35,7 +35,7 @@
|
||||
#include <ChFiDS_CommonPoint.hxx>
|
||||
#include <ChFiDS_FaceInterference.hxx>
|
||||
#include <ChFiDS_HData.hxx>
|
||||
#include <ChFiDS_HElSpine.hxx>
|
||||
#include <ChFiDS_ElSpine.hxx>
|
||||
#include <ChFiDS_ListIteratorOfListOfStripe.hxx>
|
||||
#include <ChFiDS_Regul.hxx>
|
||||
#include <ChFiDS_SequenceOfSurfData.hxx>
|
||||
@@ -50,14 +50,14 @@
|
||||
#include <Geom2d_Line.hxx>
|
||||
#include <Geom2d_TrimmedCurve.hxx>
|
||||
#include <Geom2dAdaptor_Curve.hxx>
|
||||
#include <Geom2dAdaptor_HCurve.hxx>
|
||||
#include <Geom2dAdaptor_Curve.hxx>
|
||||
#include <Geom_BezierCurve.hxx>
|
||||
#include <Geom_BSplineSurface.hxx>
|
||||
#include <Geom_Circle.hxx>
|
||||
#include <Geom_Plane.hxx>
|
||||
#include <GeomAdaptor_Curve.hxx>
|
||||
#include <GeomAdaptor_HCurve.hxx>
|
||||
#include <GeomAdaptor_HSurface.hxx>
|
||||
#include <GeomAdaptor_Curve.hxx>
|
||||
#include <GeomAdaptor_Surface.hxx>
|
||||
#include <GeomAdaptor_Surface.hxx>
|
||||
#include <gp_Ax2.hxx>
|
||||
#include <gp_Ax3.hxx>
|
||||
@@ -397,7 +397,7 @@ void ChFi3d_FilBuilder::PerformThreeCorner(const Standard_Integer Jndex)
|
||||
// ----------------------------------------------------------
|
||||
|
||||
TopAbs_Orientation OFac = face[pivot].Orientation();
|
||||
Handle(BRepAdaptor_HSurface) Fac = new BRepAdaptor_HSurface(face[pivot]);
|
||||
Handle(BRepAdaptor_Surface) Fac = new BRepAdaptor_Surface(face[pivot]);
|
||||
gp_Pnt2d ppp1,ppp2;
|
||||
const ChFiDS_FaceInterference& bid1 = CD[pivot]->SetOfSurfData()->
|
||||
Value(i[pivot][deb])->InterferenceOnS1();
|
||||
@@ -432,12 +432,12 @@ void ChFi3d_FilBuilder::PerformThreeCorner(const Standard_Integer Jndex)
|
||||
Value(i[pivot][deb])->Surf())).Surface());
|
||||
}
|
||||
|
||||
Handle(GeomAdaptor_HSurface) Surf = new GeomAdaptor_HSurface(gasurf);
|
||||
Handle(GeomAdaptor_Surface) Surf = new GeomAdaptor_Surface(gasurf);
|
||||
// Handle(BRepTopAdaptor_TopolTool) IFac = new BRepTopAdaptor_TopolTool(Fac);
|
||||
// Try to not classify on the face for cases of reentering fillets which naturally depass
|
||||
// the border.
|
||||
Handle(GeomAdaptor_HSurface)
|
||||
bidsurf = new GeomAdaptor_HSurface(Fac->ChangeSurface().Surface());
|
||||
Handle(GeomAdaptor_Surface)
|
||||
bidsurf = new GeomAdaptor_Surface(Fac->ChangeSurface().Surface());
|
||||
Handle(Adaptor3d_TopolTool)
|
||||
IFac = new Adaptor3d_TopolTool(bidsurf);
|
||||
// end of the attempt.
|
||||
@@ -554,10 +554,10 @@ void ChFi3d_FilBuilder::PerformThreeCorner(const Standard_Integer Jndex)
|
||||
}
|
||||
else locfleche = radpondere * (WLast - WFirst) * fleche;
|
||||
Standard_Real pasmax = (WLast-WFirst)*0.05;
|
||||
Handle(ChFiDS_HElSpine) cornerspine = new ChFiDS_HElSpine();
|
||||
cornerspine->ChangeCurve().SetCurve(spinecoin);
|
||||
cornerspine->ChangeCurve().FirstParameter(WFirst - pasmax);
|
||||
cornerspine->ChangeCurve().LastParameter(WLast + pasmax);
|
||||
Handle(ChFiDS_ElSpine) cornerspine = new ChFiDS_ElSpine();
|
||||
cornerspine->SetCurve(spinecoin);
|
||||
cornerspine->FirstParameter(WFirst - pasmax);
|
||||
cornerspine->LastParameter(WLast + pasmax);
|
||||
// Just to confuse Compute that should not require this
|
||||
// in this exact case ...
|
||||
Handle(ChFiDS_Spine) NullSpine;
|
||||
|
Reference in New Issue
Block a user