File indexing completed on 2025-01-18 10:04:55
0001
0002
0003
0004
0005
0006
0007
0008
0009
0010
0011
0012
0013
0014
0015
0016
0017 #ifndef _ShapeExtend_CompositeSurface_HeaderFile
0018 #define _ShapeExtend_CompositeSurface_HeaderFile
0019
0020 #include <Standard.hxx>
0021 #include <Standard_Type.hxx>
0022
0023 #include <TColGeom_HArray2OfSurface.hxx>
0024 #include <TColStd_HArray1OfReal.hxx>
0025 #include <Geom_Surface.hxx>
0026 #include <ShapeExtend_Parametrisation.hxx>
0027 #include <TColStd_Array1OfReal.hxx>
0028 #include <Standard_Integer.hxx>
0029 #include <GeomAbs_Shape.hxx>
0030 class gp_Pnt2d;
0031 class gp_Trsf2d;
0032 class gp_Trsf;
0033 class Geom_Geometry;
0034 class Geom_Curve;
0035 class gp_Pnt;
0036 class gp_Vec;
0037
0038
0039 class ShapeExtend_CompositeSurface;
0040 DEFINE_STANDARD_HANDLE(ShapeExtend_CompositeSurface, Geom_Surface)
0041
0042
0043
0044
0045
0046
0047
0048
0049
0050
0051
0052
0053
0054
0055
0056
0057
0058
0059
0060
0061
0062
0063
0064
0065
0066
0067
0068
0069
0070
0071
0072
0073 class ShapeExtend_CompositeSurface : public Geom_Surface
0074 {
0075
0076 public:
0077
0078
0079
0080 Standard_EXPORT ShapeExtend_CompositeSurface();
0081
0082
0083 Standard_EXPORT ShapeExtend_CompositeSurface(const Handle(TColGeom_HArray2OfSurface)& GridSurf, const ShapeExtend_Parametrisation param = ShapeExtend_Natural);
0084
0085
0086 Standard_EXPORT ShapeExtend_CompositeSurface(const Handle(TColGeom_HArray2OfSurface)& GridSurf, const TColStd_Array1OfReal& UJoints, const TColStd_Array1OfReal& VJoints);
0087
0088
0089
0090
0091
0092
0093
0094
0095
0096
0097
0098
0099
0100 Standard_EXPORT Standard_Boolean Init (const Handle(TColGeom_HArray2OfSurface)& GridSurf, const ShapeExtend_Parametrisation param = ShapeExtend_Natural);
0101
0102
0103
0104
0105
0106
0107
0108
0109
0110
0111
0112 Standard_EXPORT Standard_Boolean Init (const Handle(TColGeom_HArray2OfSurface)& GridSurf, const TColStd_Array1OfReal& UJoints, const TColStd_Array1OfReal& VJoints);
0113
0114
0115 Standard_EXPORT Standard_Integer NbUPatches() const;
0116
0117
0118 Standard_EXPORT Standard_Integer NbVPatches() const;
0119
0120
0121 Standard_EXPORT const Handle(Geom_Surface)& Patch (const Standard_Integer i, const Standard_Integer j) const;
0122
0123
0124 Standard_EXPORT const Handle(TColGeom_HArray2OfSurface)& Patches() const;
0125
0126
0127
0128
0129 Standard_EXPORT Handle(TColStd_HArray1OfReal) UJointValues() const;
0130
0131
0132
0133
0134 Standard_EXPORT Handle(TColStd_HArray1OfReal) VJointValues() const;
0135
0136
0137
0138
0139 Standard_EXPORT Standard_Real UJointValue (const Standard_Integer i) const;
0140
0141
0142
0143
0144 Standard_EXPORT Standard_Real VJointValue (const Standard_Integer j) const;
0145
0146
0147
0148
0149
0150
0151 Standard_EXPORT Standard_Boolean SetUJointValues (const TColStd_Array1OfReal& UJoints);
0152
0153
0154
0155
0156
0157
0158 Standard_EXPORT Standard_Boolean SetVJointValues (const TColStd_Array1OfReal& VJoints);
0159
0160
0161
0162 Standard_EXPORT void SetUFirstValue (const Standard_Real UFirst);
0163
0164
0165
0166 Standard_EXPORT void SetVFirstValue (const Standard_Real VFirst);
0167
0168
0169 Standard_EXPORT Standard_Integer LocateUParameter (const Standard_Real U) const;
0170
0171
0172 Standard_EXPORT Standard_Integer LocateVParameter (const Standard_Real V) const;
0173
0174
0175
0176 Standard_EXPORT void LocateUVPoint (const gp_Pnt2d& pnt, Standard_Integer& i, Standard_Integer& j) const;
0177
0178
0179 Standard_EXPORT const Handle(Geom_Surface)& Patch (const Standard_Real U, const Standard_Real V) const;
0180
0181
0182 Standard_EXPORT const Handle(Geom_Surface)& Patch (const gp_Pnt2d& pnt) const;
0183
0184
0185 Standard_EXPORT Standard_Real ULocalToGlobal (const Standard_Integer i, const Standard_Integer j, const Standard_Real u) const;
0186
0187
0188 Standard_EXPORT Standard_Real VLocalToGlobal (const Standard_Integer i, const Standard_Integer j, const Standard_Real v) const;
0189
0190
0191 Standard_EXPORT gp_Pnt2d LocalToGlobal (const Standard_Integer i, const Standard_Integer j, const gp_Pnt2d& uv) const;
0192
0193
0194 Standard_EXPORT Standard_Real UGlobalToLocal (const Standard_Integer i, const Standard_Integer j, const Standard_Real U) const;
0195
0196
0197 Standard_EXPORT Standard_Real VGlobalToLocal (const Standard_Integer i, const Standard_Integer j, const Standard_Real V) const;
0198
0199
0200 Standard_EXPORT gp_Pnt2d GlobalToLocal (const Standard_Integer i, const Standard_Integer j, const gp_Pnt2d& UV) const;
0201
0202
0203
0204
0205
0206
0207
0208 Standard_EXPORT Standard_Boolean GlobalToLocalTransformation (const Standard_Integer i, const Standard_Integer j, Standard_Real& uFact, gp_Trsf2d& Trsf) const;
0209
0210
0211 Standard_EXPORT virtual void Transform (const gp_Trsf& T) Standard_OVERRIDE;
0212
0213
0214 Standard_EXPORT virtual Handle(Geom_Geometry) Copy() const Standard_OVERRIDE;
0215
0216
0217 Standard_EXPORT virtual void UReverse() Standard_OVERRIDE;
0218
0219
0220 Standard_EXPORT virtual Standard_Real UReversedParameter (const Standard_Real U) const Standard_OVERRIDE;
0221
0222
0223 Standard_EXPORT virtual void VReverse() Standard_OVERRIDE;
0224
0225
0226 Standard_EXPORT virtual Standard_Real VReversedParameter (const Standard_Real V) const Standard_OVERRIDE;
0227
0228
0229 Standard_EXPORT virtual void Bounds (Standard_Real& U1, Standard_Real& U2, Standard_Real& V1, Standard_Real& V2) const Standard_OVERRIDE;
0230
0231
0232
0233 Standard_EXPORT virtual Standard_Boolean IsUClosed() const Standard_OVERRIDE;
0234
0235
0236
0237 Standard_EXPORT virtual Standard_Boolean IsVClosed() const Standard_OVERRIDE;
0238
0239
0240 Standard_EXPORT virtual Standard_Boolean IsUPeriodic() const Standard_OVERRIDE;
0241
0242
0243 Standard_EXPORT virtual Standard_Boolean IsVPeriodic() const Standard_OVERRIDE;
0244
0245
0246 Standard_EXPORT virtual Handle(Geom_Curve) UIso (const Standard_Real U) const Standard_OVERRIDE;
0247
0248
0249 Standard_EXPORT virtual Handle(Geom_Curve) VIso (const Standard_Real V) const Standard_OVERRIDE;
0250
0251
0252 Standard_EXPORT virtual GeomAbs_Shape Continuity() const Standard_OVERRIDE;
0253
0254
0255 Standard_EXPORT virtual Standard_Boolean IsCNu (const Standard_Integer N) const Standard_OVERRIDE;
0256
0257
0258 Standard_EXPORT virtual Standard_Boolean IsCNv (const Standard_Integer N) const Standard_OVERRIDE;
0259
0260
0261 Standard_EXPORT virtual void D0 (const Standard_Real U, const Standard_Real V, gp_Pnt& P) const Standard_OVERRIDE;
0262
0263
0264
0265 Standard_EXPORT virtual void D1 (const Standard_Real U, const Standard_Real V, gp_Pnt& P, gp_Vec& D1U, gp_Vec& D1V) const Standard_OVERRIDE;
0266
0267
0268
0269 Standard_EXPORT virtual void D2 (const Standard_Real U, const Standard_Real V, gp_Pnt& P, gp_Vec& D1U, gp_Vec& D1V, gp_Vec& D2U, gp_Vec& D2V, gp_Vec& D2UV) const Standard_OVERRIDE;
0270
0271
0272
0273 Standard_EXPORT virtual void D3 (const Standard_Real U, const Standard_Real V, gp_Pnt& P, gp_Vec& D1U, gp_Vec& D1V, gp_Vec& D2U, gp_Vec& D2V, gp_Vec& D2UV, gp_Vec& D3U, gp_Vec& D3V, gp_Vec& D3UUV, gp_Vec& D3UVV) const Standard_OVERRIDE;
0274
0275
0276
0277 Standard_EXPORT virtual gp_Vec DN (const Standard_Real U, const Standard_Real V, const Standard_Integer Nu, const Standard_Integer Nv) const Standard_OVERRIDE;
0278
0279
0280 Standard_EXPORT gp_Pnt Value (const gp_Pnt2d& pnt) const;
0281
0282
0283 Standard_EXPORT void ComputeJointValues (const ShapeExtend_Parametrisation param = ShapeExtend_Natural);
0284
0285
0286
0287 Standard_EXPORT Standard_Boolean CheckConnectivity (const Standard_Real prec);
0288
0289
0290
0291
0292 DEFINE_STANDARD_RTTIEXT(ShapeExtend_CompositeSurface,Geom_Surface)
0293
0294 protected:
0295
0296
0297
0298
0299 private:
0300
0301
0302 Handle(TColGeom_HArray2OfSurface) myPatches;
0303 Handle(TColStd_HArray1OfReal) myUJointValues;
0304 Handle(TColStd_HArray1OfReal) myVJointValues;
0305 Standard_Boolean myUClosed;
0306 Standard_Boolean myVClosed;
0307
0308
0309 };
0310
0311
0312
0313
0314
0315
0316
0317 #endif