Open3D (C++ API)  0.16.0
Label3D.h
Go to the documentation of this file.
1// ----------------------------------------------------------------------------
2// - Open3D: www.open3d.org -
3// ----------------------------------------------------------------------------
4// The MIT License (MIT)
5//
6// Copyright (c) 2018-2021 www.open3d.org
7//
8// Permission is hereby granted, free of charge, to any person obtaining a copy
9// of this software and associated documentation files (the "Software"), to deal
10// in the Software without restriction, including without limitation the rights
11// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
12// copies of the Software, and to permit persons to whom the Software is
13// furnished to do so, subject to the following conditions:
14//
15// The above copyright notice and this permission notice shall be included in
16// all copies or substantial portions of the Software.
17//
18// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
19// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
20// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
21// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
22// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
23// FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS
24// IN THE SOFTWARE.
25// ----------------------------------------------------------------------------
26
27#pragma once
28
29#include <memory>
30
32namespace open3d {
33namespace visualization {
34namespace gui {
35
36// Label3D is a helper class for labels (like UI Labels) at 3D points as opposed
37// to screen points. It is NOT a UI widget but is instead used via Open3DScene
38// class. See Open3DScene::AddLabel/RemoveLabel.
39class Label3D {
40public:
42 explicit Label3D(const Eigen::Vector3f& pos, const char* text = nullptr);
43 ~Label3D();
44
45 const char* GetText() const;
47 void SetText(const char* text);
48
49 Eigen::Vector3f GetPosition() const;
50 void SetPosition(const Eigen::Vector3f& pos);
51
53 Color GetTextColor() const;
54
56 void SetTextColor(const Color& color);
57
59 float GetTextScale() const;
60
64 void SetTextScale(float scale);
65
66private:
67 struct Impl;
68 std::unique_ptr<Impl> impl_;
69};
70
71} // namespace gui
72} // namespace visualization
73} // namespace open3d
math::float4 color
Definition: LineSetBuffers.cpp:64
Definition: Color.h:35
Definition: Label3D.h:39
Color GetTextColor() const
Returns the color with which the text will be drawn.
Definition: Label3D.cpp:64
const char * GetText() const
Definition: Label3D.cpp:54
Label3D(const Eigen::Vector3f &pos, const char *text=nullptr)
Copies text.
Definition: Label3D.cpp:44
float GetTextScale() const
Get the current scale. See not below on meaning of scale.
Definition: Label3D.cpp:68
~Label3D()
Definition: Label3D.cpp:52
void SetPosition(const Eigen::Vector3f &pos)
Definition: Label3D.cpp:60
void SetTextScale(float scale)
Definition: Label3D.cpp:70
Eigen::Vector3f GetPosition() const
Definition: Label3D.cpp:58
void SetTextColor(const Color &color)
Set the color with which the text will be drawn.
Definition: Label3D.cpp:66
void SetText(const char *text)
Sets the text of the label (copies text)
Definition: Label3D.cpp:56
Definition: PinholeCameraIntrinsic.cpp:35