Subversion Repositories gelsvn

Rev

Rev 89 | Only display areas with differences | Ignore whitespace | Details | Blame | Last modification | View Log | RSS feed

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