File indexing completed on 2026-06-13 08:29:46
0001
0002
0003
0004
0005
0006
0007
0008
0009
0010
0011
0012
0013
0014
0015 #ifndef BOPDS_Interf_HeaderFile
0016 #define BOPDS_Interf_HeaderFile
0017
0018 #include <IntTools_CommonPrt.hxx>
0019 #include <NCollection_BaseAllocator.hxx>
0020 #include <BOPDS_VectorOfCurve.hxx>
0021 #include <BOPDS_VectorOfPoint.hxx>
0022
0023
0024
0025
0026
0027
0028
0029
0030
0031
0032
0033 class BOPDS_Interf
0034 {
0035 public:
0036
0037
0038
0039
0040
0041
0042
0043
0044 void SetIndices(const Standard_Integer theIndex1, const Standard_Integer theIndex2)
0045 {
0046 myIndex1 = theIndex1;
0047 myIndex2 = theIndex2;
0048 }
0049
0050
0051
0052
0053
0054
0055
0056
0057
0058 void Indices(Standard_Integer& theIndex1, Standard_Integer& theIndex2) const
0059 {
0060 theIndex1 = myIndex1;
0061 theIndex2 = myIndex2;
0062 }
0063
0064
0065
0066
0067
0068
0069
0070 void SetIndex1(const Standard_Integer theIndex) { myIndex1 = theIndex; }
0071
0072
0073
0074
0075
0076
0077
0078 void SetIndex2(const Standard_Integer theIndex) { myIndex2 = theIndex; }
0079
0080
0081
0082
0083
0084
0085
0086 Standard_Integer Index1() const { return myIndex1; }
0087
0088
0089
0090
0091
0092
0093
0094 Standard_Integer Index2() const { return myIndex2; }
0095
0096
0097
0098
0099
0100
0101
0102
0103
0104 Standard_Integer OppositeIndex(const Standard_Integer theI) const
0105 {
0106 if (theI == myIndex1)
0107 {
0108 return myIndex2;
0109 }
0110 else if (theI == myIndex2)
0111 {
0112 return myIndex1;
0113 }
0114 else
0115 {
0116 return -1;
0117 }
0118 }
0119
0120
0121
0122
0123
0124
0125
0126
0127
0128 Standard_Boolean Contains(const Standard_Integer theIndex) const
0129 {
0130 return (myIndex1 == theIndex || myIndex2 == theIndex);
0131 }
0132
0133
0134
0135
0136
0137
0138
0139 void SetIndexNew(const Standard_Integer theIndex) { myIndexNew = theIndex; }
0140
0141
0142
0143
0144
0145
0146
0147
0148 Standard_Integer IndexNew() const { return myIndexNew; }
0149
0150
0151
0152
0153
0154
0155
0156
0157
0158
0159 Standard_Boolean HasIndexNew(Standard_Integer& theIndex) const
0160 {
0161 theIndex = myIndexNew;
0162 return (myIndexNew >= 0);
0163 }
0164
0165
0166
0167
0168
0169
0170
0171 Standard_Boolean HasIndexNew() const { return (myIndexNew + 1) != 0; }
0172
0173
0174 protected:
0175 BOPDS_Interf()
0176 : myIndex1(-1),
0177 myIndex2(-1),
0178 myIndexNew(-1),
0179 myAllocator(NCollection_BaseAllocator::CommonBaseAllocator())
0180 {
0181 }
0182
0183
0184 BOPDS_Interf(const Handle(NCollection_BaseAllocator)& theAllocator)
0185 : myIndex1(-1),
0186 myIndex2(-1),
0187 myIndexNew(-1),
0188 myAllocator(theAllocator)
0189 {
0190 }
0191
0192
0193 virtual ~BOPDS_Interf() {}
0194
0195 protected:
0196 Standard_Integer myIndex1;
0197 Standard_Integer myIndex2;
0198 Standard_Integer myIndexNew;
0199 Handle(NCollection_BaseAllocator) myAllocator;
0200 };
0201
0202
0203
0204
0205
0206
0207
0208
0209
0210 class BOPDS_InterfVV : public BOPDS_Interf
0211 {
0212 public:
0213
0214
0215
0216
0217 BOPDS_InterfVV()
0218 : BOPDS_Interf()
0219 {
0220 }
0221
0222
0223
0224
0225
0226
0227
0228 BOPDS_InterfVV(const Handle(NCollection_BaseAllocator)& theAllocator)
0229 : BOPDS_Interf(theAllocator)
0230 {
0231 }
0232
0233
0234
0235
0236
0237 virtual ~BOPDS_InterfVV() {}
0238
0239
0240 };
0241
0242
0243
0244
0245
0246
0247
0248
0249
0250 class BOPDS_InterfVE : public BOPDS_Interf
0251 {
0252 public:
0253
0254
0255
0256
0257 BOPDS_InterfVE()
0258 : BOPDS_Interf(),
0259 myParameter(0.)
0260 {
0261 }
0262
0263
0264
0265
0266
0267
0268
0269 BOPDS_InterfVE(const Handle(NCollection_BaseAllocator)& theAllocator)
0270 : BOPDS_Interf(theAllocator),
0271 myParameter(0.)
0272 {
0273 }
0274
0275
0276
0277
0278
0279 virtual ~BOPDS_InterfVE() {}
0280
0281
0282
0283
0284
0285
0286
0287
0288
0289
0290 void SetParameter(const Standard_Real theT) { myParameter = theT; }
0291
0292
0293
0294
0295
0296
0297
0298
0299
0300
0301 Standard_Real Parameter() const { return myParameter; }
0302
0303 protected:
0304 Standard_Real myParameter;
0305 };
0306
0307
0308
0309
0310
0311
0312
0313
0314
0315 class BOPDS_InterfVF : public BOPDS_Interf
0316 {
0317 public:
0318
0319
0320
0321
0322 BOPDS_InterfVF()
0323 : BOPDS_Interf(),
0324 myU(0.),
0325 myV(0.)
0326 {
0327 }
0328
0329
0330
0331
0332
0333
0334
0335 BOPDS_InterfVF(const Handle(NCollection_BaseAllocator)& theAllocator)
0336 : BOPDS_Interf(theAllocator),
0337 myU(0.),
0338 myV(0.)
0339 {
0340 }
0341
0342
0343
0344
0345
0346 virtual ~BOPDS_InterfVF() {}
0347
0348
0349
0350
0351
0352
0353
0354
0355
0356
0357
0358
0359 void SetUV(const Standard_Real theU, const Standard_Real theV)
0360 {
0361 myU = theU;
0362 myV = theV;
0363 }
0364
0365
0366
0367
0368
0369
0370
0371
0372
0373
0374
0375
0376 void UV(Standard_Real& theU, Standard_Real& theV) const
0377 {
0378 theU = myU;
0379 theV = myV;
0380 }
0381
0382 protected:
0383 Standard_Real myU;
0384 Standard_Real myV;
0385 };
0386
0387
0388
0389
0390
0391
0392
0393
0394
0395 class BOPDS_InterfEE : public BOPDS_Interf
0396 {
0397 public:
0398
0399
0400
0401
0402 BOPDS_InterfEE()
0403 : BOPDS_Interf()
0404 {
0405 }
0406
0407
0408
0409
0410
0411
0412
0413 BOPDS_InterfEE(const Handle(NCollection_BaseAllocator)& theAllocator)
0414 : BOPDS_Interf(theAllocator)
0415 {
0416 }
0417
0418
0419
0420
0421
0422 virtual ~BOPDS_InterfEE() {}
0423
0424
0425
0426
0427
0428
0429
0430
0431 void SetCommonPart(const IntTools_CommonPrt& theCP) { myCommonPart = theCP; }
0432
0433
0434
0435
0436
0437
0438
0439
0440 const IntTools_CommonPrt& CommonPart() const { return myCommonPart; }
0441
0442 protected:
0443 IntTools_CommonPrt myCommonPart;
0444 };
0445
0446
0447
0448
0449
0450
0451
0452
0453
0454 class BOPDS_InterfEF : public BOPDS_Interf
0455 {
0456 public:
0457
0458
0459
0460
0461 BOPDS_InterfEF()
0462 : BOPDS_Interf()
0463 {
0464 }
0465
0466
0467
0468
0469
0470
0471
0472
0473
0474
0475
0476
0477 BOPDS_InterfEF(const Handle(NCollection_BaseAllocator)& theAllocator)
0478 : BOPDS_Interf(theAllocator)
0479 {
0480 }
0481
0482
0483
0484
0485
0486 virtual ~BOPDS_InterfEF() {}
0487
0488
0489
0490
0491
0492
0493
0494
0495 void SetCommonPart(const IntTools_CommonPrt& theCP) { myCommonPart = theCP; }
0496
0497
0498
0499
0500
0501
0502
0503
0504 const IntTools_CommonPrt& CommonPart() const { return myCommonPart; }
0505
0506
0507 protected:
0508 IntTools_CommonPrt myCommonPart;
0509 }
0510
0511
0512
0513
0514 ;
0515
0516
0517
0518
0519
0520 class BOPDS_InterfFF : public BOPDS_Interf
0521 {
0522 public:
0523
0524
0525
0526
0527 BOPDS_InterfFF()
0528 : BOPDS_Interf(),
0529 myTangentFaces(Standard_False),
0530 myCurves(0, myAllocator),
0531 myPoints(0, myAllocator)
0532 {
0533 }
0534
0535
0536
0537
0538
0539 virtual ~BOPDS_InterfFF() {}
0540
0541
0542
0543
0544
0545
0546
0547
0548
0549
0550 void Init(const Standard_Integer theNbCurves, const Standard_Integer theNbPoints)
0551 {
0552 if (theNbCurves > 0)
0553 {
0554 myCurves.SetIncrement(theNbCurves);
0555 }
0556 if (theNbPoints > 0)
0557 {
0558 myPoints.SetIncrement(theNbPoints);
0559 }
0560 }
0561
0562
0563
0564
0565
0566
0567
0568 void SetTangentFaces(const Standard_Boolean theFlag) { myTangentFaces = theFlag; }
0569
0570
0571
0572
0573
0574
0575
0576 Standard_Boolean TangentFaces() const { return myTangentFaces; }
0577
0578
0579
0580
0581
0582
0583
0584
0585 const BOPDS_VectorOfCurve& Curves() const { return myCurves; }
0586
0587
0588
0589
0590
0591
0592
0593
0594 BOPDS_VectorOfCurve& ChangeCurves() { return myCurves; }
0595
0596
0597
0598
0599
0600
0601
0602
0603 const BOPDS_VectorOfPoint& Points() const { return myPoints; }
0604
0605
0606
0607
0608
0609
0610
0611
0612 BOPDS_VectorOfPoint& ChangePoints() { return myPoints; }
0613
0614
0615 protected:
0616 Standard_Boolean myTangentFaces;
0617 BOPDS_VectorOfCurve myCurves;
0618 BOPDS_VectorOfPoint myPoints;
0619 };
0620
0621
0622
0623
0624
0625
0626
0627
0628
0629 class BOPDS_InterfVZ : public BOPDS_Interf
0630 {
0631 public:
0632
0633
0634
0635
0636 BOPDS_InterfVZ()
0637 : BOPDS_Interf() {};
0638
0639
0640
0641
0642
0643
0644 BOPDS_InterfVZ(const Handle(NCollection_BaseAllocator)& theAllocator)
0645 : BOPDS_Interf(theAllocator) {};
0646
0647
0648
0649
0650 virtual ~BOPDS_InterfVZ() {};
0651
0652 };
0653
0654
0655
0656
0657
0658
0659
0660
0661
0662 class BOPDS_InterfEZ : public BOPDS_Interf
0663 {
0664 public:
0665
0666
0667
0668
0669 BOPDS_InterfEZ()
0670 : BOPDS_Interf() {};
0671
0672
0673
0674
0675
0676
0677 BOPDS_InterfEZ(const Handle(NCollection_BaseAllocator)& theAllocator)
0678 : BOPDS_Interf(theAllocator) {};
0679
0680
0681
0682
0683 virtual ~BOPDS_InterfEZ() {};
0684
0685 };
0686
0687
0688
0689
0690
0691
0692
0693
0694
0695 class BOPDS_InterfFZ : public BOPDS_Interf
0696 {
0697 public:
0698
0699
0700
0701
0702 BOPDS_InterfFZ()
0703 : BOPDS_Interf() {};
0704
0705
0706
0707
0708
0709
0710 BOPDS_InterfFZ(const Handle(NCollection_BaseAllocator)& theAllocator)
0711 : BOPDS_Interf(theAllocator) {};
0712
0713
0714
0715
0716 virtual ~BOPDS_InterfFZ() {};
0717
0718 };
0719
0720
0721
0722
0723
0724
0725
0726
0727
0728 class BOPDS_InterfZZ : public BOPDS_Interf
0729 {
0730 public:
0731
0732
0733
0734
0735 BOPDS_InterfZZ()
0736 : BOPDS_Interf() {};
0737
0738
0739
0740
0741
0742
0743 BOPDS_InterfZZ(const Handle(NCollection_BaseAllocator)& theAllocator)
0744 : BOPDS_Interf(theAllocator) {};
0745
0746
0747
0748
0749 virtual ~BOPDS_InterfZZ() {};
0750
0751 };
0752
0753 #endif