Open3D (C++ API)
0.19.0
Toggle main menu visibility
Loading...
Searching...
No Matches
cpp
open3d
visualization
utility
ColorMap.h
Go to the documentation of this file.
1
// ----------------------------------------------------------------------------
2
// - Open3D: www.open3d.org -
3
// ----------------------------------------------------------------------------
4
// Copyright (c) 2018-2024 www.open3d.org
5
// SPDX-License-Identifier: MIT
6
// ----------------------------------------------------------------------------
7
8
#pragma once
9
10
#include <Eigen/Core>
11
#include <memory>
12
13
namespace
open3d
{
14
namespace
visualization
{
15
16
class
ColorMap
{
17
public
:
18
enum class
ColorMapOption
{
19
Gray
= 0,
20
Jet
= 1,
21
Summer
= 2,
22
Winter
= 3,
23
Hot
= 4,
24
};
25
26
public
:
27
ColorMap
() {}
28
virtual
~ColorMap
() {}
29
30
public
:
32
virtual
Eigen::Vector3d
GetColor
(
double
value)
const
= 0;
33
34
protected
:
35
double
Interpolate
(
36
double
value,
double
y0,
double
x0,
double
y1,
double
x1)
const
{
37
if
(value < x0)
return
y0;
38
if
(value > x1)
return
y1;
39
return
(value - x0) * (y1 - y0) / (x1 - x0) + y0;
40
}
41
Eigen::Vector3d
Interpolate
(
double
value,
42
const
Eigen::Vector3d &y0,
43
double
x0,
44
const
Eigen::Vector3d &y1,
45
double
x1)
const
{
46
if
(value < x0)
return
y0;
47
if
(value > x1)
return
y1;
48
return
(value - x0) * (y1 - y0) / (x1 - x0) + y0;
49
}
50
};
51
52
class
ColorMapGray
final :
public
ColorMap
{
53
public
:
54
Eigen::Vector3d
GetColor
(
double
value)
const
final
;
55
};
56
58
class
ColorMapJet
final :
public
ColorMap
{
59
public
:
60
Eigen::Vector3d
GetColor
(
double
value)
const
final
;
61
62
protected
:
63
double
JetBase
(
double
value)
const
{
64
if
(value <= -0.75) {
65
return
0.0;
66
}
else
if
(value <= -0.25) {
67
return
Interpolate
(value, 0.0, -0.75, 1.0, -0.25);
68
}
else
if
(value <= 0.25) {
69
return
1.0;
70
}
else
if
(value <= 0.75) {
71
return
Interpolate
(value, 1.0, 0.25, 0.0, 0.75);
72
}
else
{
73
return
0.0;
74
}
75
}
76
};
77
79
class
ColorMapSummer
final :
public
ColorMap
{
80
public
:
81
Eigen::Vector3d
GetColor
(
double
value)
const
final
;
82
};
83
85
class
ColorMapWinter
final :
public
ColorMap
{
86
public
:
87
Eigen::Vector3d
GetColor
(
double
value)
const
final
;
88
};
89
90
class
ColorMapHot
final :
public
ColorMap
{
91
public
:
92
Eigen::Vector3d
GetColor
(
double
value)
const
final
;
93
};
94
96
const
std::shared_ptr<const ColorMap>
GetGlobalColorMap
();
97
void
SetGlobalColorMap
(
ColorMap::ColorMapOption
option);
98
99
}
// namespace visualization
100
}
// namespace open3d
open3d::visualization::ColorMapGray
Definition
ColorMap.h:52
open3d::visualization::ColorMapGray::GetColor
Eigen::Vector3d GetColor(double value) const final
Function to get a color from a value in [0..1].
Definition
ColorMap.cpp:44
open3d::visualization::ColorMapHot
Definition
ColorMap.h:90
open3d::visualization::ColorMapHot::GetColor
Eigen::Vector3d GetColor(double value) const final
Function to get a color from a value in [0..1].
Definition
ColorMap.cpp:64
open3d::visualization::ColorMap::ColorMapOption
ColorMapOption
Definition
ColorMap.h:18
open3d::visualization::ColorMap::ColorMapOption::Jet
@ Jet
Definition
ColorMap.h:20
open3d::visualization::ColorMap::ColorMapOption::Hot
@ Hot
Definition
ColorMap.h:23
open3d::visualization::ColorMap::ColorMapOption::Summer
@ Summer
Definition
ColorMap.h:21
open3d::visualization::ColorMap::ColorMapOption::Gray
@ Gray
Definition
ColorMap.h:19
open3d::visualization::ColorMap::ColorMapOption::Winter
@ Winter
Definition
ColorMap.h:22
open3d::visualization::ColorMap::~ColorMap
virtual ~ColorMap()
Definition
ColorMap.h:28
open3d::visualization::ColorMap::GetColor
virtual Eigen::Vector3d GetColor(double value) const =0
Function to get a color from a value in [0..1].
open3d::visualization::ColorMap::Interpolate
Eigen::Vector3d Interpolate(double value, const Eigen::Vector3d &y0, double x0, const Eigen::Vector3d &y1, double x1) const
Definition
ColorMap.h:41
open3d::visualization::ColorMap::Interpolate
double Interpolate(double value, double y0, double x0, double y1, double x1) const
Definition
ColorMap.h:35
open3d::visualization::ColorMap::ColorMap
ColorMap()
Definition
ColorMap.h:27
open3d::visualization::ColorMapJet
See Matlab's Jet colormap.
Definition
ColorMap.h:58
open3d::visualization::ColorMapJet::JetBase
double JetBase(double value) const
Definition
ColorMap.h:63
open3d::visualization::ColorMapJet::GetColor
Eigen::Vector3d GetColor(double value) const final
Function to get a color from a value in [0..1].
Definition
ColorMap.cpp:48
open3d::visualization::ColorMapSummer
See Matlab's Summer colormap.
Definition
ColorMap.h:79
open3d::visualization::ColorMapSummer::GetColor
Eigen::Vector3d GetColor(double value) const final
Function to get a color from a value in [0..1].
Definition
ColorMap.cpp:54
open3d::visualization::ColorMapWinter
See Matlab's Winter colormap.
Definition
ColorMap.h:85
open3d::visualization::ColorMapWinter::GetColor
Eigen::Vector3d GetColor(double value) const final
Function to get a color from a value in [0..1].
Definition
ColorMap.cpp:59
open3d::visualization
Definition
ModelIO.h:14
open3d::visualization::GetGlobalColorMap
const std::shared_ptr< const ColorMap > GetGlobalColorMap()
Interface functions.
Definition
ColorMap.cpp:84
open3d::visualization::SetGlobalColorMap
void SetGlobalColorMap(ColorMap::ColorMapOption option)
Definition
ColorMap.cpp:88
open3d
Definition
PinholeCameraIntrinsic.cpp:16
Generated by
1.17.0