#include <TAPsOpenGLTrigonalModel.hpp>


Public Member Functions | |
| OpenGLTrigonalModel () | |
| virtual | ~OpenGLTrigonalModel () |
Protected Member Functions | |
| virtual void | DrawGL (GLenum) |
Friends | |
| std::ostream & | operator<< (std::ostream &output, OpenGLTrigonalModel< T > const &o) |
Definition at line 21 of file TAPsOpenGLTrigonalModel.hpp.
| BEGIN_NAMESPACE_TAPs__OpenGL OpenGLTrigonalModel< T >::OpenGLTrigonalModel | ( | ) | [inline] |
Definition at line 23 of file TAPsOpenGLTrigonalModel.cpp.
00024 : TrigonalModel<T>() 00025 { 00026 #ifdef TAPs_DEBUG_MODE 00027 std::cout << "OpenGLTrigonalModel<" << typeid(T).name() << "> constructor\n"; 00028 #endif//TAPs_DEBUG_MODE 00029 }
| OpenGLTrigonalModel< T >::~OpenGLTrigonalModel | ( | ) | [inline, virtual] |
Definition at line 33 of file TAPsOpenGLTrigonalModel.cpp.
00034 { 00035 #ifdef TAPs_DEBUG_MODE 00036 std::cout << "OpenGLTrigonalModel<" << typeid(T).name() << "> destructor\n"; 00037 #endif//TAPs_DEBUG_MODE 00038 }
| void OpenGLTrigonalModel< T >::DrawGL | ( | GLenum | drawMode | ) | [inline, protected, virtual] |
Implements OpenGLSupport.
Definition at line 76 of file TAPsOpenGLTrigonalModel.cpp.
00077 { 00078 if ( isFacetShading ) { 00079 // Draw the object 00080 //glEnable( GL_TEXTURE_2D ); 00081 for ( int i = 0; i < m_iNoFaces; ++i ) 00082 { 00083 glBegin( drawMode ); 00084 for ( int j = 0; j < m_prFace[i].GetNoVertices(); ++j ) 00085 { 00086 // Draw texture 00087 if ( m_prFace[i].GetNoTexCoords() != 0 ) { 00088 glTexCoord2f( static_cast<float>( m_prFace[i].GetTexCoordHalfNo( j*2 ) ), 00089 static_cast<float>( m_prFace[i].GetTexCoordHalfNo( j*2+1 ) ) ); 00090 } 00091 // Normal of the face 00092 glNormal3f ( static_cast<float>( m_prFace[i].GetNormal()[0] ), 00093 static_cast<float>( m_prFace[i].GetNormal()[1] ), 00094 static_cast<float>( m_prFace[i].GetNormal()[2] ) ); 00095 // Draw the vertex 00096 glVertex3f ( 00097 static_cast<float>( m_prVertex[ m_prFace[i].GetVertexNo( j ) ][0] ), 00098 static_cast<float>( m_prVertex[ m_prFace[i].GetVertexNo( j ) ][1] ), 00099 static_cast<float>( m_prVertex[ m_prFace[i].GetVertexNo( j ) ][2] ) ); 00100 } 00101 glEnd(); 00102 } 00103 //glDisable( GL_TEXTURE_2D ); 00104 } 00105 else { 00106 // Draw the object 00107 //glEnable( GL_TEXTURE_2D ); 00108 for ( int i = 0; i < m_iNoFaces; i++ ) 00109 { 00110 glBegin( drawMode ); 00111 00112 // Normal of the face 00113 glNormal3f ( static_cast<float>( m_prFace[i].GetNormal()[0] ), 00114 static_cast<float>( m_prFace[i].GetNormal()[1] ), 00115 static_cast<float>( m_prFace[i].GetNormal()[2] ) ); 00116 00117 for ( int j = 0; j < m_prFace[i].GetNoVertices(); ++j ) 00118 { 00119 // Draw texture 00120 if ( m_prFace[i].GetNoTexCoords() != 0 ) { 00121 glTexCoord2f( static_cast<float>( m_prFace[i].GetTexCoordHalfNo( j*2 ) ), 00122 static_cast<float>( m_prFace[i].GetTexCoordHalfNo( j*2+1 ) ) ); 00123 } 00124 00125 // FIX THIS 00126 // Normal of the vertex 00127 //glNormal3f ( static_cast<float>( m_prVertex[ m_prFace[i].GetVertexNo( j ) ].GetNormal()[0] ), 00128 // static_cast<float>( m_prVertex[ m_prFace[i].GetVertexNo( j ) ].GetNormal()[1] ), 00129 // static_cast<float>( m_prVertex[ m_prFace[i].GetVertexNo( j ) ].GetNormal()[2] ) ); 00130 00131 // Draw the vertex 00132 glVertex3f ( 00133 static_cast<float>( m_prVertex[ m_prFace[i].GetVertexNo( j ) ][0] ), 00134 static_cast<float>( m_prVertex[ m_prFace[i].GetVertexNo( j ) ][1] ), 00135 static_cast<float>( m_prVertex[ m_prFace[i].GetVertexNo( j ) ][2] ) ); 00136 } 00137 glEnd(); 00138 } 00139 //glDisable( GL_TEXTURE_2D ); 00140 } 00141 }
| std::ostream& operator<< | ( | std::ostream & | output, | |
| OpenGLTrigonalModel< T > const & | o | |||
| ) | [friend] |
Definition at line 24 of file TAPsOpenGLTrigonalModel.hpp.
00025 { 00026 output << "\n======================\n" 00027 << "TAPs::OpenGL::OpenGLTrigonalModel<" 00028 << typeid(T).name() << "> Class\n" 00029 << "======================\n"; 00030 //---------------------------------------------------------------- 00031 // Material Node from OpenGLSupport 00032 output << "\nMaterial Node" << "\n{\n" << o.material << "\n}"; 00033 //---------------------------------------------------------------- 00034 // Nodes from XPolygonalModel<T> 00035 output << "\n\nVertices " << o.m_iNoVertices << "\n{"; 00036 for ( int i = 0; i < o.m_iNoVertices; ++i ) { 00037 output << "\n #" << i << "\t" << o.m_prVertex[i]; 00038 } 00039 output << "\n}"; 00040 //---------------------------------------------------------------- 00041 // Faces Node 00042 output << "\n\nFaces " << o.m_iNoFaces << "\n{"; 00043 for ( int i = 0; i < o.m_iNoFaces; ++i ) { 00044 output << "\n #" << i << "\t" << o.m_prFace[i]; 00045 } 00046 output << "\n}"; 00047 return output; 00048 }
1.5.6