blob: 6e3134d710068cf56d208645043d0db6183679ae (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
|
//--------------------------------------------------------------------
//
// File Name : IGESGraph_Color.cxx
// Date :
// Author : CKY / Contract Toubro-Larsen
// Copyright : MATRA-DATAVISION 1993
//
//--------------------------------------------------------------------
#include <IGESGraph_Color.ixx>
IGESGraph_Color::IGESGraph_Color () { }
// This class inherits from IGESData_ColorEntity
void IGESGraph_Color::Init
(const Standard_Real red,
const Standard_Real green,
const Standard_Real blue,
const Handle(TCollection_HAsciiString)& aColorName)
{
theRed = red;
theGreen = green;
theBlue = blue;
theColorName = aColorName;
InitTypeAndForm(314,0);
}
void IGESGraph_Color::RGBIntensity
(Standard_Real& Red, Standard_Real& Green, Standard_Real& Blue) const
{
Red = theRed;
Green = theGreen;
Blue = theBlue;
}
void IGESGraph_Color::CMYIntensity
(Standard_Real& Cyan, Standard_Real& Magenta, Standard_Real& Yellow) const
{
Cyan = 100.0 - theRed;
Magenta = 100.0 - theGreen;
Yellow = 100.0 - theBlue;
}
void IGESGraph_Color::HLSPercentage
(Standard_Real& Hue, Standard_Real& Lightness, Standard_Real& Saturation) const
{
Hue = ((1.0 / (2.0 * PI)) *
(ATan(((2 * theRed) - theGreen - theBlue) /
(Sqrt(3) * (theGreen - theBlue)))));
Lightness = ((1.0 / 3.0) * (theRed + theGreen + theBlue));
Saturation = (Sqrt((theRed * theRed ) +
(theGreen * theGreen) +
(theBlue * theBlue ) -
(theRed * theGreen) -
(theRed * theBlue ) -
(theBlue * theGreen)));
}
Standard_Boolean IGESGraph_Color::HasColorName () const
{
return (! theColorName.IsNull());
}
Handle(TCollection_HAsciiString) IGESGraph_Color::ColorName () const
{
return theColorName;
}
|