Moka libraries
Main Page
Namespaces
Classes
Files
File List
File Members
All
Classes
Namespaces
Files
Functions
Variables
Typedefs
Enumerations
Enumerator
Friends
Macros
voxel.hh
Go to the documentation of this file.
1
/*
2
* lib-spamod : Visualisation des objets en discret.
3
* Copyright (C) 2004, Moka Team, Université de Poitiers, Laboratoire SIC
4
* http://www.sic.sp2mi.univ-poitiers.fr/
5
* Copyright (C) 2009, Guillaume Damiand, CNRS, LIRIS,
6
* guillaume.damiand@liris.cnrs.fr, http://liris.cnrs.fr/
7
*
8
* This file is part of lib-spamod
9
*
10
* This program is free software: you can redistribute it and/or modify
11
* it under the terms of the GNU Lesser General Public License as published by
12
* the Free Software Foundation, either version 3 of the License, or
13
* (at your option) any later version.
14
*
15
* This program is distributed in the hope that it will be useful,
16
* but WITHOUT ANY WARRANTY; without even the implied warranty of
17
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
18
* GNU Lesser General Public License for more details.
19
*
20
* You should have received a copy of the GNU Lesser General Public License
21
* along with this program. If not, see <http://www.gnu.org/licenses/>.
22
*/
23
24
/******************************************************************************
25
* Fichier : Voxel.h *
26
* Auteur : DEXET Martine *
27
*----------------------------------------------------------------------------*
28
* Ce fichier contient la spécification de la classe Voxel. Cette classe *
29
* permet de représenter ce centre d'un voxel à l'aide de trois coordonnées *
30
* entières. *
31
* *
32
*****************************************************************************/
33
34
35
#ifndef VOXEL_H
36
#define VOXEL_H
37
38
39
40
/******************************************************************************
41
* Classe Voxel *
42
*****************************************************************************/
43
44
class
Voxel
{
45
46
public
:
47
48
// Constructeurs.
49
Voxel
();
50
Voxel
(
int
alpha,
int
b,
int
c);
51
52
// Méthodes permettant la lecture des coordonnées.
53
int
Get_X
()
const
;
54
int
Get_Y
()
const
;
55
int
Get_Z
()
const
;
56
57
// Méthode permettant l'écriture des coordonnées.
58
void
Set_XYZ
(
int
alpha,
int
b,
int
c);
59
60
// Opérateur de transfert <<.
61
friend
std::ostream &
operator<<
(std::ostream & s,
Voxel
* v);
62
63
64
private
:
65
66
// Variables représentant les coordonnées du centre du voxel.
67
int
x, y, z;
68
};
69
70
/******************************************************************************
71
* Fichier : Voxel.inl *
72
* Auteur : DEXET Martine *
73
*----------------------------------------------------------------------------*
74
* Ce fichier contient l'implémentation des méthodes de la classe Voxel *
75
* *
76
*****************************************************************************/
77
78
79
// Constructeurs.
80
inline
81
Voxel::Voxel
()
82
:x(0), y(0), z(0)
83
{}
84
85
inline
86
Voxel::Voxel
(
int
alpha,
int
b,
int
c)
87
:x(alpha), y(b), z(c)
88
{}
89
90
91
// Méthodes permettant la lecture des coordonnées.
92
inline
93
int
Voxel::Get_X
()
const
94
{
95
return
x;
96
}
97
98
inline
99
int
Voxel::Get_Y
()
const
100
{
101
return
y;
102
}
103
104
inline
105
int
Voxel::Get_Z
()
const
106
{
107
return
z;
108
}
109
110
111
// Méthode permettant l'écriture des coordonnées.
112
inline
113
void
Voxel::Set_XYZ
(
int
alpha,
int
b,
int
c)
114
{
115
x = alpha;
116
y = b;
117
z = c;
118
}
119
120
121
// Opérateur de transfert <<.
122
inline
123
std::ostream &
operator<<
(std::ostream & s,
Voxel
* v)
124
{
125
s << v->
Get_X
() <<
" "
<< v->
Get_Y
() <<
" "
<< v->
Get_Z
() << std::endl;
126
return
s;
127
}
128
129
#endif
lib-spamod
main
basic
voxel.hh
Generated on Tue Apr 9 2013 09:51:42 for Moka libraries by
1.8.2