File indexing completed on 2025-01-18 10:03:05
0001
0002
0003
0004
0005
0006
0007
0008
0009
0010
0011
0012
0013
0014
0015
0016
0017 #ifndef _BRep_CurveOnSurface_HeaderFile
0018 #define _BRep_CurveOnSurface_HeaderFile
0019
0020 #include <Standard.hxx>
0021
0022 #include <gp_Pnt2d.hxx>
0023 #include <BRep_GCurve.hxx>
0024 #include <Standard_Real.hxx>
0025 class Geom2d_Curve;
0026 class Geom_Surface;
0027 class TopLoc_Location;
0028 class gp_Pnt;
0029 class BRep_CurveRepresentation;
0030
0031
0032 class BRep_CurveOnSurface;
0033 DEFINE_STANDARD_HANDLE(BRep_CurveOnSurface, BRep_GCurve)
0034
0035
0036
0037 class BRep_CurveOnSurface : public BRep_GCurve
0038 {
0039
0040 public:
0041
0042
0043 Standard_EXPORT BRep_CurveOnSurface(const Handle(Geom2d_Curve)& PC, const Handle(Geom_Surface)& S, const TopLoc_Location& L);
0044
0045 void SetUVPoints (const gp_Pnt2d& P1, const gp_Pnt2d& P2);
0046
0047 void UVPoints (gp_Pnt2d& P1, gp_Pnt2d& P2) const;
0048
0049
0050 Standard_EXPORT void D0 (const Standard_Real U, gp_Pnt& P) const Standard_OVERRIDE;
0051
0052
0053 Standard_EXPORT virtual Standard_Boolean IsCurveOnSurface() const Standard_OVERRIDE;
0054
0055
0056 Standard_EXPORT virtual Standard_Boolean IsCurveOnSurface (const Handle(Geom_Surface)& S, const TopLoc_Location& L) const Standard_OVERRIDE;
0057
0058 Standard_EXPORT virtual const Handle(Geom_Surface)& Surface() const Standard_OVERRIDE;
0059
0060 Standard_EXPORT virtual const Handle(Geom2d_Curve)& PCurve() const Standard_OVERRIDE;
0061
0062 Standard_EXPORT virtual void PCurve (const Handle(Geom2d_Curve)& C) Standard_OVERRIDE;
0063
0064
0065 Standard_EXPORT virtual Handle(BRep_CurveRepresentation) Copy() const Standard_OVERRIDE;
0066
0067
0068
0069 Standard_EXPORT virtual void Update() Standard_OVERRIDE;
0070
0071
0072 Standard_EXPORT virtual void DumpJson (Standard_OStream& theOStream, Standard_Integer theDepth = -1) const Standard_OVERRIDE;
0073
0074
0075
0076
0077 DEFINE_STANDARD_RTTIEXT(BRep_CurveOnSurface,BRep_GCurve)
0078
0079 protected:
0080
0081
0082 gp_Pnt2d myUV1;
0083 gp_Pnt2d myUV2;
0084
0085
0086 private:
0087
0088
0089 Handle(Geom2d_Curve) myPCurve;
0090 Handle(Geom_Surface) mySurface;
0091
0092
0093 };
0094
0095
0096 #include <BRep_CurveOnSurface.lxx>
0097
0098
0099
0100
0101
0102 #endif