grasp_reindexer3D.h
Go to the documentation of this file.
1 /*
2  * Copyright 2016 CNRS & Universite Lille 1. All rights reserved.
3  *
4  * Licensed under the GRASP Open Source License V1.0 (see LICENSE file)
5  */
6 
13 #ifndef GRASP_REINDEXER3D_H_
14 #define GRASP_REINDEXER3D_H_
15 
16 static const int GRASP_INVALID_INDEX = -1;
17 
18 /* This module provides an interface to map linear indices to triplets of coordinates (it could
19  * be easily generalized to other sets of coordinates).
20  *
21  * The coordinates don't need to start at 0, or even to be positive. That way,
22  * one can express indices directly in natural coordinates for the problem being dealt with.
23  */
24 
26 
28  int x0;
29  int y0;
30  int z0;
31  size_t nx;
32  size_t ny;
33  size_t nz;
35 
37 extern void grasp_reindexer3D_delete(grasp_reindexer3D_t *reindexer);
39 extern int grasp_reindexer3D_get_linear_index(const grasp_reindexer3D_t *reindexer, int x, int y, int z);
40 extern bool grasp_reindexer3D_set_linear_index(grasp_reindexer3D_t *reindexer, int x, int y, int z, int linear_index);
41 extern size_t grasp_reindexer3D_get_allocated_memory(const grasp_reindexer3D_t *reindexer);
42 
43 #endif /* GRASP_REINDEXER3D_H_ */
size_t ny
Definition: grasp_reindexer3D.h:32
grasp_reindexer3D_t * grasp_reindexer3D_new(const grasp_reindexer3D_props_t *props)
Definition: grasp_reindexer3D.c:123
int grasp_reindexer3D_get_linear_index(const grasp_reindexer3D_t *reindexer, int x, int y, int z)
Definition: grasp_reindexer3D.c:147
int z0
Definition: grasp_reindexer3D.h:30
Definition: grasp_reindexer3D.h:27
struct grasp_reindexer3D_props_t_ grasp_reindexer3D_props_t
size_t grasp_reindexer3D_get_allocated_memory(const grasp_reindexer3D_t *reindexer)
Definition: grasp_reindexer3D.c:224
int x0
Definition: grasp_reindexer3D.h:28
Definition: grasp_reindexer3D.c:26
int y0
Definition: grasp_reindexer3D.h:29
bool grasp_reindexer3D_set_linear_index(grasp_reindexer3D_t *reindexer, int x, int y, int z, int linear_index)
Definition: grasp_reindexer3D.c:183
size_t nz
Definition: grasp_reindexer3D.h:33
void grasp_reindexer3D_get_properties(const grasp_reindexer3D_t *reindexer, grasp_reindexer3D_props_t *props)
Definition: grasp_reindexer3D.c:220
size_t nx
Definition: grasp_reindexer3D.h:31
void grasp_reindexer3D_delete(grasp_reindexer3D_t *reindexer)
Definition: grasp_reindexer3D.c:141