MeshLib C++ Docs
Loading...
Searching...
No Matches
MRSceneSettings.h
Go to the documentation of this file.
1#pragma once
2#include "MRMeshFwd.h"
4#include <array>
5
6namespace MR
7{
10
11
14class SceneSettings
15{
16public:
18 MRMESH_API static void reset();
19
27
49
50 MRMESH_API static bool get( BoolType type );
51 MRMESH_API static float get( FloatType type );
52 MRMESH_API static void set( BoolType type, bool value );
53 MRMESH_API static void set( FloatType type, float value );
54
56 enum class ShadingMode
57 {
61 };
62
68
70 MRMESH_API static void setCNCMachineSettings( const CNCMachineSettings& settings );
71
72private:
73 MRMESH_API SceneSettings();
74 ~SceneSettings() = default;
75 SceneSettings& operator=( const SceneSettings& other ) = default;
76
77 static SceneSettings& instance_();
78
79 std::array<bool, size_t( BoolType::Count ) > boolSettings_;
80 std::array<float, size_t( FloatType::Count ) > floatSettings_;
81
82 ShadingMode defaultShadingMode_ = ShadingMode::AutoDetect;
83 CNCMachineSettings cncMachineSettings_;
84};
85
86}
#define MRMESH_API
Definition MRMeshFwd.h:80
class with CNC machine emulation settings
Definition MRCNCMachineSettings.h:19
BoolType
Definition MRSceneSettings.h:21
static ShadingMode getDefaultShadingMode()
static bool get(BoolType type)
ShadingMode
Mesh faces shading mode.
Definition MRSceneSettings.h:57
static float get(FloatType type)
static void reset()
Reset all scene settings to default values.
static void set(FloatType type, float value)
static void set(BoolType type, bool value)
FloatType
Definition MRSceneSettings.h:29
static const CNCMachineSettings & getCNCMachineSettings()
static void setCNCMachineSettings(const CNCMachineSettings &settings)
static void setDefaultShadingMode(ShadingMode mode)
@ UseDefaultScenePropertiesOnDeserialization
on deserialization replace object properties with default values from SceneSettings and SceneColors
Definition MRSceneSettings.h:23
@ Count
total count
Definition MRSceneSettings.h:25
@ other
Angle, normally float. Measure in radians.
Definition MRFeatureObject.h:27
@ AutoDetect
Definition MRSceneSettings.h:58
@ Flat
Definition MRSceneSettings.h:60
@ Smooth
Definition MRSceneSettings.h:59
@ FeatureSubPointSize
Size of point subfeatures (various centers).
Definition MRSceneSettings.h:43
@ FeatureSubPointsAlpha
Definition MRSceneSettings.h:33
@ FeaturePointsAlpha
Definition MRSceneSettings.h:30
@ FeatureLineWidth
Line width of line features (line, circle, ...).
Definition MRSceneSettings.h:37
@ AmbientCoefSelectedObj
Ambient multiplication coefficient for ambientStrength for selected objects.
Definition MRSceneSettings.h:45
@ FeatureMeshAlpha
Definition MRSceneSettings.h:32
@ FeatureSubLinesAlpha
Definition MRSceneSettings.h:34
@ FeaturePointSize
Size of the point feature.
Definition MRSceneSettings.h:41
@ FeatureLinesAlpha
Definition MRSceneSettings.h:31
@ Count
Definition MRSceneSettings.h:47
@ FeatureSubMeshAlpha
Definition MRSceneSettings.h:35
@ FeatureSubLineWidth
Line width of line subfeatures (axes, base circles, ...).
Definition MRSceneSettings.h:39
only for bindings generation
Definition MRCameraOrientationPlugin.h:8