RioEngine
0.1
My first attempt to create a 3D WYSIWYG Game Engine
Main Page
Related Pages
Namespaces
Classes
Files
File List
File Members
transform.h
Go to the documentation of this file.
1
//--------------------------------------------------------------- @License begins
2
// RioEngine: The late night Coke -without whores- debugging sessions
3
// 2012-2015 Leopoldo Lomas Flores. Torreon, Coahuila. MEXICO
4
// leopoldolomas [at] gmail
5
// www.rioengine.com
6
// www.leopoldolomas.info
7
// "You have a problem, you face it like a man."
8
//
9
// This is free and unencumbered software released into the public domain.
10
//
11
// Anyone is free to copy, modify, publish, use, compile, sell, or distribute this
12
// software, either in source code form or as a compiled binary, for any purpose,
13
// commercial or non-commercial, and by any means.
14
//
15
// In jurisdictions that recognize copyright laws, the author or authors of this
16
// software dedicate any and all copyright interest in the software to the public
17
// domain. We make this dedication for the benefit of the public at large and to
18
// the detriment of our heirs and successors. We intend this dedication to be
19
// an overt act of relinquishment in perpetuity of all present and future
20
// rights to this software under copyright law.
21
//
22
// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
23
// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,FITNESS
24
// FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS BE
25
// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF
26
// CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
27
// SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
28
//--------------------------------------------------------------- @License ends
29
30
#ifndef RIOENGINE_MISC_TRANSFORM_H_
31
#define RIOENGINE_MISC_TRANSFORM_H_
32
33
#include "
cengine/cobject.h
"
34
#include "
misc/btcustomtransform.h
"
35
36
class
CGameScene
;
37
38
class
Transform
:
public
CObject
{
39
public
:
40
enum
TransformMode
{
LOCAL
,
GLOBAL
};
41
enum
UnitType
{
WORLD
,
PHYSICSWORLD
};
42
43
Transform
();
44
45
btCustomTransform
&
local
(
bool
scale
=
true
)
const
;
46
btCustomTransform
global
(
bool
scale
=
true
)
const
;
47
48
btVector3
position
()
const
;
49
btVector3
scale
()
const
;
50
btQuaternion
rotation
()
const
;
51
52
const
btVector3&
localPosition
(
UnitType
unit_type =
WORLD
)
const
;
53
btVector3
localScale
()
const
;
54
btQuaternion
localRotation
()
const
;
55
56
void
setLocalPosition
(
float
x,
float
y,
float
z);
57
void
setLocalPosition
(
const
btVector3& vec);
58
59
void
setLocalScale
(
float
x,
float
y,
float
z);
60
void
setLocalScale
(
float
localScale
);
61
void
setLocalScale
(
const
btVector3&
scale
);
62
63
void
setLocalRotation
(
float
w,
float
x,
float
y,
float
z);
64
void
setLocalRotation
(
const
btQuaternion& q);
65
66
virtual
btVector3
getRightVector
(
TransformMode
transform_mode =
LOCAL
);
67
virtual
btVector3
getUpVector
(
TransformMode
transform_mode =
LOCAL
);
68
virtual
btVector3
getForwardVector
(
TransformMode
transform_mode =
LOCAL
);
69
70
void
moveX
(
float
dx,
TransformMode
transform_mode =
GLOBAL
);
71
void
moveY
(
float
dy,
TransformMode
transform_mode =
GLOBAL
);
72
void
moveZ
(
float
dz,
TransformMode
transform_mode =
GLOBAL
);
73
74
void
rotate
(btQuaternion &q,
TransformMode
transform_mode =
GLOBAL
);
75
void
rotateX
(
float
angle,
TransformMode
transform_mode =
GLOBAL
);
76
void
rotateY
(
float
angle,
TransformMode
transform_mode =
GLOBAL
);
77
void
rotateZ
(
float
angle,
TransformMode
transform_mode =
GLOBAL
);
78
79
private
:
80
btRigidBody* parentsBody()
const
;
81
CGameScene
* parentsScene()
const
;
82
83
mutable
btCustomTransform
m_localTransform;
84
};
85
86
class
CameraTransform
:
public
Transform
{
87
virtual
btVector3 getRightVector (
TransformMode
transform_mode =
LOCAL
);
88
virtual
btVector3 getUpVector (
TransformMode
transform_mode =
LOCAL
);
89
virtual
btVector3 getForwardVector(
TransformMode
transform_mode =
LOCAL
);
90
};
91
92
#endif // RIOENGINE_MISC_TRANSFORM_H_
Transform::local
btCustomTransform & local(bool scale=true) const
Definition:
transform.cpp:302
CGameScene
Definition:
cgamescene.h:38
Transform::localRotation
btQuaternion localRotation() const
Definition:
transform.cpp:132
Transform::global
btCustomTransform global(bool scale=true) const
Definition:
transform.cpp:322
cobject.h
Transform::rotation
btQuaternion rotation() const
Definition:
transform.cpp:93
btCustomTransform
btTransform + Scale Matrix
Definition:
btcustomtransform.h:39
Transform::scale
btVector3 scale() const
Definition:
transform.cpp:81
Transform::setLocalScale
void setLocalScale(float x, float y, float z)
Definition:
transform.cpp:180
Transform::PHYSICSWORLD
Definition:
transform.h:41
Transform::localPosition
const btVector3 & localPosition(UnitType unit_type=WORLD) const
Definition:
transform.cpp:105
Transform::moveX
void moveX(float dx, TransformMode transform_mode=GLOBAL)
Definition:
transform.cpp:242
Transform::rotate
void rotate(btQuaternion &q, TransformMode transform_mode=GLOBAL)
Definition:
transform.cpp:267
btcustomtransform.h
Transform::setLocalRotation
void setLocalRotation(float w, float x, float y, float z)
Definition:
transform.cpp:209
Transform
Definition:
transform.h:38
Transform::getRightVector
virtual btVector3 getRightVector(TransformMode transform_mode=LOCAL)
Definition:
transform.cpp:215
Transform::moveY
void moveY(float dy, TransformMode transform_mode=GLOBAL)
Definition:
transform.cpp:250
Transform::moveZ
void moveZ(float dz, TransformMode transform_mode=GLOBAL)
Definition:
transform.cpp:258
Transform::getUpVector
virtual btVector3 getUpVector(TransformMode transform_mode=LOCAL)
Definition:
transform.cpp:224
Transform::GLOBAL
Definition:
transform.h:40
Transform::Transform
Transform()
Definition:
transform.cpp:37
Transform::WORLD
Definition:
transform.h:41
Transform::rotateZ
void rotateZ(float angle, TransformMode transform_mode=GLOBAL)
Definition:
transform.cpp:295
Transform::localScale
btVector3 localScale() const
Definition:
transform.cpp:123
Transform::TransformMode
TransformMode
Definition:
transform.h:40
Transform::getForwardVector
virtual btVector3 getForwardVector(TransformMode transform_mode=LOCAL)
Definition:
transform.cpp:233
Transform::LOCAL
Definition:
transform.h:40
Transform::UnitType
UnitType
Definition:
transform.h:41
Transform::rotateX
void rotateX(float angle, TransformMode transform_mode=GLOBAL)
Definition:
transform.cpp:277
Transform::position
btVector3 position() const
Definition:
transform.cpp:69
Transform::setLocalPosition
void setLocalPosition(float x, float y, float z)
Definition:
transform.cpp:165
Transform::rotateY
void rotateY(float angle, TransformMode transform_mode=GLOBAL)
Definition:
transform.cpp:284
CObject
Definition:
cobject.h:46
CameraTransform
Definition:
transform.h:86
rioengine
misc
transform.h
Generated on Mon Jan 12 2015 22:24:00 for RioEngine by
1.8.9.1