ACloudViewer  3.9.4
A Modern Library for 3D Data Processing
PCV.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 // cloudViewer
11 #include <GenericCloud.h>
12 #include <GenericIndexedMesh.h>
13 #include <GenericMesh.h>
15 
16 // Qt
17 #include <QString>
18 
19 // System
20 #include <vector>
21 
23 
25 class PCV {
26 public:
29 
43  static int Launch(
44  unsigned numberOfRays,
45  cloudViewer::GenericCloud* vertices,
46  cloudViewer::GenericMesh* mesh = nullptr,
47  bool meshIsClosed = false,
48  bool mode360 = true,
49  unsigned width = 1024,
50  unsigned height = 1024,
51  cloudViewer::GenericProgressCallback* progressCb = nullptr,
52  QString entityName = QString());
53 
55 
66  static bool Launch(
67  std::vector<CCVector3>& rays,
68  cloudViewer::GenericCloud* vertices,
69  cloudViewer::GenericMesh* mesh = nullptr,
70  bool meshIsClosed = false,
71  unsigned width = 1024,
72  unsigned height = 1024,
73  cloudViewer::GenericProgressCallback* progressCb = nullptr,
74  QString entityName = QString());
75 
77  static bool GenerateRays(unsigned numberOfRays,
78  std::vector<CCVector3>& rays,
79  bool mode360 = true);
80 };
int width
int height
PCV (Portion de Ciel Visible) algorithm.
Definition: PCV.h:25
static bool Launch(std::vector< CCVector3 > &rays, cloudViewer::GenericCloud *vertices, cloudViewer::GenericMesh *mesh=nullptr, bool meshIsClosed=false, unsigned width=1024, unsigned height=1024, cloudViewer::GenericProgressCallback *progressCb=nullptr, QString entityName=QString())
Simulates global illumination on a cloud (or a mesh) with OpenGL.
static bool GenerateRays(unsigned numberOfRays, std::vector< CCVector3 > &rays, bool mode360=true)
Generates a given number of rays.
Definition: PCV.cpp:159
static int Launch(unsigned numberOfRays, cloudViewer::GenericCloud *vertices, cloudViewer::GenericMesh *mesh=nullptr, bool meshIsClosed=false, bool mode360=true, unsigned width=1024, unsigned height=1024, cloudViewer::GenericProgressCallback *progressCb=nullptr, QString entityName=QString())