source: cpp/frams/genetics/fF/conv_fF.h @ 176

Last change on this file since 176 was 176, checked in by Maciej Komosinski, 10 years ago

Renamed #defines that conflicted with system-wide defines for Windows (added fF_ prefix), updated ranges for scaling parameters, updated the simplest genotype, formatted sources

  • Property svn:eol-style set to native
File size: 1.5 KB
Line 
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
8#define fF_TOO_MUCH 0.75
9#define fF_TOO_LITTLE 0.10
10
11#define fF_HOLE_RADIUS 0.05f
12#define fF_LONGITUDE_NUM 69
13
14#define fF_LATITUDE_NUM ((fF_LONGITUDE_NUM - 1)*2)
15#define fF_AMOUNT ((fF_LATITUDE_NUM)*(fF_LONGITUDE_NUM))
16
17#define fF_THICK_RATIO 0.95
18
19#define fF_SIZE fF_LONGITUDE_NUM * fF_LATITUDE_NUM + fF_LATITUDE_NUM
20
21#include <frams/util/multimap.h>
22#include <frams/util/sstring.h>
23#include <frams/genetics/genoconv.h>
24#include "fF_chamber3d.h"
25
26// The f9->f0 converter
27class GenoConv_fF0 : public GenoConverter {
28public:
29        GenoConv_fF0();
30        ~GenoConv_fF0();
31        //implementation of the GenoConverter method
32        SString convert(SString &in, MultiMap *map);
33
34protected:
35        double* cosines;
36        double* sines;
37        void createSphere(int ktora, fF_chamber3d **chambers, double radius, double div_radius_length, double div_vector_length,
38                double alpha, double gamma, double kx, double ky, double kz);
39        double** generate_points(fF_chamber3d *chamber, int which, double kx, double ky, double kz);
40        void fill_cos_and_sin();
41        double dist(double x1, double y1, double z1, double x2, double y2, double z2);
42        void search_hid(int nr, fF_chamber3d **spheres, double kx_, double ky_, double kz_);
43        int find_hole(int which, double x, double y, double z, fF_chamber3d **chambers, double kx_, double ky_, double kz_);
44};
45
46#endif
Note: See TracBrowser for help on using the repository browser.