00001 #import <Cocoa/Cocoa.h>
00002
00003 #import "FlowData.h"
00004 #import "FlowChannel.h"
00005 #import "IntegrationMethod.h"
00006
00012 @interface RSStreamline : NSObject {
00013
00014 GLuint vbo;
00015
00016 NSObject <IntegrationMethod>* integrationMethod;
00017
00018 bool drawTriangles;
00019 bool drawTapering;
00020 int drawTexture;
00021 bool showSeedingpoints;
00022
00023 float stepSize;
00024 int maxSteps;
00025
00026 float width;
00027
00028 float drawDimX;
00029 float drawDimY;
00030
00031 NSMutableArray * seedingPoints;
00032
00033 NSMutableArray * lines;
00034
00035 }
00036
00037 + (RSStreamline *) streamlineUsingMethod: (NSObject <IntegrationMethod>*)_integrationMethod Thickness: (float)_thickness
00038 DrawTriangles:(bool)_drawTriangles DrawTapering:(bool)_drawTapering DrawTexture:(int)_drawTexture
00039 ShowSeedingpoints:(bool)_showSeedingpoints StepSize: (float)stepSize maxSteps: (int)maxSteps Density: (float)spacing
00040 Width: (float)width DimensionX: (float)drawDimX DimensionY: (float)drawDimY;
00041
00042 - (id) initUsingMethod: (NSObject <IntegrationMethod>*)_integrationMethod Thickness: (float)_thickness
00043 DrawTriangles:(bool)_drawTriangles DrawTapering:(bool)_drawTapering DrawTexture:(int)_drawTexture
00044 ShowSeedingpoints:(bool)_showSeedingpoints StepSize: (float)stepSize maxSteps: (int)maxSteps Density: (float)spacing
00045 Width: (float)width DimensionX: (float)drawDimX DimensionY: (float)drawDimY;
00046
00047 - (bool) isAllowedAsInitPoint: (NSPoint) p nearestDistance: (float*) nearestDistance;
00048 - (bool) isAllowedAsLinePoint: (NSPoint) p nearestDistance: (float*) nearestDistance;
00049
00050 - (float) calculateLineWidthModification: (float) param;
00051
00052 - (void) addSeeddingPointFrom: (NSPoint) p AndFlowDirection: (float*) direction;
00053 - (void) createInitialSeedingPointsSpacedBy: (float) _spacing;
00054 - (void) usePoint: (NSPoint) p;
00055 - (void) drawStreamlines;
00056
00057 - (bool) goBackwards;
00058
00060 - (void) recalculate;
00061
00062 @end