0023024: Update headers of OCCT files
[occt.git] / src / Aspect / Aspect_ColorPixel.cxx
CommitLineData
b311480e 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
7fd59977 19#include <Aspect_ColorPixel.ixx>
20
21Aspect_ColorPixel::Aspect_ColorPixel () {
22
23 myColor.SetValues( 0.,0.,0. , Quantity_TOC_RGB ) ;
24
25}
26
27Aspect_ColorPixel::Aspect_ColorPixel (const Quantity_Color& aColor) {
28
29 myColor = aColor;
30
31}
32
33const Quantity_Color& Aspect_ColorPixel::Value() const {
34
35return myColor;
36
37}
38
39
40void Aspect_ColorPixel::SetValue(const Quantity_Color& aColor) {
41
42 myColor = aColor;
43
44}
45
46void 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// ------------------------------------------------------------------
58Standard_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
70Standard_Boolean Aspect_ColorPixel::IsEqual(const Aspect_ColorPixel& Other) const
71{
72 return (myColor == Other.myColor);
73}
74
75Standard_Boolean Aspect_ColorPixel::IsNotEqual(const Aspect_ColorPixel& Other) const
76{
77 return !IsEqual(Other);
78}