Ejemplo n.º 1
0
 void ListControll::update()
 {
     emit updateSignal();
     if (this->getMaxTrackTime() < getPlayTime())
     {
         emit stopSignal();
         isPlayPauseStop = 3;
     }
 }
Ejemplo n.º 2
0
void Model::draw()
{
#if	RENDERMODE_MOVING
    getPlayTime( 1, 0, m_fTotalTime , true);

    updateJoints(fTime);

    modifyVertexByJoint();
#endif

    GLboolean texEnabled = glIsEnabled( GL_TEXTURE_2D );

    if(m_bDrawMesh)
    {

        // Draw by group
        for ( int i = 0; i < m_usNumMeshes; i++ )
        {
#if ENABLE_CROSSARRAY
            glInterleavedArrays(GL_T2F_N3F_V3F, 0, m_meshVertexData.m_pMesh[i].pVertexArrayDynamic);
#else
            glVertexPointer(3, GL_FLOAT, 12, m_meshVertexData.m_pMesh[i].pVertexArrayDynamic);
            glEnableClientState( GL_VERTEX_ARRAY );
#endif


#if RENDERMODE_POINT
            glDrawArrays(GL_POINTS, 0, m_pMeshes[i].m_usNumTris * 3 );
#else
            glDrawElements(GL_TRIANGLES, m_meshVertexData.m_pMesh[i].numOfVertex,
                           GL_UNSIGNED_INT , m_pIndexArray);
#endif

#if !ENABLE_CROSSARRAY
            glDisableClientState( GL_VERTEX_ARRAY );
#endif

        }
    }



    if ( texEnabled )
        glEnable( GL_TEXTURE_2D );
    else
        glDisable( GL_TEXTURE_2D );
}
Ejemplo n.º 3
0
void ListControll::calcPointedBlocksAtTime( )
 {
     int ms = getPlayTime();
     pointed_block.clear();
     for (int i=0; i<tracks.size(); i++)
     {
         int blockXstart = 0;
         for (int y=0; y<tracks[i].block.size(); y++ )
         {
             int blockXend =blockXstart + tracks[i].block[y].draw_element->getLifeTime();
             if (ms <= blockXend)
             {
                 pointed_block.append(tracks[i].block[y]);
                 //// qDebug() << "POP: " << i<< " "<<y;
             break;
             }
              blockXstart = blockXend;
         }
     }
 }