Back to home page

EIC code displayed by LXR

 
 

    


File indexing completed on 2026-09-15 09:17:30

0001 // Created on: 1996-02-13
0002 // Created by: Jean Yves LEBEY
0003 // Copyright (c) 1996-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 _TopOpeBRepBuild_GTopo_HeaderFile
0018 #define _TopOpeBRepBuild_GTopo_HeaderFile
0019 
0020 #include <Standard.hxx>
0021 #include <Standard_DefineAlloc.hxx>
0022 
0023 #include <TopAbs_ShapeEnum.hxx>
0024 #include <TopOpeBRepDS_Config.hxx>
0025 #include <Standard_Integer.hxx>
0026 #include <TopAbs_State.hxx>
0027 #include <Standard_OStream.hxx>
0028 
0029 class TopOpeBRepBuild_GTopo
0030 {
0031 public:
0032   DEFINE_STANDARD_ALLOC
0033 
0034   Standard_EXPORT TopOpeBRepBuild_GTopo();
0035 
0036   Standard_EXPORT TopOpeBRepBuild_GTopo(const bool                II,
0037                                         const bool                IN,
0038                                         const bool                IO,
0039                                         const bool                NI,
0040                                         const bool                NN,
0041                                         const bool                NO,
0042                                         const bool                OI,
0043                                         const bool                ON,
0044                                         const bool                OO,
0045                                         const TopAbs_ShapeEnum    t1,
0046                                         const TopAbs_ShapeEnum    t2,
0047                                         const TopOpeBRepDS_Config C1,
0048                                         const TopOpeBRepDS_Config C2);
0049 
0050   Standard_EXPORT void Reset();
0051 
0052   Standard_EXPORT void Set(const bool II,
0053                            const bool IN,
0054                            const bool IO,
0055                            const bool NI,
0056                            const bool NN,
0057                            const bool NO,
0058                            const bool OI,
0059                            const bool ON,
0060                            const bool OO);
0061 
0062   Standard_EXPORT void Type(TopAbs_ShapeEnum& t1, TopAbs_ShapeEnum& t2) const;
0063 
0064   Standard_EXPORT void ChangeType(const TopAbs_ShapeEnum t1, const TopAbs_ShapeEnum t2);
0065 
0066   Standard_EXPORT TopOpeBRepDS_Config Config1() const;
0067 
0068   Standard_EXPORT TopOpeBRepDS_Config Config2() const;
0069 
0070   Standard_EXPORT void ChangeConfig(const TopOpeBRepDS_Config C1, const TopOpeBRepDS_Config C2);
0071 
0072   Standard_EXPORT bool Value(const TopAbs_State s1, const TopAbs_State s2) const;
0073 
0074   Standard_EXPORT bool Value(const int I1, const int I2) const;
0075 
0076   Standard_EXPORT bool Value(const int II) const;
0077 
0078   Standard_EXPORT void ChangeValue(const int i1, const int i2, const bool b);
0079 
0080   Standard_EXPORT void ChangeValue(const TopAbs_State s1, const TopAbs_State s2, const bool b);
0081 
0082   Standard_EXPORT int GIndex(const TopAbs_State S) const;
0083 
0084   Standard_EXPORT TopAbs_State GState(const int I) const;
0085 
0086   Standard_EXPORT void Index(const int II, int& i1, int& i2) const;
0087 
0088   Standard_EXPORT void DumpVal(Standard_OStream&  OS,
0089                                const TopAbs_State s1,
0090                                const TopAbs_State s2) const;
0091 
0092   Standard_EXPORT void DumpType(Standard_OStream& OS) const;
0093 
0094   Standard_EXPORT static void DumpSSB(Standard_OStream&  OS,
0095                                       const TopAbs_State s1,
0096                                       const TopAbs_State s2,
0097                                       const bool         b);
0098 
0099   Standard_EXPORT virtual void Dump(Standard_OStream& OS, void* const s = nullptr) const;
0100 
0101   Standard_EXPORT void StatesON(TopAbs_State& s1, TopAbs_State& s2) const;
0102 
0103   Standard_EXPORT bool IsToReverse1() const;
0104 
0105   Standard_EXPORT bool IsToReverse2() const;
0106 
0107   Standard_EXPORT void SetReverse(const bool rev);
0108 
0109   Standard_EXPORT bool Reverse() const;
0110 
0111   Standard_EXPORT TopOpeBRepBuild_GTopo CopyPermuted() const;
0112 
0113 private:
0114   bool                mycases[3][3];
0115   TopAbs_ShapeEnum    myt1;
0116   TopAbs_ShapeEnum    myt2;
0117   TopOpeBRepDS_Config myConfig1;
0118   TopOpeBRepDS_Config myConfig2;
0119   bool                myReverseForce;
0120   bool                myReverseValue;
0121 };
0122 
0123 #endif // _TopOpeBRepBuild_GTopo_HeaderFile