31 #ifndef INCLUDE_ARTICULATION_CONFIG_H_ 32 #define INCLUDE_ARTICULATION_CONFIG_H_ 40 #include <android/asset_manager.h> 41 #include <android/asset_manager_jni.h> 102 virtual void write(std::ostream& os)
const = 0;
108 virtual void read(std::istream& is) = 0;
115 : name(name), description(description) {
141 :
AbstractParam(name, description), dflt(dflt), value(dflt) {
154 virtual void write(std::ostream& os)
const;
160 virtual void read(std::istream& is)
throw (std::invalid_argument);
163 typedef std::map<std::string, AbstractParam *>
Params;
168 static AAssetManager *apkAssetManager;
177 static void setAssetManager(AAssetManager *manager) {
178 apkAssetManager = manager;
184 static AAssetManager * getAssetManager() {
185 return apkAssetManager;
205 static void init(
const int argc,
const char *
const argv[]);
227 Params::const_iterator paramIt = params.find(name);
228 if (paramIt == params.end()) {
229 throw std::invalid_argument(std::string(
"Parameter ") + name +
" not found");
233 throw std::invalid_argument(std::string(
"Parameter ") + name +
" is not of requested type");
std::map< std::string, AbstractParam * > Params
Parameter map type, maps names to parameter structure.
Definition: Config.h:163
T getParam(const std::string &name) const
Get a configuration parameter.
Definition: Config.h:226
AbstractParam(const std::string &name, const std::string &description)
Constructor.
Definition: Config.h:114
Configuration parameter.
Definition: Config.h:131
static Config & getInstance()
Definition: Config.h:196
Cube sides folded onto a 4x3 grid.
Definition: Config.h:57
Equirectangular projection image with aspect ratio 2:1.
Definition: Config.h:58
virtual void read(std::istream &is)=0
Read this parameter from a configuration file input stream.
PanoOutputValue
Possible values for the panoOutputFormat parameter.
Definition: Config.h:54
void load()
Load the configuration from disk.
virtual ~Param()
Destructor.
Definition: Config.h:147
const std::string filename
The file name for loading and storing the configuration data.
Definition: Config.h:73
virtual ~Config()
Destructor.
const std::string description
A human-readable description of the parameter.
Definition: Config.h:80
void save() const
Save the configuration to disk.
virtual void write(std::ostream &os) const =0
Write this parameter to a configuration file output stream.
Config(const std::string &filename)
Protected constructor, loads configuration from file.
friend std::ostream & operator<<(std::ostream &os, AbstractParam ¶m)
Stream operator for writing this parameter to a config data stream.
Abstract class representing a configuration parameter.
Definition: Config.h:78
Cylindrical projection image with aspect ratio 2:1.
Definition: Config.h:59
static Config * instance
The singleton instance.
Definition: Config.h:165
virtual ~AbstractParam()
Destructor.
Definition: Config.h:120
T value
Current value of the parameter.
Definition: Config.h:133
Six cube map sides aligned vertically (right-left-top-bottom-back-front)
Definition: Config.h:56
Definition: AbstractCamera.h:41
Singleton class for storing configuration.
Definition: Config.h:49
friend std::istream & operator>>(std::istream &is, AbstractParam ¶m)
Stream operator for reading this parameter from a config data stream.
static void init(const int argc, const char *const argv[])
T dflt
Default value of the parameter.
Definition: Config.h:132
Params params
The parameters.
Definition: Config.h:164
const std::string name
The name of the descriptor.
Definition: Config.h:79
Six cube map sides aligned horizontally (right-left-top-bottom-back-front)
Definition: Config.h:55
Param(const std::string &name, const std::string &description, const T &dflt)
Constructor.
Definition: Config.h:140