Blender V4.3
AppConfig.h
Go to the documentation of this file.
1/* SPDX-FileCopyrightText: 2023 Blender Authors
2 *
3 * SPDX-License-Identifier: GPL-2.0-or-later */
4
5#pragma once
6
12#include <algorithm>
13#include <string>
14
15#include "../system/Precision.h"
16
17#ifdef WITH_CXX_GUARDEDALLOC
18# include "MEM_guardedalloc.h"
19#endif
20
21using namespace std;
22
23namespace Freestyle {
24
25namespace Config {
26
27class Path {
28 protected:
34 string _EnvMapDir;
35 string _MapsDir;
36 string _HomeDir;
37
38 public:
39 Path();
40 virtual ~Path();
41 static Path *getInstance();
42
43 void setRootDir(const string &iRootDir);
44 void setHomeDir(const string &iHomeDir);
45
46 const string &getProjectDir() const
47 {
48 return _ProjectDir;
49 }
50 const string &getModelsPath() const
51 {
52 return _ModelsPath;
53 }
54 const string &getPatternsPath() const
55 {
56 return _PatternsPath;
57 }
58 const string &getBrushesPath() const
59 {
60 return _BrushesPath;
61 }
62 const string &getEnvMapDir() const
63 {
64 return _EnvMapDir;
65 }
66 const string &getMapsDir() const
67 {
68 return _MapsDir;
69 }
70 const string &getHomeDir() const
71 {
72 return _HomeDir;
73 }
74
75 static string getEnvVar(const string &iEnvVarName);
76
77#ifdef WITH_CXX_GUARDEDALLOC
78 MEM_CXX_CLASS_ALLOC_FUNCS("Freestyle:Config:Path")
79#endif
80};
81
82//
83// Configuration, default values
84//
86
87// Application
88static const string APPLICATION_NAME("APPNAME");
89static const string APPLICATION_VERSION("APPVERSION");
90
91// ViewMap
92static const string VIEWMAP_EXTENSION("vm");
93static const string VIEWMAP_MAGIC("ViewMap File");
94static const string VIEWMAP_VERSION("1.9");
95
96// Style modules
97static const string STYLE_MODULE_EXTENSION("py");
98static const string STYLE_MODULES_LIST_EXTENSION("sml");
99
100// Options
101static const string OPTIONS_DIR("." + APPLICATION_NAME);
102static const string OPTIONS_FILE("options.xml");
103static const string OPTIONS_CURRENT_DIRS_FILE("current_dirs.xml");
104static const string OPTIONS_QGLVIEWER_FILE("qglviewer.xml");
105
106} // namespace Config
107
108} /* namespace Freestyle */
Read Guarded memory(de)allocation.
Define the float precision used in the program.
const string & getMapsDir() const
Definition AppConfig.h:66
static string getEnvVar(const string &iEnvVarName)
Definition AppConfig.cpp:60
void setRootDir(const string &iRootDir)
Definition AppConfig.cpp:32
const string & getPatternsPath() const
Definition AppConfig.h:54
static Path * getInstance()
Definition AppConfig.cpp:55
const string & getHomeDir() const
Definition AppConfig.h:70
void setHomeDir(const string &iHomeDir)
Definition AppConfig.cpp:45
const string & getModelsPath() const
Definition AppConfig.h:50
const string & getProjectDir() const
Definition AppConfig.h:46
const string & getEnvMapDir() const
Definition AppConfig.h:62
static Path * _pInstance
Definition AppConfig.h:29
const string & getBrushesPath() const
Definition AppConfig.h:58
static const string VIEWMAP_EXTENSION("vm")
static const string OPTIONS_DIR("."+APPLICATION_NAME)
static const string OPTIONS_QGLVIEWER_FILE("qglviewer.xml")
static const string OPTIONS_CURRENT_DIRS_FILE("current_dirs.xml")
static const string STYLE_MODULE_EXTENSION("py")
static const string STYLE_MODULES_LIST_EXTENSION("sml")
static const string OPTIONS_FILE("options.xml")
static const string VIEWMAP_VERSION("1.9")
static const string VIEWMAP_MAGIC("ViewMap File")
static const string APPLICATION_NAME("APPNAME")
static const string APPLICATION_VERSION("APPVERSION")
inherits from class Rep
Definition AppCanvas.cpp:20