Main Page
Namespaces
Classes
Files
File List
File Members
patch4.hpp
Go to the documentation of this file.
1
/*
2
** TP CPE Lyon
3
** Copyright (C) 2013 Damien Rohmer
4
**
5
** This program is free software: you can redistribute it and/or modify
6
** it under the terms of the GNU General Public License as published by
7
** the Free Software Foundation, either version 3 of the License, or
8
** (at your option) any later version.
9
**
10
** This program is distributed in the hope that it will be useful,
11
** but WITHOUT ANY WARRANTY; without even the implied warranty of
12
** MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
13
** GNU General Public License for more details.
14
**
15
** You should have received a copy of the GNU General Public License
16
** along with this program. If not, see <http://www.gnu.org/licenses/>.
17
*/
18
19
20
21
#ifndef PATCH4_HPP_
22
#define PATCH4_HPP_
23
24
#include <
vec3.hpp
>
25
26
namespace
cpe
27
{
28
class
matrix4;
29
30
class
patch4
31
{
32
public
:
33
34
// ********************************************* //
35
// ********************************************* //
36
// CONSTRUCTORS
37
// ********************************************* //
38
// ********************************************* //
39
41
patch4
();
43
patch4
(
const
vec3
& x00,
const
vec3
& x01,
const
vec3
& x02,
const
vec3
& x03,
44
const
vec3
& x10,
const
vec3
& x11,
const
vec3
& x12,
const
vec3
& x13,
45
const
vec3
& x20,
const
vec3
& x21,
const
vec3
& x22,
const
vec3
& x23,
46
const
vec3
& x30,
const
vec3
& x31,
const
vec3
& x32,
const
vec3
& x33);
47
48
// ********************************************* //
49
// ********************************************* //
50
// Data
51
// ********************************************* //
52
// ********************************************* //
53
55
const
vec3
&
operator()
(
const
unsigned
int
& ku ,
const
unsigned
int
& kv)
const
;
57
vec3
&
operator()
(
const
unsigned
int
& ku ,
const
unsigned
int
& kv);
58
60
matrix4
get_x
()
const
;
62
matrix4
get_y
()
const
;
64
matrix4
get_z
()
const
;
65
66
private
:
67
69
void
assert_size
(
const
unsigned
int
& ku,
const
unsigned
int
& kv)
const
;
70
72
vec3
internal_data
[16];
73
};
74
}
75
76
#endif
libspline
patch4.hpp
Generated on Sun Apr 28 2013 11:28:20 by
1.8.3.1