g4tools
5.4.0
Main Page
Namespaces
Namespace List
Namespace Members
All
_
a
b
c
d
e
f
g
h
i
k
l
m
n
o
p
q
r
s
t
u
v
w
z
Functions
_
a
b
c
d
e
f
g
h
i
k
l
m
n
o
p
q
r
s
t
u
v
w
Variables
Typedefs
a
b
c
d
e
f
h
i
k
l
m
o
p
r
s
u
w
z
Enumerations
Enumerator
_
a
b
c
d
f
g
h
i
k
l
m
n
o
p
r
s
t
u
w
Classes
Class List
Class Index
Class Hierarchy
Class Members
All
_
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
q
r
s
t
u
v
w
x
y
z
~
Functions
_
a
b
c
d
e
f
g
h
i
k
l
m
n
o
p
q
r
s
t
u
v
w
x
y
z
~
Variables
a
b
c
d
e
f
g
h
i
k
l
m
n
o
p
r
s
t
u
v
w
x
y
z
Typedefs
_
a
b
c
d
e
f
g
h
i
j
l
m
n
o
p
r
s
t
u
v
w
z
Enumerations
Enumerator
a
b
c
d
e
f
h
i
k
l
m
n
o
p
r
s
t
u
v
w
x
Related Functions
Files
File List
File Members
All
_
a
b
c
d
e
f
g
i
l
m
o
p
r
s
t
v
w
x
z
Functions
_
d
g
i
m
p
s
t
v
Typedefs
_
a
c
d
e
g
m
p
s
t
Enumerations
Enumerator
Macros
_
a
b
c
d
e
f
g
i
l
m
o
p
r
s
t
v
w
x
z
•
All
Classes
Namespaces
Files
Functions
Variables
Typedefs
Enumerations
Enumerator
Friends
Macros
g4tools
tools
curve
Go to the documentation of this file.
1
// Copyright (C) 2010, Guy Barrand. All rights reserved.
2
// See the file tools.license for terms.
3
4
#ifndef tools_curve
5
#define tools_curve
6
7
#include "
scast
"
8
#include "
S_STRING
"
9
10
#ifdef TOOLS_MEM
11
#include "
mem
"
12
#endif
13
14
#include "
lina/vec3f
"
15
#include "
lina/mat4f
"
16
17
namespace
tools
{
18
19
class
curve
{
20
public
:
21
TOOLS_SCLASS
(
tools::curve
)
22
virtual
void
*
cast
(const std::
string
& a_class)
const
{
23
if
(
void
* p = cmp_cast<curve>(
this
,a_class)) {
return
p;}
24
return
0;
25
}
26
public
:
27
virtual
void
copy
(
curve
*&)
const
= 0;
28
public
:
29
virtual
bool
pos_tan_nor
(
float
a_s,
30
vec3f
& a_pos,
31
vec3f
& a_tan,
32
vec3f
& a_nor)
const
= 0;
33
public
:
34
curve
(){
35
#ifdef TOOLS_MEM
36
mem::increment(s_class().c_str());
37
#endif
38
m_model
.set_identity();
39
}
40
virtual
~curve
(){
41
#ifdef TOOLS_MEM
42
mem::decrement(s_class().c_str());
43
#endif
44
}
45
public
:
46
curve
(
const
curve
& a_from):
m_model
(a_from.
m_model
){
47
#ifdef TOOLS_MEM
48
mem::increment(s_class().c_str());
49
#endif
50
}
51
curve
&
operator=
(
const
curve
& a_from){
52
m_model
= a_from.
m_model
;
53
return
*
this
;
54
}
55
public
:
56
void
set_model_matrix
(
const
mat4f
& a_m) {
m_model
= a_m;}
57
protected
:
58
mat4f
m_model
;
59
};
60
61
}
62
63
#endif
tools::curve::curve
curve()
Definition:
curve:34
vec3f
tools::curve::copy
virtual void copy(curve *&) const =0
TOOLS_SCLASS
#define TOOLS_SCLASS(a_name)
Definition:
S_STRING:41
mem
tools::curve::cast
virtual void * cast(const std::string &a_class) const
Definition:
curve:22
tools::curve::pos_tan_nor
virtual bool pos_tan_nor(float a_s, vec3f &a_pos, vec3f &a_tan, vec3f &a_nor) const =0
mat4f
tools::vec3f
Definition:
vec3f:13
tools::curve::m_model
mat4f m_model
Definition:
curve:58
tools::curve::operator=
curve & operator=(const curve &a_from)
Definition:
curve:51
tools
inlined C code : ///////////////////////////////////
Definition:
aida_ntuple:26
tools::curve::set_model_matrix
void set_model_matrix(const mat4f &a_m)
Definition:
curve:56
S_STRING
tools::curve
Definition:
curve:19
tools::mat4f
Definition:
mat4f:12
tools::curve::curve
curve(const curve &a_from)
Definition:
curve:46
scast
tools::curve::~curve
virtual ~curve()
Definition:
curve:40
Generated by
1.8.20