30657d22ba51551c12624e6d671273491c25c281
[occt.git] / src / BOPDS / BOPDS_Tools.lxx
1 // Created by: Peter KURNEV
2 // Copyright (c) 1999-2012 OPEN CASCADE SAS
3 //
4 // The content of this file is subject to the Open CASCADE Technology Public
5 // License Version 6.5 (the "License"). You may not use the content of this file
6 // except in compliance with the License. Please obtain a copy of the License
7 // at http://www.opencascade.org and read it completely before using this file.
8 //
9 // The Initial Developer of the Original Code is Open CASCADE S.A.S., having its
10 // main offices at: 1, place des Freres Montgolfier, 78280 Guyancourt, France.
11 //
12 // The Original Code and all software distributed under the License is
13 // distributed on an "AS IS" basis, without warranty of any kind, and the
14 // Initial Developer hereby disclaims all such warranties, including without
15 // limitation, any warranties of merchantability, fitness for a particular
16 // purpose or non-infringement. Please see the License for the specific terms
17 // and conditions governing the rights and limitations under the License.
18
19 //=======================================================================
20 // function: HasBRep
21 // purpose: 
22 //=======================================================================
23   inline Standard_Boolean BOPDS_Tools::HasBRep(const TopAbs_ShapeEnum aTi)
24 {
25   return (aTi==TopAbs_VERTEX || aTi==TopAbs_EDGE || aTi==TopAbs_FACE);
26 }//=======================================================================
27 //function : TypeToInteger
28 //purpose  : 
29 //=======================================================================
30   inline Standard_Integer BOPDS_Tools::TypeToInteger(const TopAbs_ShapeEnum aType1,
31                                                      const TopAbs_ShapeEnum aType2)
32 {
33   Standard_Integer iRet, iT1, iT2, iX;
34   //
35   iRet=-1;
36   iT1=(Standard_Integer)aType1;
37   iT2=(Standard_Integer)aType2;
38   //
39   iX=iT2*10+iT1;
40   switch (iX) {
41     case 77:
42       iRet=5; // VV
43       break;
44     case 76:
45     case 67:
46       iRet=4; // VE
47       break;
48     case 74:
49     case 47:
50       iRet=2; // VF
51       break;
52     case 66:
53       iRet=3; // EE
54       break;
55     case 64:
56     case 46:
57       iRet=1; // EF
58       break;
59     case 44:
60       iRet=0; // FF
61       break;
62     default:
63       break;
64   }
65   return iRet; 
66 }