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

Last change on this file since 174 was 174, checked in by oriona, 10 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.