Blue Brain BioExplorer
ParametersManager.h
Go to the documentation of this file.
1 /*
2  * Copyright (c) 2015-2024, EPFL/Blue Brain Project
3  *
4  * The Blue Brain BioExplorer is a tool for scientists to extract and analyse
5  * scientific data from visualization
6  *
7  * This file is part of Blue Brain BioExplorer <https://github.com/BlueBrain/BioExplorer>
8  *
9  * This library is free software; you can redistribute it and/or modify it under
10  * the terms of the GNU Lesser General Public License version 3.0 as published
11  * by the Free Software Foundation.
12  *
13  * This library is distributed in the hope that it will be useful, but WITHOUT
14  * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
15  * FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more
16  * details.
17  *
18  * You should have received a copy of the GNU Lesser General Public License
19  * along with this library; if not, write to the Free Software Foundation, Inc.,
20  * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
21  */
22 
23 #pragma once
24 
33 
34 namespace core
35 {
44 {
45 public:
46  ParametersManager(int argc, const char** argv);
47 
53 
57  PLATFORM_API void usage();
58 
62  PLATFORM_API void print();
63 
70 
77 
84 
91 
98 
105 
107  void resetModified();
108 
113  bool isAnyModified() const;
114 
115 private:
116  void _parse(int argc, const char** argv);
117  void _processUnrecognizedOptions(const std::vector<std::string>& unrecognizedOptions) const;
118 
119  po::options_description _allOptions;
120 
121  std::vector<AbstractParameters*> _parameterSets;
122  AnimationParameters _animationParameters;
123  ApplicationParameters _applicationParameters;
124  GeometryParameters _geometryParameters;
125  RenderingParameters _renderingParameters;
126  VolumeParameters _volumeParameters;
127  FieldParameters _fieldParameters;
128 };
129 } // namespace core
#define PLATFORM_API
Definition: Api.h:37
PLATFORM_API GeometryParameters & getGeometryParameters()
PLATFORM_API ApplicationParameters & getApplicationParameters()
PLATFORM_API void print()
PLATFORM_API void registerParameters(AbstractParameters *parameters)
PLATFORM_API AnimationParameters & getAnimationParameters()
PLATFORM_API void usage()
PLATFORM_API RenderingParameters & getRenderingParameters()
PLATFORM_API FieldParameters & getFieldParameters()
PLATFORM_API VolumeParameters & getVolumeParameters()
ParametersManager(int argc, const char **argv)