File indexing completed on 2025-01-18 10:04:54
0001
0002
0003
0004
0005
0006
0007
0008
0009
0010
0011
0012
0013
0014
0015
0016 #ifndef _ShapeAlgo_AlgoContainer_HeaderFile
0017 #define _ShapeAlgo_AlgoContainer_HeaderFile
0018
0019 #include <Standard.hxx>
0020 #include <Standard_Type.hxx>
0021
0022 #include <Standard_Transient.hxx>
0023 #include <TColGeom_SequenceOfCurve.hxx>
0024 #include <TColGeom2d_SequenceOfCurve.hxx>
0025 #include <TColGeom_HSequenceOfBoundedCurve.hxx>
0026 #include <TColGeom2d_HSequenceOfBoundedCurve.hxx>
0027 #include <GeomAbs_Shape.hxx>
0028 #include <Standard_Integer.hxx>
0029 class ShapeAlgo_ToolContainer;
0030 class ShapeAnalysis_Wire;
0031 class ShapeExtend_WireData;
0032 class Geom_BSplineCurve;
0033 class Geom2d_BSplineCurve;
0034 class TopoDS_Shape;
0035 class Geom_BSplineSurface;
0036 class Geom_Surface;
0037 class TopoDS_Wire;
0038 class TopoDS_Face;
0039 class Geom_Curve;
0040
0041
0042 class ShapeAlgo_AlgoContainer;
0043 DEFINE_STANDARD_HANDLE(ShapeAlgo_AlgoContainer, Standard_Transient)
0044
0045
0046 class ShapeAlgo_AlgoContainer : public Standard_Transient
0047 {
0048
0049 public:
0050
0051
0052
0053 Standard_EXPORT ShapeAlgo_AlgoContainer();
0054
0055
0056 void SetToolContainer (const Handle(ShapeAlgo_ToolContainer)& TC);
0057
0058
0059 Handle(ShapeAlgo_ToolContainer) ToolContainer() const;
0060
0061
0062
0063
0064
0065
0066
0067
0068
0069
0070
0071 Standard_EXPORT virtual Standard_Boolean ConnectNextWire (const Handle(ShapeAnalysis_Wire)& saw, const Handle(ShapeExtend_WireData)& nextsewd, const Standard_Real maxtol, Standard_Real& distmin, Standard_Boolean& revsewd, Standard_Boolean& revnextsewd) const;
0072
0073 Standard_EXPORT virtual void ApproxBSplineCurve (const Handle(Geom_BSplineCurve)& bspline, TColGeom_SequenceOfCurve& seq) const;
0074
0075 Standard_EXPORT virtual void ApproxBSplineCurve (const Handle(Geom2d_BSplineCurve)& bspline, TColGeom2d_SequenceOfCurve& seq) const;
0076
0077 Standard_EXPORT virtual Standard_Boolean C0BSplineToSequenceOfC1BSplineCurve (const Handle(Geom_BSplineCurve)& BS, Handle(TColGeom_HSequenceOfBoundedCurve)& seqBS) const;
0078
0079
0080
0081 Standard_EXPORT virtual Standard_Boolean C0BSplineToSequenceOfC1BSplineCurve (const Handle(Geom2d_BSplineCurve)& BS, Handle(TColGeom2d_HSequenceOfBoundedCurve)& seqBS) const;
0082
0083
0084 Standard_EXPORT virtual TopoDS_Shape C0ShapeToC1Shape (const TopoDS_Shape& shape, const Standard_Real tol) const;
0085
0086
0087
0088 Standard_EXPORT virtual Handle(Geom_BSplineSurface) ConvertSurfaceToBSpline (const Handle(Geom_Surface)& surf, const Standard_Real UF, const Standard_Real UL, const Standard_Real VF, const Standard_Real VL) const;
0089
0090
0091
0092
0093 Standard_EXPORT virtual Standard_Boolean HomoWires (const TopoDS_Wire& wireIn1, const TopoDS_Wire& wireIn2, TopoDS_Wire& wireOut1, TopoDS_Wire& wireOut2, const Standard_Boolean byParam) const;
0094
0095
0096 Standard_EXPORT virtual TopoDS_Wire OuterWire (const TopoDS_Face& face) const;
0097
0098
0099
0100 Standard_EXPORT virtual Handle(Geom_Surface) ConvertToPeriodic (const Handle(Geom_Surface)& surf) const;
0101
0102
0103 Standard_EXPORT virtual void GetFaceUVBounds (const TopoDS_Face& F, Standard_Real& Umin, Standard_Real& Umax, Standard_Real& Vmin, Standard_Real& Vmax) const;
0104
0105
0106 Standard_EXPORT virtual Handle(Geom_BSplineCurve) ConvertCurveToBSpline (const Handle(Geom_Curve)& C3D, const Standard_Real First, const Standard_Real Last, const Standard_Real Tol3d, const GeomAbs_Shape Continuity, const Standard_Integer MaxSegments, const Standard_Integer MaxDegree) const;
0107
0108
0109
0110
0111 DEFINE_STANDARD_RTTIEXT(ShapeAlgo_AlgoContainer,Standard_Transient)
0112
0113 protected:
0114
0115
0116
0117
0118 private:
0119
0120
0121 Handle(ShapeAlgo_ToolContainer) myTC;
0122
0123
0124 };
0125
0126
0127 #include <ShapeAlgo_AlgoContainer.lxx>
0128
0129
0130
0131
0132
0133 #endif