REVLib - C++
Loading...
Searching...
No Matches
CIEColor.h
Go to the documentation of this file.
1
/*
2
* Copyright (c) 2020-2026 REV Robotics
3
*
4
* Redistribution and use in source and binary forms, with or without
5
* modification, are permitted provided that the following conditions are met:
6
*
7
* 1. Redistributions of source code must retain the above copyright notice,
8
* this list of conditions and the following disclaimer.
9
* 2. Redistributions in binary form must reproduce the above copyright
10
* notice, this list of conditions and the following disclaimer in the
11
* documentation and/or other materials provided with the distribution.
12
* 3. Neither the name of REV Robotics nor the names of its
13
* contributors may be used to endorse or promote products derived from
14
* this software without specific prior written permission.
15
*
16
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
17
* AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
18
* IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
19
* ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE
20
* LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
21
* CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
22
* SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
23
* INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
24
* CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
25
* ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
26
* POSSIBILITY OF SUCH DAMAGE.
27
*/
28
29
#pragma once
30
31
#include <wpi/util/Color.hpp>
32
33
namespace
rev
{
34
35
class
CIEColor
{
36
public
:
37
CIEColor
(
double
X,
double
Y,
double
Z) : X(X), Y(Y), Z(Z), mag(X + Y + Z) {}
38
44
double
GetX
() {
return
X; }
45
51
double
GetY
() {
return
Y; }
52
58
double
GetZ
() {
return
Z; }
59
68
double
GetYx
() {
return
X / mag; }
69
78
double
GetYy
() {
return
Y / mag; }
79
80
private
:
81
// This is private until we get it working correctly
82
wpi::util::Color ToRGB();
83
static
const
double
IlluminantD65[3];
84
static
const
double
XYZtoRGB[9];
85
double
X;
86
double
Y;
87
double
Z;
88
double
mag;
89
};
90
91
}
// namespace rev
rev::CIEColor
Definition
CIEColor.h:35
rev::CIEColor::GetYx
double GetYx()
Definition
CIEColor.h:68
rev::CIEColor::GetZ
double GetZ()
Definition
CIEColor.h:58
rev::CIEColor::GetY
double GetY()
Definition
CIEColor.h:51
rev::CIEColor::GetX
double GetX()
Definition
CIEColor.h:44
rev::CIEColor::GetYy
double GetYy()
Definition
CIEColor.h:78
rev::CIEColor::CIEColor
CIEColor(double X, double Y, double Z)
Definition
CIEColor.h:37
rev
Definition
AbsoluteEncoder.h:33
src
main
native
include
rev
CIEColor.h
Generated by
1.12.0