lsst.afw
g3a5ebb7d8a+28b83bf6a5
Toggle main menu visibility
Loading...
Searching...
No Matches
include
lsst
afw
image
Color.h
Go to the documentation of this file.
1
// -*- lsst-c++ -*-
2
/*
3
* Capture the colour of an object
4
*/
5
6
#ifndef LSST_AFW_IMAGE_COLOR_H
7
#define LSST_AFW_IMAGE_COLOR_H
8
9
#include <cmath>
10
#include <limits>
11
#include <string>
12
13
namespace
lsst
{
14
namespace
afw
{
15
namespace
image
{
16
23
class
Color
final {
24
public
:
26
Color
() noexcept
27
: _color_value(
std
::numeric_limits<
double
>::quiet_NaN()),
28
_color_type(),
29
_indeterminate(true) {}
30
32
Color
(
double
color_value,
std::string
const
& color_type) noexcept
33
: _color_value(color_value), _color_type(color_type), _indeterminate(
false
) {}
34
35
Color
(
Color
const
&) =
default
;
36
Color
(
Color
&&) =
default
;
37
Color
&
operator=
(
Color
const
&) =
default
;
38
Color
&
operator=
(
Color
&&) =
default
;
39
~Color
() noexcept = default;
40
42
bool
isIndeterminate
() const noexcept {
return
_indeterminate; }
43
45
double
getColorValue
() const noexcept {
return
_color_value; }
46
48
std::string
const
&
getColorType
() const noexcept {
return
_color_type; }
49
56
bool
operator==
(
Color
const
& other)
const
noexcept
{
57
if
(_indeterminate && other._indeterminate) {
58
return
true
;
59
}
60
if
(_indeterminate != other._indeterminate) {
61
return
false
;
62
}
63
return
_color_value == other._color_value && _color_type == other._color_type;
64
}
65
bool
operator!=
(
Color
const
& other)
const
noexcept
{
return
!(*
this
== other); }
66
67
private
:
68
double
_color_value;
69
std::string
_color_type;
70
bool
_indeterminate;
71
};
72
73
}
// namespace image
74
}
// namespace afw
75
}
// namespace lsst
76
77
#endif
std::string
lsst::afw::image::Color::getColorType
std::string const & getColorType() const noexcept
The color type string (e.g. "g-r"); only valid if !isIndeterminate().
Definition
Color.h:48
lsst::afw::image::Color::operator==
bool operator==(Color const &other) const noexcept
Equality comparison for colors.
Definition
Color.h:56
lsst::afw::image::Color::Color
Color(Color &&)=default
lsst::afw::image::Color::~Color
~Color() noexcept=default
lsst::afw::image::Color::operator=
Color & operator=(Color const &)=default
lsst::afw::image::Color::Color
Color(double color_value, std::string const &color_type) noexcept
Fully-specified color: both a numeric value and its type string.
Definition
Color.h:32
lsst::afw::image::Color::Color
Color(Color const &)=default
lsst::afw::image::Color::Color
Color() noexcept
Default: indeterminate color.
Definition
Color.h:26
lsst::afw::image::Color::getColorValue
double getColorValue() const noexcept
The numeric color value; only valid if !isIndeterminate().
Definition
Color.h:45
lsst::afw::image::Color::isIndeterminate
bool isIndeterminate() const noexcept
Whether this Color was default‑constructed (i.e. has no value/type).
Definition
Color.h:42
lsst::afw::image::Color::operator!=
bool operator!=(Color const &other) const noexcept
Definition
Color.h:65
lsst::afw::image::Color::operator=
Color & operator=(Color &&)=default
lsst::afw::image
Definition
imageAlgorithm.dox:1
lsst::afw
Definition
imageAlgorithm.dox:1
lsst
std
STL namespace.
Generated on
for lsst.afw by
1.17.0