annotate 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
rev   line source
rt300@0 1 /*
rt300@0 2 * scanpath.h
rt300@0 3 * springstructure
rt300@0 4 *
rt300@0 5 * Created by Robert Tubb on 09/06/2011.
rt300@0 6 * Copyright 2011 __MyCompanyName__. All rights reserved.
rt300@0 7 *
rt300@0 8 */
rt300@0 9
rt300@0 10 #ifndef _SCANPATHH
rt300@0 11 #define _SCANPATHH
rt300@0 12 #include "lump.h"
rt300@0 13 #include "spring.h"
rt300@0 14 #include <vector>
rt300@0 15
rt300@0 16
rt300@0 17 class ScanPath{
rt300@0 18 private:
rt300@0 19 int numElements;
rt300@0 20 int maxElements;
rt300@0 21
rt300@0 22 bool audioAccessing;
rt300@0 23 bool updateAccessing;
rt300@0 24
rt300@0 25 //Spring ** springPath;
rt300@0 26 // springpath - an array of pointers to the springs in the path
rt300@0 27 // lump path - ditto should be same number
rt300@0 28 Lump ** lumpPath;
rt300@0 29 Spring ** springPath;
rt300@0 30
rt300@0 31 double * wavetableNew;
rt300@0 32 double * wavetableOld;
rt300@0 33 double * wavetableUpdate;
rt300@0 34
rt300@0 35 double currentLength;
rt300@0 36
rt300@0 37 double frameInterpolator;
rt300@0 38 double framesPerSample;
rt300@0 39
rt300@0 40
rt300@0 41
rt300@0 42
rt300@0 43 public:
rt300@0 44 enum scanModes {DISPLACEMENT,SPEED,SPRING_FORCE,YPOS};
rt300@0 45
rt300@0 46 scanModes scanMode;
rt300@0 47 double restLength;
rt300@0 48
rt300@0 49 ScanPath();
rt300@0 50 ~ScanPath();
rt300@0 51
rt300@0 52
rt300@0 53 void inscribe(double ax,double ay);
rt300@0 54 void clear();
rt300@0 55
rt300@0 56 void draw();
rt300@0 57 void drawCubic();
rt300@0 58
rt300@0 59 double getTotalLength();
rt300@0 60 int howManyElements();
rt300@0 61
rt300@0 62
rt300@0 63 void addSpring();
rt300@0 64 void addLump();
rt300@0 65 double getNextSample();
rt300@0 66 double getNextSample(double aPhasor);
rt300@0 67 double getNextSampleCubic(double aPhasor);
rt300@0 68 // redone stuff
rt300@0 69 void initWavetables();
rt300@0 70 void addElement(Lump* aLump, Spring * aSpring);
rt300@0 71
rt300@0 72 void updateWavetables();
rt300@0 73
rt300@0 74 };
rt300@0 75
rt300@0 76 #endif