Moka controlers
Main Page
Namespaces
Classes
Files
File List
File Members
All
Classes
Namespaces
Files
Functions
Variables
Typedefs
Enumerator
Friends
Macros
controler-protected-methods.cc
Go to the documentation of this file.
1
/*
2
* lib-controler : Un contrôleur générique de scène 3D.
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-controler
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
#include "
controler.hh
"
26
#include "
precompile.hh
"
27
#include "math-extension.hh"
28
29
#include "
view-precompile.hh
"
30
#include "
view-precompile-ortho.hh
"
31
#include "
view-precompile-perspective.hh
"
32
33
#include "
precompile-aimed-point.hh
"
34
#include "
precompile-axis.hh
"
35
#include "
precompile-grid.hh
"
36
37
#include <cassert>
38
#include <string>
39
using namespace
std;
40
//******************************************************************************
41
CPrecompile
*
CControler::newPrecompile
(
TViewId
AViewId,
42
TPrecompile
APrecompileType)
43
{
44
CPrecompile
* precompile = NULL;
45
46
switch
(APrecompileType)
47
{
48
case
PRECOMPILE_AIMED_POINT
:
49
precompile =
50
new
CPrecompileAimedPoint
(
new
CParameterAimedPoint
,
51
&
FViews
[AViewId]->getAimedPosition());
52
break
;
53
case
PRECOMPILE_AXIS
:
54
precompile =
new
CPrecompileAxis
(
new
CParameterAxis
);
55
break
;
56
case
PRECOMPILE_GRID
:
57
precompile =
new
CPrecompileGrid
(
new
CParameterGrid
);
58
break
;
59
}
60
61
return
precompile;
62
}
63
//******************************************************************************
64
CViewPrecompile
*
65
CControler::newViewPrecompile
(
TView
AViewType,
66
CParameterEyePosition
* AEyePosition,
67
CParameterAimedPosition
* AAimedPosition,
68
CParameterDrawing
* ASceneDrawing)
69
{
70
CViewPrecompile
* view = NULL;
71
72
switch
(AViewType)
73
{
74
case
VIEW_XYZ
:
75
view =
new
CViewPrecompilePerspective
(AEyePosition,
76
AAimedPosition,
77
ASceneDrawing);
78
break
;
79
case
VIEW_ISO
:
80
view =
new
CViewPrecompileOrtho
(AEyePosition, AAimedPosition, ASceneDrawing,
81
OX+OY, OX-OY+OZ);
break
;
82
case
VIEW_XY
:
83
view =
new
CViewPrecompileOrtho
(AEyePosition, AAimedPosition, ASceneDrawing,
84
OX, OY);
break
;
85
case
VIEW_XZ
:
86
view =
new
CViewPrecompileOrtho
(AEyePosition, AAimedPosition, ASceneDrawing,
87
OX, OZ);
break
;
88
case
VIEW_YZ
:
89
view =
new
CViewPrecompileOrtho
(AEyePosition, AAimedPosition, ASceneDrawing,
90
OY, OZ);
break
;
91
}
92
93
return
view;
94
}
95
//******************************************************************************
lib-controler
controler-protected-methods.cc
Generated on Tue Apr 9 2013 09:51:16 for Moka controlers by
1.8.2