Automatically set parent family in individual, when adding child to the family.
[familia.git] / src / storage / positions.h
1 /****************************************************************************
2  *  Familia Lignum - Genealogical program                                   *
3  *  Copyright (C) 2011-2012 Rafał Długołęcki <rafal@dlugolecki.net.pl>      *
4  *                                                                          *
5  *  This program is free software; you can redistribute it and/or modify    *
6  *  it under the terms of the GNU General Public License as published by    *
7  *  the Free Software Foundation; version 2 of the License.                 *
8  *                                                                          *
9  *  This program is distributed in the hope that it will be useful,         *
10  *  but WITHOUT ANY WARRANTY; without even the implied warranty of          *
11  *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the           *
12  *  GNU General Public License for more details.                            *
13  *                                                                          *
14  *  You should have received a copy of the GNU General Public License along *
15  *  with this program; if not, write to the Free Software Foundation, Inc., *
16  *  51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.             *
17  *                                                                          *
18  ****************************************************************************/
19
20 #ifndef _FAMILIA_STORAGE_POSITIONS_H
21 #define _FAMILIA_STORAGE_POSITIONS_H
22
23 #include "../math/3d.h"
24
25 #include "individual.h"
26 #include "family.h"
27
28 /**
29  * Sets position for the given individual.
30  * @parameter individual individual to set the position
31  * @parameter position position which will be used for individual
32  */
33 void familia_positions_set_individual_position(struct familia_individual *individual, struct position *pos);
34
35 /**
36  * Sets position for the given family.
37  * @parameter family family to set the position
38  * @parameter position position which will be used for family
39  */
40 void familia_positions_set_family_position(struct familia_family *family, struct position *pos);
41
42 /**
43  * Gets position of the given individual.
44  * @parameter individual individual for which the position will be get
45  * @return position of the individual or NULL on error
46  */
47 struct position * familia_position_get_individual_position(struct familia_individual *individual);
48
49 /**
50  * Gets position of the given family
51  * @parameter family family for which the position will be get
52  * @return position of the family or NULL on error
53  */
54 struct position * familia_position_get_family_position(struct familia_family *family);
55
56 #endif /* _FAMILIA_STORAGE_POSITIONS_H */