mirror of
https://git.dev.opencascade.org/repos/occt.git
synced 2025-08-29 14:00:49 +03:00
0028828: Modeling Algorithms - New functionalities of BRepFilletAPI_MakeChamfer algorithm
Two new functionalities have been added in BRepFilletAPI_MakeChamfer: - constant throat (the section of chamfer is isosceles triangle, its height is constant in all sections - this is the "throat" of the weld); - constant throat with penetration(the section of chamfer is right-angled triangle, the first of two surfaces (where is the top of the chamfer) is virtually moved inside the solid by offset operation, the apex of the section is on the intersection curve between moved surface and second surface, right angle is at the top of the chamfer, the length of the leg from apex to top is constant - this is the "throat" of the weld). - New abstract classes BlendFunc_GenChamfer and BlendFunc_GenChamfInv have been added; - Class BlendFunc_Chamfer is now descended from BlendFunc_GenChamfer, class BlendFunc_ChamfInv is now descended from BlendFunc_GenChamfInv. - New class BlendFunc_ConstThroat is descended from BlendFunc_GenChamfer, new class BlendFund_ConstThroatInv is descended from BlendFunc_GenChamfInv. - New class BlendFunc_ConstThroatWithPenetration is descended from BlendFunc_GenChamfer, new class BlendFund_ConstThroatWithPenetrationInv is descended from BlendFunc_GenChamfInv. - Class ChFi3d_ChBuilder has now mode of chamfer that can be ClassicChamfer, ConstThroatChamfer and ConstThroatWithPenetrationChamfer. - Two new DRAW Test Harness commands "chamf_throat" ant "chamf_throat_with_penetration" have been added for the second mode of ChBuilder. - The interface of DRAW Test Harness command "chamf" changed for symmetric case.
This commit is contained in:
@@ -33,6 +33,7 @@
|
||||
#include <ChFiDS_ErrorStatus.hxx>
|
||||
#include <Standard_Transient.hxx>
|
||||
#include <GeomAbs_CurveType.hxx>
|
||||
#include <ChFiDS_ChamfMode.hxx>
|
||||
class TopoDS_Edge;
|
||||
class ChFiDS_HElSpine;
|
||||
class gp_Lin;
|
||||
@@ -83,13 +84,21 @@ public:
|
||||
//! store edges composing the guideline
|
||||
void SetEdges (const TopoDS_Edge& E);
|
||||
|
||||
//! store offset edges composing the offset guideline
|
||||
void SetOffsetEdges (const TopoDS_Edge& E);
|
||||
|
||||
//! store the edge at the first position before all others
|
||||
void PutInFirst (const TopoDS_Edge& E);
|
||||
|
||||
//! store the offset edge at the first position before all others
|
||||
void PutInFirstOffset (const TopoDS_Edge& E);
|
||||
|
||||
Standard_Integer NbEdges() const;
|
||||
|
||||
const TopoDS_Edge& Edges (const Standard_Integer I) const;
|
||||
|
||||
const TopoDS_Edge& OffsetEdges (const Standard_Integer I) const;
|
||||
|
||||
//! stores if the start of a set of edges starts on a
|
||||
//! section of free border or forms a closed contour
|
||||
void SetFirstStatus (const ChFiDS_State S);
|
||||
@@ -100,6 +109,8 @@ public:
|
||||
|
||||
Standard_EXPORT virtual void AppendElSpine (const Handle(ChFiDS_HElSpine)& Els);
|
||||
|
||||
Standard_EXPORT virtual void AppendOffsetElSpine (const Handle(ChFiDS_HElSpine)& Els);
|
||||
|
||||
Standard_EXPORT Handle(ChFiDS_HElSpine) ElSpine (const Standard_Integer IE) const;
|
||||
|
||||
Standard_EXPORT Handle(ChFiDS_HElSpine) ElSpine (const TopoDS_Edge& E) const;
|
||||
@@ -108,6 +119,8 @@ public:
|
||||
|
||||
Standard_EXPORT ChFiDS_ListOfHElSpine& ChangeElSpines();
|
||||
|
||||
Standard_EXPORT ChFiDS_ListOfHElSpine& ChangeOffsetElSpines();
|
||||
|
||||
Standard_EXPORT virtual void Reset (const Standard_Boolean AllData = Standard_False);
|
||||
|
||||
Standard_EXPORT Standard_Boolean SplitDone() const;
|
||||
@@ -227,6 +240,8 @@ public:
|
||||
|
||||
Standard_EXPORT ChFiDS_ErrorStatus ErrorStatus() const;
|
||||
|
||||
//! Return the mode of chamfers used
|
||||
Standard_EXPORT ChFiDS_ChamfMode Mode() const;
|
||||
|
||||
|
||||
|
||||
@@ -237,6 +252,8 @@ protected:
|
||||
|
||||
Standard_Boolean splitdone;
|
||||
ChFiDS_ListOfHElSpine elspines;
|
||||
ChFiDS_ListOfHElSpine offset_elspines;
|
||||
ChFiDS_ChamfMode myMode;
|
||||
|
||||
|
||||
private:
|
||||
@@ -245,11 +262,14 @@ private:
|
||||
Standard_EXPORT void Prepare (Standard_Real& L, Standard_Integer& Index) const;
|
||||
|
||||
BRepAdaptor_Curve myCurve;
|
||||
BRepAdaptor_Curve myOffsetCurve;
|
||||
Standard_Integer indexofcurve;
|
||||
ChFiDS_State firstState;
|
||||
ChFiDS_State lastState;
|
||||
TopTools_SequenceOfShape spine;
|
||||
TopTools_SequenceOfShape offsetspine;
|
||||
Handle(TColStd_HArray1OfReal) abscissa;
|
||||
Handle(TColStd_HArray1OfReal) offset_abscissa;
|
||||
Standard_Real tolesp;
|
||||
Standard_Real firstparam;
|
||||
Standard_Real lastparam;
|
||||
|
Reference in New Issue
Block a user