35 const unsigned short NXMAX = 12;
36 const unsigned short NYMAX = 12;
42 Mesh2D(
unsigned short nX,
unsigned short nY );
51 void setNX(
unsigned short lenX );
54 void setNY(
unsigned short lenY );
60 void setDecay( StkFloat decayFactor );
63 void noteOn( StkFloat frequency, StkFloat amplitude );
66 void noteOff( StkFloat amplitude );
78 StkFloat
tick(
unsigned int channel = 0 );
96 unsigned short NX_, NY_;
97 unsigned short xInput_, yInput_;
100 StkFloat v_[NXMAX-1][NYMAX-1];
101 StkFloat vxp_[NXMAX][NYMAX];
102 StkFloat vxm_[NXMAX][NYMAX];
103 StkFloat vyp_[NXMAX][NYMAX];
104 StkFloat vym_[NXMAX][NYMAX];
107 StkFloat vxp1_[NXMAX][NYMAX];
108 StkFloat vxm1_[NXMAX][NYMAX];
109 StkFloat vyp1_[NXMAX][NYMAX];
110 StkFloat vym1_[NXMAX][NYMAX];
117 unsigned int nChannels = lastFrame_.
channels();
118 #if defined(_STK_DEBUG_)
119 if ( channel > frames.
channels() - nChannels ) {
120 oStream_ <<
"Mesh2D::tick(): channel and StkFrames arguments are incompatible!";
125 StkFloat *samples = &frames[channel];
126 unsigned int j, hop = frames.
channels() - nChannels;
127 if ( nChannels == 1 ) {
128 for (
unsigned int i=0; i<frames.
frames(); i++, samples += hop )
132 for (
unsigned int i=0; i<frames.
frames(); i++, samples += hop ) {
134 for ( j=1; j<nChannels; j++ )
135 *samples++ = lastFrame_[j];