[Plib-cvs] plib/src/ssg ssgVTable.cxx,1.17,1.18
Brought to you by:
sjbaker
From: Wolfram K. <wol...@us...> - 2003-12-14 08:37:52
|
Update of /cvsroot/plib/plib/src/ssg In directory sc8-pr-cvs1:/tmp/cvs-serv28291 Modified Files: ssgVTable.cxx Log Message: Implemented aux. function "ssgVtxTable::getAs_ssgVtxArray" Index: ssgVTable.cxx =================================================================== RCS file: /cvsroot/plib/plib/src/ssg/ssgVTable.cxx,v retrieving revision 1.17 retrieving revision 1.18 diff -u -d -r1.17 -r1.18 --- ssgVTable.cxx 10 Nov 2002 17:12:13 -0000 1.17 +++ ssgVTable.cxx 13 Dec 2003 22:40:10 -0000 1.18 @@ -559,6 +559,38 @@ } } + + +ssgVtxArray *ssgVtxTable::getAs_ssgVtxArray() +{ + + ssgIndexArray *indices = new ssgIndexArray (); + int i, no = 0; + switch ( getPrimitiveType () ) + { + case GL_POLYGON : + case GL_TRIANGLE_FAN : + case GL_TRIANGLE_STRIP : + no = getNumTriangles() + 2 ; + break; + + case GL_TRIANGLES : + no = getNumTriangles() * 3 ; + } + for(i=0;i<no;i++) + indices ->add(i); + + + ssgState * state = getState(); + char * name = getName(); + ssgVtxArray * s = new ssgVtxArray ( getGLtype(), + vertices, normals, texcoords, colours, indices); + s->setName(name); + s->setState(state); + return s; +} + + void ssgVTable::isect_triangles ( sgSphere *s, sgMat4 m, int test_needed ) { int nt = getNumTriangles () ; |