API Documentation
Loading...
Searching...
No Matches
NavigationMarkerModel.h
Go to the documentation of this file.
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{
10 /**--------------------------------------------------------------------------------------------------
11 \brief A Model which shows a 3D marker giving position and direction, usually for a GPS-style service
12 **/
13 class NDEVR_DESIGN_API NavigationMarkerModel : public Model
14 {
15 public:
16 NavigationMarkerModel();//invalid
17 NavigationMarkerModel(const Model& model);
18 Vertex<3, fltp08> target() const;
19 Vertex<3, fltp08> position() const;
20 void clearTarget(const void* lock = nullptr);
21 void setTarget(Vertex<3, fltp08> target, bool ignore_elevation = true, const void* lock = nullptr);
22 void setPosition(Vertex<3, fltp08> location, bool ignore_elevation = true, const void* lock = nullptr);
23 void loadModel();
24 void setPositionModelColor(RGBColor color, const void* lock = nullptr);
25 Model targetMarker() const;
26 Model currentLocationMarker() const;
27 protected:
28 void updateTargetDistance(bool ignore_elevation) const;
29 Vector<3, fltp08> normalSize() const;
30 static constexpr const char* TypeName() { return "navigation_marker"; }
31 protected:
32 static DynamicPointer<Model> s_deployment_model;
33 };
34}
35#endif
#define NDEVR_DESIGN_API
Definition DLLInfo.h:55
Definition ACIColor.h:37