24 std::shared_ptr<Simulation> simulation;
25 static std::shared_ptr<element::Element> focusedElement;
27 explicit ElementWindow(
const std::shared_ptr<Simulation>& simulation);
37 static void switchElementToModify(
const std::shared_ptr<element::Element>& element,
const std::string& simId = {});
41 void renderIdentifiersSection(
const std::shared_ptr<element::Element>& element)
const;
42 void renderDimensionControls(
const std::shared_ptr<element::Element>& element)
const;
43 void renderDimensionControls2D(
const std::shared_ptr<element::Element>& element)
const;
46 void renderInputDimensionControls1D(
const std::shared_ptr<element::Element>& element,
49 void renderInputDimensionControls2D(
const std::shared_ptr<element::Element>& element,
52 static void modifyElementNeuralField(
const std::shared_ptr<element::Element>& element);
53 static void modifyElementGaussStimulus(
const std::shared_ptr<element::Element>& element);
54 static void modifyElementFieldCoupling(
const std::shared_ptr<element::Element>& element,
const std::string& simId = {});
55 static void modifyElementGaussKernel(
const std::shared_ptr<element::Element>& element);
56 static void modifyElementMexicanHatKernel(
const std::shared_ptr<element::Element>& element);
57 static void modifyElementNormalNoise(
const std::shared_ptr<element::Element>& element);
58 static void modifyElementCorrelatedNormalNoise(
const std::shared_ptr<element::Element>& element);
59 static void modifyElementGaussFieldCoupling(
const std::shared_ptr<element::Element>& element);
60 static void modifyElementOscillatoryKernel(
const std::shared_ptr<element::Element>& element);
61 static void modifyElementAsymmetricGaussKernel(
const std::shared_ptr<element::Element>& element);
62 static void modifyElementBoostStimulus(
const std::shared_ptr<element::Element>& element);
63 static void modifyElementMemoryTrace(
const std::shared_ptr<element::Element>& element);
64 static void modifyElementNeuralField2D(
const std::shared_ptr<element::Element>& element);
65 static void modifyElementGaussStimulus2D(
const std::shared_ptr<element::Element>& element);
66 static void modifyElementGaussKernel2D(
const std::shared_ptr<element::Element>& element);
67 static void modifyElementMexicanHatKernel2D(
const std::shared_ptr<element::Element>& element);
68 static void modifyElementNormalNoise2D(
const std::shared_ptr<element::Element>& element);
69 static void modifyElementOscillatoryKernel2D(
const std::shared_ptr<element::Element>& element);
70 static void modifyElementTimedGaussStimulus(
const std::shared_ptr<element::Element>& element);
71 static void modifyElementTimedGaussStimulus2D(
const std::shared_ptr<element::Element>& element);
72 static void modifyElementBoostStimulus2D(
const std::shared_ptr<element::Element>& element);
73 static void modifyElementCorrelatedNormalNoise2D(
const std::shared_ptr<element::Element>& element);
74 static void modifyElementAsymmetricGaussKernel2D(
const std::shared_ptr<element::Element>& element);
75 static void modifyElementMemoryTrace2D(
const std::shared_ptr<element::Element>& element);
76 static void modifyElementResize(
const std::shared_ptr<element::Element>& element);
77 static void modifyElementResize2D(
const std::shared_ptr<element::Element>& element);
78 static void modifyElementCollapse(
const std::shared_ptr<element::Element>& element);
79 static void modifyElementExpand(
const std::shared_ptr<element::Element>& element);
82 static PanelScope beginElementPanel(
const ImVec4& baseColor,
const ImVec2& size);
83 static void endElementPanel(
const PanelScope& p);