00001
00009 #ifndef SOLID_OBJECTS_H_DEF
00010 #define SOLID_OBJECTS_H_DEF
00011
00012 #include "../hydro_source/Datas.h"
00013 #include "graphics_relative.h"
00014
00015 #include "math.h"
00016 #include "mex.h"
00017
00018
00019
00021
00028 struct SolidObject
00029 {
00030 int N, M;
00031
00032 float **X, **Y, **Z;
00033
00034 float **nX, **nY, **nZ;
00035
00036 float **R, **G, **B;
00037 };
00038
00039
00040
00041
00043
00050 void SolidObject_create(SolidObject *so, int N, int M);
00051
00052
00054
00058 void SolidObject_delete(SolidObject *so);
00059
00060
00062
00068 void cross_product(float *va, float *vb, float *vc);
00069
00071
00080 void one_normal(float *v1, float *v2, float *v3, float *v4, float *vn);
00081
00083
00086 void Boat_delete();
00087
00089
00095 void SolidObject_compute_normals(SolidObject *so);
00096
00098
00103 void Boat_create(datas *d);
00104
00106
00111 void Sail_create_and_draw(datas *d);
00112
00114
00118 void RelativeWind_draw(datas *d);
00119
00121
00126 void Target_draw(float x, float y);
00127
00129
00133 void VSlider_draw(float x);
00134
00136
00140 void HSlider_draw(float x);
00141
00143
00148 void Girouette_draw(datas *d);
00149
00151
00155 void Boat_draw();
00156
00157
00158
00159 #endif