RioEngine
0.1
My first attempt to create a 3D WYSIWYG Game Engine
Main Page
Related Pages
Namespaces
Classes
Files
File List
File Members
clgeometry.cpp
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
#include "
cengine/carray.h
"
31
#include "
clengine/clmesh.h
"
32
#include "
clengine/clgeometry.h
"
33
34
//-----------------------------------------------------------------------------
35
36
CLGeometry::CLGeometry
() :
CObject
() {
37
m_mesh =
new
CLMesh
();
38
m_polygons = NULL;
39
}
40
41
//-----------------------------------------------------------------------------
42
43
CLGeometry::CLGeometry
(
const
CLGeometry
& original_obj) :
CObject
() {
44
copyValuesFromObject
(original_obj);
45
}
46
47
//-----------------------------------------------------------------------------
48
49
void
CLGeometry::copyValuesFromObject
(
const
CLGeometry
& original_obj) {
50
m_mesh = (
CLMesh
*)original_obj.
getMesh
()->
retain
();
51
m_polygons = NULL;
52
53
CArray<CLPolygon>
* polygons_array = original_obj.
getPolygons
();
54
setPolygons
(polygons_array);
55
}
56
57
//-----------------------------------------------------------------------------
58
59
CLGeometry
&
CLGeometry::operator=
(
const
CLGeometry
& original_obj) {
60
if
(
this
== &original_obj) {
61
return
*
this
;
62
}
63
64
copyValuesFromObject
(original_obj);
65
66
return
*
this
;
67
}
68
69
//-----------------------------------------------------------------------------
70
71
void
CLGeometry::setPolygons
(
CArray<CLPolygon>
* polygons_array) {
72
RE_ASSERT
(polygons_array);
73
SAFE_RELEASE
(m_polygons);
74
SAFE_RETAIN
(polygons_array);
75
m_polygons = polygons_array;
76
}
77
78
//-----------------------------------------------------------------------------
79
80
CArray<CLPolygon>
*
CLGeometry::getPolygons
()
const
{
81
return
m_polygons;
82
}
83
84
//-----------------------------------------------------------------------------
85
86
CLMesh
*
CLGeometry::getMesh
()
const
{
87
return
m_mesh;
88
}
89
90
//-----------------------------------------------------------------------------
91
92
CLGeometry::~CLGeometry
() {
93
SAFE_RELEASE
(m_polygons);
94
SAFE_RELEASE
(m_mesh);
95
}
CLGeometry::getPolygons
CArray< CLPolygon > * getPolygons() const
Definition:
clgeometry.cpp:80
CLGeometry::copyValuesFromObject
virtual void copyValuesFromObject(const CLGeometry &geometry)
Definition:
clgeometry.cpp:49
CLMesh
Definition:
clmesh.h:47
carray.h
CLGeometry
Definition:
clgeometry.h:39
clmesh.h
CArray< CLPolygon >
SAFE_RELEASE
#define SAFE_RELEASE(x)
Definition:
cobject.h:36
CLGeometry::getMesh
CLMesh * getMesh() const
Definition:
clgeometry.cpp:86
CLGeometry::operator=
CLGeometry & operator=(const CLGeometry &geometry)
Definition:
clgeometry.cpp:59
CLGeometry::~CLGeometry
~CLGeometry()
Definition:
clgeometry.cpp:92
SAFE_RETAIN
#define SAFE_RETAIN(x)
Definition:
cobject.h:35
RE_ASSERT
#define RE_ASSERT
Definition:
macro.h:57
clgeometry.h
CLGeometry::setPolygons
void setPolygons(CArray< CLPolygon > *)
Definition:
clgeometry.cpp:71
CLGeometry::CLGeometry
CLGeometry()
Definition:
clgeometry.cpp:36
CObject
Definition:
cobject.h:46
CObject::retain
CObject * retain()
Definition:
cobject.cpp:66
rioengine
clengine
clgeometry.cpp
Generated on Mon Jan 12 2015 22:23:58 for RioEngine by
1.8.9.1