Mercurial > hg > wabletios
diff scanpath.h @ 0:c667dfe12d47
OK. Ther real deal.
author | Robert Tubb <rt300@eecs.qmul.ac.uk> |
---|---|
date | Mon, 19 Nov 2012 13:00:42 +0000 |
parents | |
children | d346ddc50f70 |
line wrap: on
line diff
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/scanpath.h Mon Nov 19 13:00:42 2012 +0000 @@ -0,0 +1,76 @@ +/* + * scanpath.h + * springstructure + * + * Created by Robert Tubb on 09/06/2011. + * Copyright 2011 __MyCompanyName__. All rights reserved. + * + */ + +#ifndef _SCANPATHH +#define _SCANPATHH +#include "lump.h" +#include "spring.h" +#include <vector> + + +class ScanPath{ +private: + int numElements; + int maxElements; + + bool audioAccessing; + bool updateAccessing; + + //Spring ** springPath; + // springpath - an array of pointers to the springs in the path + // lump path - ditto should be same number + Lump ** lumpPath; + Spring ** springPath; + + double * wavetableNew; + double * wavetableOld; + double * wavetableUpdate; + + double currentLength; + + double frameInterpolator; + double framesPerSample; + + + + +public: + enum scanModes {DISPLACEMENT,SPEED,SPRING_FORCE,YPOS}; + + scanModes scanMode; + double restLength; + + ScanPath(); + ~ScanPath(); + + + void inscribe(double ax,double ay); + void clear(); + + void draw(); + void drawCubic(); + + double getTotalLength(); + int howManyElements(); + + + void addSpring(); + void addLump(); + double getNextSample(); + double getNextSample(double aPhasor); + double getNextSampleCubic(double aPhasor); + // redone stuff + void initWavetables(); + void addElement(Lump* aLump, Spring * aSpring); + + void updateWavetables(); + +}; + +#endif \ No newline at end of file