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