File indexing completed on 2025-01-18 10:03:52
0001
0002
0003
0004
0005
0006
0007
0008
0009
0010
0011
0012
0013
0014
0015
0016
0017 #ifndef _HLRBRep_InterCSurf_HeaderFile
0018 #define _HLRBRep_InterCSurf_HeaderFile
0019
0020 #include <Standard.hxx>
0021 #include <Standard_DefineAlloc.hxx>
0022
0023 #include <IntCurveSurface_Intersection.hxx>
0024 #include <TColgp_Array2OfPnt.hxx>
0025 #include <TColStd_Array1OfReal.hxx>
0026 class gp_Lin;
0027 class HLRBRep_LineTool;
0028 class HLRBRep_SurfaceTool;
0029 class HLRBRep_ThePolygonOfInterCSurf;
0030 class HLRBRep_ThePolygonToolOfInterCSurf;
0031 class HLRBRep_ThePolyhedronOfInterCSurf;
0032 class HLRBRep_ThePolyhedronToolOfInterCSurf;
0033 class HLRBRep_TheInterferenceOfInterCSurf;
0034 class HLRBRep_TheCSFunctionOfInterCSurf;
0035 class HLRBRep_TheExactInterCSurf;
0036 class HLRBRep_TheQuadCurvExactInterCSurf;
0037 class HLRBRep_TheQuadCurvFuncOfTheQuadCurvExactInterCSurf;
0038 class Bnd_BoundSortBox;
0039 class gp_Circ;
0040 class gp_Elips;
0041 class gp_Parab;
0042 class gp_Hypr;
0043 class IntAna_IntConicQuad;
0044 class Bnd_Box;
0045
0046
0047
0048 class HLRBRep_InterCSurf : public IntCurveSurface_Intersection
0049 {
0050 public:
0051
0052 DEFINE_STANDARD_ALLOC
0053
0054
0055
0056 Standard_EXPORT HLRBRep_InterCSurf();
0057
0058
0059
0060 Standard_EXPORT void Perform (const gp_Lin& Curve, const Standard_Address& Surface);
0061
0062
0063
0064
0065 Standard_EXPORT void Perform (const gp_Lin& Curve, const HLRBRep_ThePolygonOfInterCSurf& Polygon, const Standard_Address& Surface);
0066
0067
0068
0069
0070
0071 Standard_EXPORT void Perform (const gp_Lin& Curve, const HLRBRep_ThePolygonOfInterCSurf& ThePolygon, const Standard_Address& Surface, const HLRBRep_ThePolyhedronOfInterCSurf& Polyhedron);
0072
0073
0074
0075
0076
0077 Standard_EXPORT void Perform (const gp_Lin& Curve, const HLRBRep_ThePolygonOfInterCSurf& ThePolygon, const Standard_Address& Surface, const HLRBRep_ThePolyhedronOfInterCSurf& Polyhedron, Bnd_BoundSortBox& BndBSB);
0078
0079
0080
0081
0082 Standard_EXPORT void Perform (const gp_Lin& Curve, const Standard_Address& Surface, const HLRBRep_ThePolyhedronOfInterCSurf& Polyhedron);
0083
0084
0085
0086
0087 protected:
0088
0089
0090
0091
0092 Standard_EXPORT void Perform (const gp_Lin& Curve, const Standard_Address& Surface, const Standard_Real U0, const Standard_Real V0, const Standard_Real U1, const Standard_Real V1);
0093
0094 Standard_EXPORT void InternalPerformCurveQuadric (const gp_Lin& Curve, const Standard_Address& Surface);
0095
0096 Standard_EXPORT void InternalPerform (const gp_Lin& Curve, const HLRBRep_ThePolygonOfInterCSurf& Polygon, const Standard_Address& Surface, const HLRBRep_ThePolyhedronOfInterCSurf& Polyhedron, const Standard_Real U1, const Standard_Real V1, const Standard_Real U2, const Standard_Real V2);
0097
0098 Standard_EXPORT void InternalPerform (const gp_Lin& Curve, const HLRBRep_ThePolygonOfInterCSurf& Polygon, const Standard_Address& Surface, const HLRBRep_ThePolyhedronOfInterCSurf& Polyhedron, const Standard_Real U1, const Standard_Real V1, const Standard_Real U2, const Standard_Real V2, Bnd_BoundSortBox& BSB);
0099
0100 Standard_EXPORT void InternalPerform (const gp_Lin& Curve, const HLRBRep_ThePolygonOfInterCSurf& Polygon, const Standard_Address& Surface, const Standard_Real U1, const Standard_Real V1, const Standard_Real U2, const Standard_Real V2);
0101
0102 Standard_EXPORT void PerformConicSurf (const gp_Lin& Line, const gp_Lin& Curve, const Standard_Address& Surface, const Standard_Real U1, const Standard_Real V1, const Standard_Real U2, const Standard_Real V2);
0103
0104 Standard_EXPORT void PerformConicSurf (const gp_Circ& Circle, const gp_Lin& Curve, const Standard_Address& Surface, const Standard_Real U1, const Standard_Real V1, const Standard_Real U2, const Standard_Real V2);
0105
0106 Standard_EXPORT void PerformConicSurf (const gp_Elips& Ellipse, const gp_Lin& Curve, const Standard_Address& Surface, const Standard_Real U1, const Standard_Real V1, const Standard_Real U2, const Standard_Real V2);
0107
0108 Standard_EXPORT void PerformConicSurf (const gp_Parab& Parab, const gp_Lin& Curve, const Standard_Address& Surface, const Standard_Real U1, const Standard_Real V1, const Standard_Real U2, const Standard_Real V2);
0109
0110 Standard_EXPORT void PerformConicSurf (const gp_Hypr& Hyper, const gp_Lin& Curve, const Standard_Address& Surface, const Standard_Real U1, const Standard_Real V1, const Standard_Real U2, const Standard_Real V2);
0111
0112 Standard_EXPORT void AppendIntAna (const gp_Lin& Curve, const Standard_Address& Surface, const IntAna_IntConicQuad& InterAna);
0113
0114 Standard_EXPORT void AppendPoint (const gp_Lin& Curve, const Standard_Real w, const Standard_Address& Surface, const Standard_Real u, const Standard_Real v);
0115
0116 Standard_EXPORT void AppendSegment (const gp_Lin& Curve, const Standard_Real u0, const Standard_Real u1, const Standard_Address& Surface);
0117
0118
0119
0120
0121 private:
0122
0123
0124 Standard_EXPORT void DoSurface (const Standard_Address& surface, const Standard_Real u0, const Standard_Real u1, const Standard_Real v0, const Standard_Real v1, TColgp_Array2OfPnt& pntsOnSurface, Bnd_Box& boxSurface, Standard_Real& gap);
0125
0126 Standard_EXPORT void DoNewBounds (const Standard_Address& surface, const Standard_Real u0, const Standard_Real u1, const Standard_Real v0, const Standard_Real v1, const TColgp_Array2OfPnt& pntsOnSurface, const TColStd_Array1OfReal& X, const TColStd_Array1OfReal& Y, const TColStd_Array1OfReal& Z, TColStd_Array1OfReal& Bounds);
0127
0128
0129
0130
0131 };
0132
0133
0134
0135
0136
0137
0138
0139 #endif