NDEVR
API Documentation
LineOfSightEditor.h
1#pragma once
2#include <NDEVR/Editor.h>
3#if NDEVR_LINE_OF_SIGHT
4namespace Ui
5{
6 class LineOfSightEditorUI;
7}
8namespace NDEVR
9{
10 class LineOfSight;
15 {
16 public:
22 LineOfSightEditor(const DynamicPointer<QTDesignObject>& line_of_sight, QWidget* parent = nullptr);
23 virtual ~LineOfSightEditor();
35 virtual void updateValues() override;
45 void moveCameraToLineOfSight(UUID camera_id = Constant<UUID>::Invalid) const;
46 protected:
47 Ui::LineOfSightEditorUI* ui;
48#if NDEVR_SUPPORTS_THREADING
51#endif
52 };
53}
54#endif
A thread that executes a user-provided callback function concurrently.
Definition BasicThread.h:47
Provides a modifiable pointer that has shared ownership of a dynamically allocated object.
Definition Pointer.hpp:356
Editor(QWidget *parent=nullptr)
Constructs an Editor with no design object target.
virtual void updateValues() override
Refreshes the editor UI to reflect the current state of the line-of-sight object.
LineOfSightEditor(const DynamicPointer< QTDesignObject > &line_of_sight, QWidget *parent=nullptr)
Constructs a LineOfSightEditor for the given line-of-sight design object.
void updateAllLineOfSights()
Recalculates all line-of-sight analyses in the scene.
BasicThread * m_los_all_thread
Background thread for computing all line-of-sight analyses.
void moveCameraToLineOfSight(UUID camera_id=Constant< UUID >::Invalid) const
Moves the specified camera to the line-of-sight viewpoint.
BasicThread * m_los_thread
Background thread for computing a single line-of-sight analysis.
LineOfSight lineOfSight() const
Returns the LineOfSight object being edited.
void updateLineOfSiteFromDialog()
Updates the line-of-sight model from the current dialog values.
Ui::LineOfSightEditorUI * ui
The auto-generated UI form for the editor.
A Model which represents everything that is visible from a certain vantage point.
Definition LineOfSight.h:36
A universally unique identifier (UUID) is a 128-bit number used to identify information in computer s...
Definition UUID.h:61
The primary namespace for the NDEVR SDK.