0023024: Update headers of OCCT files
[occt.git] / src / Aspect / Aspect_ColorPixel.cxx
1 // Copyright (c) 1995-1999 Matra Datavision
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 #include <Aspect_ColorPixel.ixx>
20
21 Aspect_ColorPixel::Aspect_ColorPixel () {
22
23   myColor.SetValues( 0.,0.,0. , Quantity_TOC_RGB ) ;
24
25 }
26
27 Aspect_ColorPixel::Aspect_ColorPixel (const Quantity_Color& aColor) {
28
29   myColor = aColor;
30
31 }
32
33 const Quantity_Color& Aspect_ColorPixel::Value() const { 
34
35 return myColor;
36
37 }
38
39
40 void Aspect_ColorPixel::SetValue(const Quantity_Color& aColor) {
41
42   myColor = aColor;
43
44 }
45
46 void Aspect_ColorPixel::Print(Standard_OStream& s) const
47
48 { Standard_Real r,g,b ;
49
50   myColor.Values( r,g,b, Quantity_TOC_RGB ) ;
51
52   s << "( " << r << ", " << g << ", " << b << " )" << flush;
53 }
54
55 // ------------------------------------------------------------------
56 // Hascode : Computes a hascoding value for a given Aspect_ColorPixel
57 // ------------------------------------------------------------------
58 Standard_Integer Aspect_ColorPixel::HashCode(const Standard_Integer Upper) const
59 { Standard_Real r,g,b ;
60   Standard_Integer ret ;
61
62   myColor.Values( r,g,b, Quantity_TOC_RGB ) ;
63
64   ret = ( Standard_Integer ) ( ( r + g + b ) * Upper  ) ;
65
66   return ( ret % Upper ) + 1 ;
67 }
68
69
70 Standard_Boolean Aspect_ColorPixel::IsEqual(const Aspect_ColorPixel& Other) const
71 {
72   return (myColor == Other.myColor);
73 }
74
75 Standard_Boolean Aspect_ColorPixel::IsNotEqual(const Aspect_ColorPixel& Other) const
76 {
77   return !IsEqual(Other);
78 }