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

Last change on this file since 174 was 174, checked in by oriona, 9 years ago

Chambers in Foraminifera grow so that the length of the local communication path is minimal

  • 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 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
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
27
28class GenoConv_fF0 : public GenoConverter {
29public:
30    GenoConv_fF0();
31    ~GenoConv_fF0();
32    //implementation of the GenoConverter method
33    SString convert(SString &in, MultiMap *map);
34
35protected:
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_);
45};
46
47#endif
48
49
Note: See TracBrowser for help on using the repository browser.