[140] | 1 | // This file is a part of the Framsticks GDK. |
---|
| 2 | // Copyright (C) 2002-2014 Maciej Komosinski and Szymon Ulatowski. See LICENSE.txt for details. |
---|
| 3 | // Refer to http://www.framsticks.com/ for further information. |
---|
| 4 | |
---|
| 5 | #ifndef _CONV_FF_H_ |
---|
| 6 | #define _CONV_FF_H_ |
---|
| 7 | |
---|
[174] | 8 | #define TOO_MUCH 0.75 |
---|
| 9 | #define TOO_LITTLE 0.10 |
---|
| 10 | |
---|
| 11 | #define HOLE_RADIUS 0.05f |
---|
| 12 | #define LONGITUDE_NUM 69 |
---|
| 13 | |
---|
| 14 | #define LATITUDE_NUM ((LONGITUDE_NUM - 1)*2) |
---|
| 15 | #define AMOUNT ((LATITUDE_NUM)*(LONGITUDE_NUM)) |
---|
| 16 | |
---|
| 17 | #define THICK_RATIO 0.95 |
---|
| 18 | |
---|
| 19 | #define SIZE LONGITUDE_NUM * LATITUDE_NUM + LATITUDE_NUM |
---|
| 20 | |
---|
[140] | 21 | #include <frams/util/multimap.h> |
---|
| 22 | #include <frams/util/sstring.h> |
---|
| 23 | #include <frams/genetics/genoconv.h> |
---|
[174] | 24 | #include "fF_chamber3d.h" |
---|
[140] | 25 | |
---|
[174] | 26 | // The f9->f0 converter |
---|
[140] | 27 | |
---|
[174] | 28 | class GenoConv_fF0 : public GenoConverter { |
---|
[140] | 29 | public: |
---|
[174] | 30 | GenoConv_fF0(); |
---|
| 31 | ~GenoConv_fF0(); |
---|
| 32 | //implementation of the GenoConverter method |
---|
| 33 | SString convert(SString &in, MultiMap *map); |
---|
[140] | 34 | |
---|
| 35 | protected: |
---|
[174] | 36 | double* cosines; |
---|
| 37 | double* sines; |
---|
| 38 | void createSphere(int ktora, fF_chamber3d **chambers, double radius, double div_radius_length, double div_vector_length, |
---|
| 39 | double alpha, double gamma, double kx, double ky, double kz); |
---|
| 40 | double** generate_points(fF_chamber3d *chamber, int which, double kx, double ky, double kz); |
---|
| 41 | void fill_cos_and_sin(); |
---|
| 42 | double dist(double x1, double y1, double z1, double x2, double y2, double z2); |
---|
| 43 | void search_hid(int nr, fF_chamber3d **spheres, double kx_, double ky_, double kz_); |
---|
| 44 | int find_hole(int which, double x, double y, double z, fF_chamber3d **chambers, double kx_, double ky_, double kz_); |
---|
[140] | 45 | }; |
---|
| 46 | |
---|
| 47 | #endif |
---|
[174] | 48 | |
---|
| 49 | |
---|