Subversion Repositories gelsvn

Rev

Rev 2 | Go to most recent revision | Details | Compare with Previous | Last modification | View Log | RSS feed

Rev Author Line No. Line
2 bj 1
#ifndef __CGLA_VEC3I_H__
2
#define __CGLA_VEC3I_H__
3
 
4
#include "ArithVec3Int.h"
5
 
6
namespace CGLA 
7
{
8
	class Vec3f;
9
	class Vec3uc;
10
	class Vec3usi;
11
 
89 jab 12
	/** \brief 3D integer vector. 
13
 
14
	    This class does not really extend the template
2 bj 15
			and hence provides only the basic facilities of an ArithVec. 
16
			The class is typically used for indices to 3D voxel grids. */
17
	class Vec3i: public ArithVec3Int<int,Vec3i>
18
	{
19
	public:
20
 
21
		/// Construct 0 vector.
22
		Vec3i() {}
23
 
24
		/// Construct a 3D integer vector.
25
		Vec3i(int _a,int _b,int _c): ArithVec3Int<int,Vec3i>(_a,_b,_c) {}
26
 
27
		/// Construct a 3D integer vector with 3 identical coordinates.
28
		explicit Vec3i(int a): ArithVec3Int<int,Vec3i>(a,a,a) {}
29
 
30
		/// Construct from a Vec3f.
31
		explicit Vec3i(const Vec3f& v);
32
 
33
		/// Construct from a Vec3uc.
34
		explicit Vec3i(const Vec3uc& v);
35
 
36
		/// Construct from a Vec3usi.
37
		explicit Vec3i(const Vec3usi& v);
38
 
39
	};
40
 
41
 
42
}
43
#endif