API Documentation
All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros
DatasetManager.h
Go to the documentation of this file.
1#pragma once
2#include "DLLInfo.h"
3#include <NDEVR/Dictionary.h>
4#include <NDEVR/String.h>
5#include <NDEVR/TranslatedString.h>
6namespace NDEVR
7{
8 class Model;
9 class Dataset
10 {
11 public:
12 virtual ~Dataset(){}
13 virtual String name() const = 0;
14 virtual String icon() const { return String(); }
15 virtual TranslatedString title() const { return TranslatedString(); }
16 virtual TranslatedString description() const { return TranslatedString(); }
17 virtual Bounds<3, fltp08> bounds() const { return Constant<Bounds<3, fltp08>>::NaN; }
18 virtual bool setupModel(Model&) { return false; };
20 virtual Dataset* child(const String&) { return nullptr; };
21 virtual uint04 childCount() const { return 0; };
22 };
23
24
26 {
27 public:
28 void addSource(Dataset* source)
29 {
30 m_sources.add(source->name(), source);
31 };
32 Dataset* source(const String& name)
33 {
34 auto iter = m_sources.find(name);
35 if(iter != m_sources.end())
36 return iter.value();
37 return nullptr;
38 };
39 bool hasSource(const String& name) const
40 {
41 return m_sources.hasKey(name);
42 }
43 static DatasetManager& DefaultManager();
45 };
46
47
48 constexpr const char* ZIP_CODE_DATASET = "Zip Codes";
49 constexpr const char* US_STATE_DATASET = "US States";
50}
#define NDEVR_DESIGN_API
Definition DLLInfo.h:77
A specification of upper and lower bounds in N-dimensions.
Definition Bounds.hpp:57
The equivelent of std::vector but with a bit more control. The basic array unit of the library.
Definition Buffer.hpp:64
Definition DatasetManager.h:10
virtual TranslatedString title() const
Definition DatasetManager.h:15
virtual Buffer< Dataset * > children()
Definition DatasetManager.h:19
virtual bool setupModel(Model &)
Definition DatasetManager.h:18
virtual String icon() const
Definition DatasetManager.h:14
virtual Bounds< 3, fltp08 > bounds() const
Definition DatasetManager.h:17
virtual ~Dataset()
Definition DatasetManager.h:12
virtual Dataset * child(const String &)
Definition DatasetManager.h:20
virtual TranslatedString description() const
Definition DatasetManager.h:16
virtual uint04 childCount() const
Definition DatasetManager.h:21
virtual String name() const =0
Definition DatasetManager.h:26
Dataset * source(const String &name)
Definition DatasetManager.h:32
void addSource(Dataset *source)
Definition DatasetManager.h:28
bool hasSource(const String &name) const
Definition DatasetManager.h:39
Dictionary< String, Dataset * > m_sources
Definition DatasetManager.h:44
Definition Dictionary.h:48
Definition Model.h:54
Definition String.h:40
Definition TranslatedString.h:9
Definition ACIColor.h:37
constexpr const char * ZIP_CODE_DATASET
Definition DatasetManager.h:48
constexpr const char * US_STATE_DATASET
Definition DatasetManager.h:49
uint32_t uint04
-Defines an alias representing a 4 byte, unsigned integer -Can represent exact integer values 0 throu...
Definition BaseValues.hpp:120
Definition BaseValues.hpp:272