b302ca26d387272ce74fde67cc0d3ee11de99dff
[occt.git] / src / MeshVS / MeshVS_TwoColors.hxx
1 // Created on: 2003-10-08
2 // Created by: Alexander SOLOVYOV
3 // Copyright (c) 2003-2014 OPEN CASCADE SAS
4 //
5 // This file is part of Open CASCADE Technology software library.
6 //
7 // This library is free software; you can redistribute it and/or modify it under
8 // the terms of the GNU Lesser General Public License version 2.1 as published
9 // by the Free Software Foundation, with special exception defined in the file
10 // OCCT_LGPL_EXCEPTION.txt. Consult the file LICENSE_LGPL_21.txt included in OCCT
11 // distribution for complete text of the license and disclaimer of any warranty.
12 //
13 // Alternatively, this file may be used under the terms of Open CASCADE
14 // commercial license or contractual agreement.
15
16 #ifndef MeshVS_TwoColors_HeaderFile
17 #define MeshVS_TwoColors_HeaderFile
18
19 #include <Quantity_Color.hxx>
20
21 typedef struct {
22   unsigned int r1 : 8;
23   unsigned int g1 : 8;
24   unsigned int b1 : 8;
25   unsigned int r2 : 8;
26   unsigned int g2 : 8;
27   unsigned int b2 : 8;
28 } MeshVS_TwoColors;
29
30
31 Standard_EXPORT Standard_Integer HashCode ( const MeshVS_TwoColors& theKey,
32                                             const Standard_Integer  theUpper  );
33
34 Standard_EXPORT Standard_Boolean IsEqual (const MeshVS_TwoColors& K1,
35                                           const MeshVS_TwoColors& K2  );
36
37 Standard_EXPORT Standard_Boolean operator== ( const MeshVS_TwoColors& K1,
38                                               const MeshVS_TwoColors& K2  );
39
40 Standard_EXPORT MeshVS_TwoColors  BindTwoColors ( const Quantity_Color&, const Quantity_Color& );
41 Standard_EXPORT Quantity_Color    ExtractColor  ( MeshVS_TwoColors&, const Standard_Integer );
42 Standard_EXPORT void              ExtractColors ( MeshVS_TwoColors&, Quantity_Color&, Quantity_Color& );
43
44 #endif