ACloudViewer  3.9.4
A Modern Library for 3D Data Processing
RendererStructs.h
Go to the documentation of this file.
1 // ----------------------------------------------------------------------------
2 // - CloudViewer: www.cloudViewer.org -
3 // ----------------------------------------------------------------------------
4 // Copyright (c) 2018-2024 www.cloudViewer.org
5 // SPDX-License-Identifier: MIT
6 // ----------------------------------------------------------------------------
7 
8 #pragma once
9 
10 #include <json/json.h>
11 
12 #include <Eigen/Geometry>
13 
15 
16 namespace cloudViewer {
17 
18 namespace visualization {
19 namespace rendering {
20 
23 
25  float intensity;
26  float falloff;
27  // Spot lights only
29  // Spot lights only
31  Eigen::Vector3f color;
32  Eigen::Vector3f direction;
33  Eigen::Vector3f position;
35 
36  Json::Value custom_attributes;
37 
39  : type(POINT),
40  intensity(10000),
41  falloff(10),
42  light_cone_inner(float(M_PI / 4.0)),
43  light_cone_outer(float(M_PI / 2.0)),
44  color(1.f, 1.f, 1.f),
45  direction(0.f, 0.f, -1.f),
46  position(0.f, 0.f, 0.f),
47  cast_shadows(true) {}
48 };
49 
50 } // namespace rendering
51 } // namespace visualization
52 } // namespace cloudViewer
constexpr double M_PI
Pi.
Definition: CVConst.h:19
Generic file read and write utility for python interface.