summaryrefslogtreecommitdiffstats
path: root/matchblox/engine/C_3DObject.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'matchblox/engine/C_3DObject.cpp')
-rw-r--r--matchblox/engine/C_3DObject.cpp44
1 files changed, 18 insertions, 26 deletions
diff --git a/matchblox/engine/C_3DObject.cpp b/matchblox/engine/C_3DObject.cpp
index 75e7ead..b9186cd 100644
--- a/matchblox/engine/C_3DObject.cpp
+++ b/matchblox/engine/C_3DObject.cpp
@@ -14,7 +14,7 @@ C_3DObject::C_3DObject()
m_bOwnTexture(false),
m_bDispListValid(false)
{
- std::cout << "C_3DObject:: default constructor\n";
+ //std::cout << "C_3DObject:: default constructor\n";
}
@@ -71,11 +71,11 @@ C_3DObject::~C_3DObject()
void C_3DObject::TransRotateScale()
{
- glScaled(m_Scale.x, m_Scale.y, m_Scale.z);
glTranslated(m_Pos.x, m_Pos.y, m_Pos.z);
glRotated(m_Rot.z, 0.0, 0.0, 1.0);
glRotated(m_Rot.x, 1.0, 0.0, 0.0);
glRotated(m_Rot.y, 0.0, 1.0, 0.0);
+ glScaled(m_Scale.x, m_Scale.y, m_Scale.z);
}
void C_3DObject::Render()
@@ -95,16 +95,6 @@ void C_3DObject::Render()
glMaterialfv(GL_FRONT, GL_EMISSION, m_Mat.m_fEmi);
glMaterialf(GL_FRONT, GL_SHININESS, m_Mat.m_fShin);
-/*
- //scale translate and rotate
- glPushMatrix();
-
- glScaled(m_Scale.x, m_Scale.y, m_Scale.z);
- glTranslated(m_Pos.x, m_Pos.y, m_Pos.z);
- glRotated(m_Rot.z, 0.0, 0.0, 1.0);
- glRotated(m_Rot.x, 1.0, 0.0, 0.0);
- glRotated(m_Rot.y, 0.0, 1.0, 0.0);
-*/
//render by calling the display list
if(m_bDispListValid)
@@ -115,11 +105,9 @@ void C_3DObject::Render()
{
//or render a LARGE cube when we failed to load the
//geometry
- glutSolidCube(10.0);
+ glutSolidCube(1.0);
}
-// glPopMatrix();
-
glPopAttrib();
}
@@ -140,23 +128,27 @@ bool C_3DObject::CreateObject(const char *f_pFilePath)
l_bParseOk = LoadGeometryData(f_pFilePath, l_Geom);
- //output statistics
- std::cout << "C_3DObject: file " << f_pFilePath
- << "\nParse: " << (l_bParseOk? "SUCCESS" : "FAILURE")
- << "\nVertices: " << l_Geom.m_verts.size()-1
- << "\nNormals: " << l_Geom.m_norms.size()-1
- << "\nTexCrds: " << l_Geom.m_texs.size()-1
- << "\nTriangles: " << l_Geom.m_triangles.size()
- << "\nBoundBox: x(" << m_BBox.m_Min.x << "," << m_BBox.m_Max.x << ")"
- << "\n y(" << m_BBox.m_Min.y << "," << m_BBox.m_Max.y << ")"
- << "\n z(" << m_BBox.m_Min.z << "," << m_BBox.m_Max.z << ")"
- << std::endl;
+ ////output statistics
+ //std::cout << "C_3DObject: file " << f_pFilePath
+ // << "\nParse: " << (l_bParseOk? "SUCCESS" : "FAILURE")
+ // << "\nVertices: " << l_Geom.m_verts.size()-1
+ // << "\nNormals: " << l_Geom.m_norms.size()-1
+ // << "\nTexCrds: " << l_Geom.m_texs.size()-1
+ // << "\nTriangles: " << l_Geom.m_triangles.size()
+ // << "\nBoundBox: x(" << m_BBox.m_Min.x << "," << m_BBox.m_Max.x << ")"
+ // << "\n y(" << m_BBox.m_Min.y << "," << m_BBox.m_Max.y << ")"
+ // << "\n z(" << m_BBox.m_Min.z << "," << m_BBox.m_Max.z << ")"
+ // << std::endl;
if(!l_bParseOk)
{
std::cout << "C_3DObject Error: failed to parse file "
<< f_pFilePath << std::endl;
+ //set bounding box to the size of a unit cube
+ m_BBox.m_Max = Vect3D_t(0.5, 0.5, 0.5);
+ m_BBox.m_Min = Vect3D_t(-0.5, -0.5, -0.5);
+
return false;
}