import java.util.ArrayList; import java.util.HashMap; import java.util.LinkedList; import davaguine.jeq.core.IIR; import processing.core.PVector; public class Node { public enum NodeType { wall, volume, listener, source, } // TODO: directional forces??? public WavFileReader wavFileReader; public IIR eq = null; public NodeType type; public PVector pos; public LinkedList<float[]> azimuthAndElevation; // quick hack - edge to gain map - vector dependent public HashMap<Object, float[]> edgeGainMap = new HashMap<Object, float[]>(); private ArrayList<Float>[] channelData; public void createInputChannels(int channels) { this.channelData = new ArrayList[channels]; for(int i = 0; i < channels; i++) { this.channelData[i] = new ArrayList<Float>(); } } public void appendSample(int channel, float sample) { this.channelData[channel].add(sample); } public ArrayList<Float>[] getChannels() { return this.channelData; } public String name; public Node(PVector pos, NodeType type) { this.pos = pos; this.type = type; } }