Remove no-inline-max-size and suppress remark
[alexxy/gromacs.git] / src / gromacs / legacyheaders / types / matrix.h
1 /*
2  * This file is part of the GROMACS molecular simulation package.
3  *
4  * Copyright (c) 1991-2000, University of Groningen, The Netherlands.
5  * Copyright (c) 2001-2004, The GROMACS development team.
6  * Copyright (c) 2011,2014, by the GROMACS development team, led by
7  * Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl,
8  * and including many others, as listed in the AUTHORS file in the
9  * top-level source directory and at http://www.gromacs.org.
10  *
11  * GROMACS is free software; you can redistribute it and/or
12  * modify it under the terms of the GNU Lesser General Public License
13  * as published by the Free Software Foundation; either version 2.1
14  * of the License, or (at your option) any later version.
15  *
16  * GROMACS is distributed in the hope that it will be useful,
17  * but WITHOUT ANY WARRANTY; without even the implied warranty of
18  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
19  * Lesser General Public License for more details.
20  *
21  * You should have received a copy of the GNU Lesser General Public
22  * License along with GROMACS; if not, see
23  * http://www.gnu.org/licenses, or write to the Free Software Foundation,
24  * Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA.
25  *
26  * If you want to redistribute modifications to GROMACS, please
27  * consider that scientific software is very special. Version
28  * control is crucial - bugs must be traceable. We will be happy to
29  * consider code for inclusion in the official distribution, but
30  * derived work must not be called official GROMACS. Details are found
31  * in the README & COPYING files - if they are missing, get the
32  * official version at http://www.gromacs.org.
33  *
34  * To help us fund GROMACS development, we humbly ask that you cite
35  * the research papers on the package. Check out http://www.gromacs.org.
36  */
37 #ifndef GMX_LEGACYHEADERS_TYPES_MATRIX_H
38 #define GMX_LEGACYHEADERS_TYPES_MATRIX_H
39
40 #ifdef __cplusplus
41 extern "C" {
42 #endif
43
44 #include "simple.h"
45
46 typedef struct {
47     real r, g, b;
48 } t_rgb;
49
50 typedef struct {
51     char c1; /* should all be non-zero (and printable and not '"') */
52     char c2; /*
53               * should all be zero (single char color names: smaller xpm's)
54               * or should all be non-zero (double char color names: more colors)
55               */
56 } t_xpmelmt;
57
58 typedef short t_matelmt;
59
60 typedef struct {
61     t_xpmelmt   code; /* see comment for t_xpmelmt */
62     const char *desc;
63     t_rgb       rgb;
64 } t_mapping;
65
66 #define MAT_SPATIAL_X (1<<0)
67 #define MAT_SPATIAL_Y (1<<1)
68 /* Defines if x and y are spatial dimensions,
69  * when not, there are n axis ticks at the middle of the elements,
70  * when set, there are n+1 axis ticks at the edges of the elements.
71  */
72
73 typedef struct {
74     unsigned int flags; /* The possible flags are defined above */
75     int          nx, ny;
76     int          y0;
77     char         title[256];
78     char         legend[256];
79     char         label_x[256];
80     char         label_y[256];
81     gmx_bool     bDiscrete;
82     real        *axis_x;
83     real        *axis_y;
84     t_matelmt  **matrix;
85     int          nmap;
86     t_mapping   *map;
87 } t_matrix;
88 /* title      matrix title
89  * legend     label for the continuous legend
90  * label_x    label for the x-axis
91  * label_y    label for the y-axis
92  * nx, ny     size of the matrix
93  * axis_x[]   the x-ticklabels
94  * axis_y[]   the y-ticklables
95  * *matrix[]  element x,y is matrix[x][y]
96  * nmap       number of color levels for the output(?)
97  */
98
99 #ifdef __cplusplus
100 }
101 #endif
102
103 #endif