Back to home page

EIC code displayed by LXR

 
 

    


File indexing completed on 2026-09-24 09:15:29

0001 // Created on: 1994-03-09
0002 // Created by: Isabelle GRIGNON
0003 // Copyright (c) 1994-1999 Matra Datavision
0004 // Copyright (c) 1999-2014 OPEN CASCADE SAS
0005 //
0006 // This file is part of Open CASCADE Technology software library.
0007 //
0008 // This library is free software; you can redistribute it and/or modify it under
0009 // the terms of the GNU Lesser General Public License version 2.1 as published
0010 // by the Free Software Foundation, with special exception defined in the file
0011 // OCCT_LGPL_EXCEPTION.txt. Consult the file LICENSE_LGPL_21.txt included in OCCT
0012 // distribution for complete text of the license and disclaimer of any warranty.
0013 //
0014 // Alternatively, this file may be used under the terms of Open CASCADE
0015 // commercial license or contractual agreement.
0016 
0017 #ifndef _ChFiDS_Stripe_HeaderFile
0018 #define _ChFiDS_Stripe_HeaderFile
0019 
0020 #include <Standard.hxx>
0021 #include <Standard_Type.hxx>
0022 
0023 #include <ChFiDS_SurfData.hxx>
0024 #include <NCollection_Sequence.hxx>
0025 #include <NCollection_HSequence.hxx>
0026 #include <Standard_Integer.hxx>
0027 #include <TopAbs_Orientation.hxx>
0028 #include <Standard_Transient.hxx>
0029 class ChFiDS_Spine;
0030 class Geom2d_Curve;
0031 
0032 //! Data characterising a band of fillet.
0033 class ChFiDS_Stripe : public Standard_Transient
0034 {
0035 
0036 public:
0037   Standard_EXPORT ChFiDS_Stripe();
0038 
0039   //! Reset everything except Spine.
0040   Standard_EXPORT void Reset();
0041 
0042   const occ::handle<NCollection_HSequence<occ::handle<ChFiDS_SurfData>>>& SetOfSurfData() const;
0043 
0044   const occ::handle<ChFiDS_Spine>& Spine() const;
0045 
0046   TopAbs_Orientation OrientationOnFace1() const;
0047 
0048   TopAbs_Orientation OrientationOnFace2() const;
0049 
0050   int Choix() const;
0051 
0052   occ::handle<NCollection_HSequence<occ::handle<ChFiDS_SurfData>>>& ChangeSetOfSurfData();
0053 
0054   occ::handle<ChFiDS_Spine>& ChangeSpine();
0055 
0056   void OrientationOnFace1(const TopAbs_Orientation Or1);
0057 
0058   void OrientationOnFace2(const TopAbs_Orientation Or2);
0059 
0060   void Choix(const int C);
0061 
0062   void FirstParameters(double& Pdeb, double& Pfin) const;
0063 
0064   void LastParameters(double& Pdeb, double& Pfin) const;
0065 
0066   void ChangeFirstParameters(const double Pdeb, const double Pfin);
0067 
0068   void ChangeLastParameters(const double Pdeb, const double Pfin);
0069 
0070   int FirstCurve() const;
0071 
0072   int LastCurve() const;
0073 
0074   void ChangeFirstCurve(const int Index);
0075 
0076   void ChangeLastCurve(const int Index);
0077 
0078   const occ::handle<Geom2d_Curve>& FirstPCurve() const;
0079 
0080   const occ::handle<Geom2d_Curve>& LastPCurve() const;
0081 
0082   occ::handle<Geom2d_Curve>& ChangeFirstPCurve();
0083 
0084   occ::handle<Geom2d_Curve>& ChangeLastPCurve();
0085 
0086   TopAbs_Orientation FirstPCurveOrientation() const;
0087 
0088   TopAbs_Orientation LastPCurveOrientation() const;
0089 
0090   void FirstPCurveOrientation(const TopAbs_Orientation O);
0091 
0092   void LastPCurveOrientation(const TopAbs_Orientation O);
0093 
0094   int IndexFirstPointOnS1() const;
0095 
0096   int IndexFirstPointOnS2() const;
0097 
0098   int IndexLastPointOnS1() const;
0099 
0100   int IndexLastPointOnS2() const;
0101 
0102   void ChangeIndexFirstPointOnS1(const int Index);
0103 
0104   void ChangeIndexFirstPointOnS2(const int Index);
0105 
0106   void ChangeIndexLastPointOnS1(const int Index);
0107 
0108   void ChangeIndexLastPointOnS2(const int Index);
0109 
0110   Standard_EXPORT void Parameters(const bool First, double& Pdeb, double& Pfin) const;
0111 
0112   Standard_EXPORT void SetParameters(const bool First, const double Pdeb, const double Pfin);
0113 
0114   Standard_EXPORT int Curve(const bool First) const;
0115 
0116   Standard_EXPORT void SetCurve(const int Index, const bool First);
0117 
0118   Standard_EXPORT const occ::handle<Geom2d_Curve>& PCurve(const bool First) const;
0119 
0120   Standard_EXPORT occ::handle<Geom2d_Curve>& ChangePCurve(const bool First);
0121 
0122   Standard_EXPORT TopAbs_Orientation Orientation(const int OnS) const;
0123 
0124   Standard_EXPORT void SetOrientation(const TopAbs_Orientation Or, const int OnS);
0125 
0126   Standard_EXPORT TopAbs_Orientation Orientation(const bool First) const;
0127 
0128   Standard_EXPORT void SetOrientation(const TopAbs_Orientation Or, const bool First);
0129 
0130   Standard_EXPORT int IndexPoint(const bool First, const int OnS) const;
0131 
0132   Standard_EXPORT void SetIndexPoint(const int Index, const bool First, const int OnS);
0133 
0134   Standard_EXPORT int SolidIndex() const;
0135 
0136   Standard_EXPORT void SetSolidIndex(const int Index);
0137 
0138   //! Set nb of SurfData's at end put in DS
0139   Standard_EXPORT void InDS(const bool First, const int Nb = 1);
0140 
0141   //! Returns nb of SurfData's at end being in DS
0142   Standard_EXPORT int IsInDS(const bool First) const;
0143 
0144   DEFINE_STANDARD_RTTIEXT(ChFiDS_Stripe, Standard_Transient)
0145 
0146 private:
0147   double                                                           pardeb1;
0148   double                                                           parfin1;
0149   double                                                           pardeb2;
0150   double                                                           parfin2;
0151   occ::handle<ChFiDS_Spine>                                        mySpine;
0152   occ::handle<NCollection_HSequence<occ::handle<ChFiDS_SurfData>>> myHdata;
0153   occ::handle<Geom2d_Curve>                                        pcrv1;
0154   occ::handle<Geom2d_Curve>                                        pcrv2;
0155   int                                                              myChoix;
0156   int                                                              indexOfSolid;
0157   int                                                              indexOfcurve1;
0158   int                                                              indexOfcurve2;
0159   int                                                              indexfirstPOnS1;
0160   int                                                              indexlastPOnS1;
0161   int                                                              indexfirstPOnS2;
0162   int                                                              indexlastPOnS2;
0163   int                                                              begfilled;
0164   int                                                              endfilled;
0165   TopAbs_Orientation                                               myOr1;
0166   TopAbs_Orientation                                               myOr2;
0167   TopAbs_Orientation                                               orcurv1;
0168   TopAbs_Orientation                                               orcurv2;
0169 };
0170 
0171 #include <ChFiDS_Stripe.lxx>
0172 
0173 #endif // _ChFiDS_Stripe_HeaderFile