Dynamic Neural Field Composer 0.0.0
A C++20 library and interactive application for building and simulating Dynamic Neural Field (DNF) architectures.
Loading...
Searching...
No Matches
Public Member Functions | List of all members
dnf_composer::element::Resize Class Referencefinal

Resamples a 1D input field of size N to this element's output size M. More...

#include <resize.h>

Inheritance diagram for dnf_composer::element::Resize:
Collaboration diagram for dnf_composer::element::Resize:

Public Member Functions

void addInput (const std::shared_ptr< Element > &inputElement, const std::string &inputComponent="output") override
 Register inputElement as an upstream source for this element.
 
void changeInputDimensions (const ElementDimensions &newInputDimensions)
 Resize the input field dimensions and rebuild the input buffer. Connections are not removed automatically — call removeInputs()/removeOutputs() first if needed (the UI does this before calling).
 
std::shared_ptr< Elementclone () const override
 
ResizeParameters getParameters () const
 
void init () override
 Initialize the element (called once before the simulation loop).
 
 Resize (const ElementCommonParameters &elementCommonParameters, const ResizeParameters &parameters)
 Construct a Resize element.
 
void setParameters (const ResizeParameters &parameters)
 
void step (double t, double deltaT) override
 Advance the element by one time step.
 
std::string toString () const override
 
- Public Member Functions inherited from dnf_composer::element::Element
void buildInputCache ()
 Cache raw pointers to input component data. Call after all element init()s complete.
 
virtual void changeDimensions (const ElementDimensions &newDimensions)
 Resize all components to newDimensions and re-initialize.
 
void close ()
 
 Element (const ElementCommonParameters &parameters)
 Construct an element with the given common parameters.
 
std::vector< double > getComponent (const std::string &componentName)
 Return a copy of the named component vector.
 
std::vector< std::string > getComponentList () const
 
std::vector< double > * getComponentPtr (const std::string &componentName)
 
const std::unordered_map< std::string, std::vector< double > > * getComponents () const
 Return a read-only pointer to the full components map.
 
ElementCommonParameters getElementCommonParameters () const
 
std::vector< std::shared_ptr< Element > > getInputs ()
 
std::unordered_map< std::shared_ptr< Element >, std::string > getInputsAndComponents ()
 Return all inputs mapped to the component name they expose.
 
ElementLabel getLabel () const
 
int getMaxSpatialDimension () const
 
std::vector< std::shared_ptr< Element > > getOutputs ()
 
int getSize () const
 Return the number of spatial samples (size = round(x_max / d_x)).
 
double getStepSize () const
 Return the spatial resolution (d_x).
 
int getUniqueIdentifier () const
 
std::string getUniqueName () const
 
bool hasInput () const
 
bool hasInput (const std::string &inputElementName, const std::string &inputComponent)
 
bool hasInput (int inputElementId, const std::string &inputComponent)
 
bool hasOutput () const
 
bool hasOutput (const std::string &outputElementName, const std::string &outputComponent)
 
bool hasOutput (int outputElementId, const std::string &outputComponent)
 
void print () const
 
void removeInput (const std::string &inputElementId)
 
void removeInput (int uniqueId)
 
void removeInputs ()
 
void removeOutput (const std::string &outputElementId)
 Deregister this element as an input of outputElementId.
 
void removeOutput (int uniqueId)
 Deregister this element as an input of the element with uniqueId.
 
void removeOutputs ()
 
void setUniqueName (const std::string &name)
 
void updateInput ()
 Pull data from all registered input elements into this element's components.
 
virtual ~Element ()=default
 

Additional Inherited Members

- Protected Attributes inherited from dnf_composer::element::Element
ElementCommonParameters commonParameters
 Name, label, and spatial dimensions.
 
std::unordered_map< std::string, std::vector< double > > components
 Named data arrays (e.g. "output").
 
std::unordered_map< std::shared_ptr< Element >, std::string > inputs
 Upstream elements and the component they expose.
 
std::unordered_map< std::shared_ptr< Element >, std::string > outputs
 Downstream elements that read this element's output.
 

Detailed Description

Resamples a 1D input field of size N to this element's output size M.

On each step(), Resize reads its input field's "output" component (size N) and resamples it to its own output size M using the configured InterpolationMethod (linear, nearest, or cubic). The output size is the element's own declared dimension; the input size is taken from the connected source. Because the input and output sizes differ, Resize overrides addInput() to size the "input" component to the source's size.

Constructor & Destructor Documentation

◆ Resize()

dnf_composer::element::Resize::Resize ( const ElementCommonParameters elementCommonParameters,
const ResizeParameters parameters 
)

Construct a Resize element.

Parameters
elementCommonParametersName, label, and output dimensions (size M).
parametersResize-specific parameters (method, input dimensions).

Member Function Documentation

◆ addInput()

void dnf_composer::element::Resize::addInput ( const std::shared_ptr< Element > &  inputElement,
const std::string &  inputComponent = "output" 
)
overridevirtual

Register inputElement as an upstream source for this element.

Parameters
inputElementThe element whose output will be read.
inputComponentWhich component of inputElement to read (default: "output").

Reimplemented from dnf_composer::element::Element.

Here is the call graph for this function:

◆ changeInputDimensions()

void dnf_composer::element::Resize::changeInputDimensions ( const ElementDimensions newInputDimensions)

Resize the input field dimensions and rebuild the input buffer. Connections are not removed automatically — call removeInputs()/removeOutputs() first if needed (the UI does this before calling).

Here is the call graph for this function:

◆ clone()

std::shared_ptr< Element > dnf_composer::element::Resize::clone ( ) const
overridevirtual

◆ getParameters()

ResizeParameters dnf_composer::element::Resize::getParameters ( ) const

◆ init()

void dnf_composer::element::Resize::init ( )
overridevirtual

Initialize the element (called once before the simulation loop).

Implements dnf_composer::element::Element.

Here is the caller graph for this function:

◆ setParameters()

void dnf_composer::element::Resize::setParameters ( const ResizeParameters parameters)
Here is the call graph for this function:

◆ step()

void dnf_composer::element::Resize::step ( double  t,
double  deltaT 
)
overridevirtual

Advance the element by one time step.

Parameters
tCurrent simulation time.
deltaTIntegration step size.

Implements dnf_composer::element::Element.

Here is the call graph for this function:

◆ toString()

std::string dnf_composer::element::Resize::toString ( ) const
overridevirtual

Implements dnf_composer::element::Element.

Here is the call graph for this function:

The documentation for this class was generated from the following files: