NDEVR
API Documentation
NavigationMarkerModel.h
1#pragma once
2#include "DLLInfo.h"
3#include <NDEVR/CoordinateOptions.h>
4#include <NDEVR/DesignSettings.h>
5#include <NDEVR/Model.h>
6#include <NDEVR/FileResource.h>
7#if NDEVR_NAVIGATION_MARKER_MODEL
8namespace NDEVR
9{
14 class NDEVR_DESIGN_API NavigationMarkerModel : public Model
15 {
16 public:
19 NavigationMarkerModel();
20
24 NavigationMarkerModel(const Model& model);
25
29 Vertex<3, fltp08> target() const;
30
34 Vertex<3, fltp08> position() const;
35
39 void clearTarget(const void* lock = nullptr);
40
46 void setTarget(Vertex<3, fltp08> target, bool ignore_elevation = true, const void* lock = nullptr);
47
53 void setPosition(Vertex<3, fltp08> location, bool ignore_elevation = true, const void* lock = nullptr);
54
60 void loadModel();
61
66 void setPositionModelColor(RGBColor color, const void* lock = nullptr);
67
71 Model targetMarker() const;
72
76 Model currentLocationMarker() const;
77 protected:
81 void updateTargetDistance(bool ignore_elevation) const;
82
86 Vector<3, fltp08> normalSize() const;
87
91 static constexpr StringView TypeName() { return "navigation_marker"; }
92 protected:
93 static DynamicPointer<Model> s_navigator_model;
94 };
95}
96#endif
A core class that represents a node on model hierarchy.
Definition Model.h:292
The primary namespace for the NDEVR SDK.