109 static const std::map<ElementLabel, ElementCategoryInfo> table = {
152 const auto it = table.find(label);
153 if (it != table.end())
170 [[nodiscard]] std::string
toString()
const;
184 [[nodiscard]] std::string
toString()
const;
202 [[nodiscard]] std::string
toString()
const;
209 [[nodiscard]]
virtual std::string
toString()
const = 0;
Definition element_parameters.h:10
const std::map< ElementLabel, std::string > ElementLabelToString
Definition element_parameters.h:47
ElementCategoryInfo getElementCategoryInfo(const ElementLabel label)
Category info for a label, or an UNKNOWN/grey fallback.
Definition element_parameters.h:149
ElementCategory
Coarse functional grouping of an element, independent of dimensionality. Single source of truth for t...
Definition element_parameters.h:85
@ RESHAPE
Dimension/size-bridging elements: resize, collapse, expand.
ElementLabel
Definition element_parameters.h:12
@ NORMAL_NOISE_2D
Definition element_parameters.h:31
@ ASYMMETRIC_GAUSS_KERNEL
Definition element_parameters.h:20
@ BOOST_STIMULUS_2D
Definition element_parameters.h:35
@ CORRELATED_NORMAL_NOISE_2D
Definition element_parameters.h:36
@ GAUSS_KERNEL_2D
Definition element_parameters.h:29
@ ASYMMETRIC_GAUSS_KERNEL_2D
Definition element_parameters.h:37
@ UNINITIALIZED
Definition element_parameters.h:13
@ MEXICAN_HAT_KERNEL_2D
Definition element_parameters.h:30
@ OSCILLATORY_KERNEL
Definition element_parameters.h:19
@ GAUSS_KERNEL
Definition element_parameters.h:17
@ NORMAL_NOISE
Definition element_parameters.h:21
@ MEXICAN_HAT_KERNEL
Definition element_parameters.h:18
@ TIMED_GAUSS_STIMULUS_2D
Definition element_parameters.h:34
@ MEMORY_TRACE_2D
Definition element_parameters.h:38
@ MEMORY_TRACE
Definition element_parameters.h:25
@ RESIZE_2D
Definition element_parameters.h:41
@ GAUSS_STIMULUS
Definition element_parameters.h:15
@ RESIZE
Definition element_parameters.h:40
@ NEURAL_FIELD_2D
Definition element_parameters.h:27
@ BOOST_STIMULUS
Definition element_parameters.h:16
@ FIELD_COUPLING
Definition element_parameters.h:23
@ NEURAL_FIELD
Definition element_parameters.h:14
@ OSCILLATORY_KERNEL_2D
Definition element_parameters.h:32
@ TIMED_GAUSS_STIMULUS
Definition element_parameters.h:33
@ CORRELATED_NORMAL_NOISE
Definition element_parameters.h:22
@ GAUSS_STIMULUS_2D
Definition element_parameters.h:28
@ GAUSS_FIELD_COUPLING
Definition element_parameters.h:24
@ EXPAND
Definition element_parameters.h:44
@ COLLAPSE
Definition element_parameters.h:43
const std::map< ElementLabel, ElementCategoryInfo > & elementCategoryTable()
Maps every ElementLabel to its category info. The one place UI panels resolve an element's type/categ...
Definition element_parameters.h:107
Category + RGBA colour (0..255) used to render an element's type chip.
Definition element_parameters.h:98
unsigned char g
Definition element_parameters.h:101
unsigned char r
Definition element_parameters.h:101
const char * name
Definition element_parameters.h:100
unsigned char b
Definition element_parameters.h:101
ElementCategory category
Definition element_parameters.h:99
Definition element_parameters.h:188
void print() const
Definition element_parameters.cpp:135
ElementDimensions dimensionParameters
Definition element_parameters.h:190
std::string toString() const
Definition element_parameters.cpp:140
ElementCommonParameters()
Definition element_parameters.cpp:102
bool operator==(const ElementCommonParameters &other) const
Definition element_parameters.cpp:130
ElementIdentifiers identifiers
Definition element_parameters.h:189
Definition element_parameters.h:159
double d_y
Definition element_parameters.h:162
int size
Definition element_parameters.h:163
int size_x
Definition element_parameters.h:163
std::string toString() const
Definition element_parameters.cpp:55
int y_max
Definition element_parameters.h:161
int dimensionality
Definition element_parameters.h:160
void print() const
Definition element_parameters.cpp:50
int size_y
Definition element_parameters.h:163
int x_max
Definition element_parameters.h:161
double d_x
Definition element_parameters.h:162
bool operator==(const ElementDimensions &other) const
Definition element_parameters.cpp:43
Definition element_parameters.h:174
bool operator==(const ElementIdentifiers &other) const
Definition element_parameters.cpp:80
std::string toString() const
Definition element_parameters.cpp:91
std::string uniqueName
Definition element_parameters.h:177
int uniqueIdentifier
Definition element_parameters.h:176
void print() const
Definition element_parameters.cpp:86
static int uniqueIdentifierCounter
Definition element_parameters.h:175
ElementLabel label
Definition element_parameters.h:178
Definition element_parameters.h:206
void print() const
Definition element_parameters.cpp:149
ElementSpecificParameters()=default
virtual ~ElementSpecificParameters()=default
virtual std::string toString() const =0