Ignore:
Timestamp:
07/20/15 13:59:34 (10 years ago)
Author:
epyon
Message:
  • renaming mesh_nodes_data members to more compliant
  • moved string_table to stl
File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/src/gfx/skeletal_mesh.cc

    r427 r428  
    1818
    1919        m_pntdata.assign( pnt_chan->data_cast< md5_vtx_pnt >(), pnt_chan->size() );
    20         m_bone_offset.resize( bones->get_count() );
    21         m_transform.resize( bones->get_count() );
    22 
    23         for ( uint32 i = 0; i < bones->get_count(); ++i )
     20        m_bone_offset.resize( bones->size() );
     21        m_transform.resize( bones->size() );
     22
     23        for ( uint32 i = 0; i < bones->size(); ++i )
    2424        {
    2525                m_bone_offset[i] = transform( (*bones)[i]->get_transform() );
     
    110110
    111111        float frame_num = new_time * m_node_data->get_frame_rate();
    112         for ( size_t i = 0; i < m_node_data->get_count(); ++i )
     112        for ( size_t i = 0; i < m_node_data->size(); ++i )
    113113        {
    114114                raw_channel_interpolator interpolator( (*m_node_data)[i], m_interpolation_key );
     
    122122        m_children  = nullptr;
    123123        m_offsets   = nullptr;
    124         uint32 node_count = m_node_data->get_count();
    125         m_bone_ids  = new sint16[ node_count ];
     124        m_bone_ids  = new sint16[m_node_data->size()];
    126125
    127126        NV_ASSERT( m_node_data, "node data empty!" );
     
    129128        if ( !m_node_data->is_flat() )
    130129        {
    131                 m_children = new vector< uint32 >[ node_count ];
    132                 for ( uint32 n = 0; n < node_count; ++n )
     130                m_children = new vector< uint32 >[m_node_data->size()];
     131                for ( uint32 n = 0; n < m_node_data->size(); ++n )
    133132                {
    134133                        const data_channel_set* node = (*m_node_data)[n];
     
    153152        }
    154153
    155         for ( uint32 n = 0; n < m_node_data->get_count(); ++n )
     154        for ( uint32 n = 0; n < m_node_data->size(); ++n )
    156155                if ( m_bone_ids[n] >= 0 )
    157156                {
    158                         const data_channel_set* node = m_node_data->get_node(n);
     157                        const data_channel_set* node = (*m_node_data)[n];
    159158                        nv::mat4 node_mat( node->get_transform() );
    160159
     
    174173        if ( m_prepared ) return;
    175174        unordered_map< uint64, uint16 > bone_names;
    176         m_offsets = new mat4[ bones->get_count() ];
    177         for ( nv::uint16 bi = 0; bi < bones->get_count(); ++bi )
    178         {
    179                 const data_channel_set* bone = bones->get_node( bi );
     175        m_offsets = new mat4[ bones->size() ];
     176        for ( nv::uint16 bi = 0; bi < bones->size(); ++bi )
     177        {
     178                const data_channel_set* bone = (*bones)[ bi ];
    180179                bone_names[ bone->get_name() ] = bi;
    181180                m_offsets[bi] = bone->get_transform();
    182181        }
    183182
    184         for ( uint32 n = 0; n < m_node_data->get_count(); ++n )
    185         {
    186                 const data_channel_set* node = m_node_data->get_node( n );
     183        for ( uint32 n = 0; n < m_node_data->size(); ++n )
     184        {
     185                const data_channel_set* node = (*m_node_data)[ n ];
    187186                sint16 bone_id = -1;
    188187
     
    205204        // TODO: fix transforms, which are now embedded,
    206205        //       see note in assimp_loader.cc:load_node
    207         const data_channel_set* node = m_node_data->get_node( node_id );
     206        const data_channel_set* node = ( *m_node_data )[ node_id ];
    208207        mat4 node_mat( node->get_transform() );
    209208
     
    242241        if ( m_bone_data )
    243242        {
    244                 m_transform = new mat4[ m_bone_data->get_count() ];
     243                m_transform = new mat4[ m_bone_data->size() ];
    245244        }
    246245}
     
    259258{
    260259        if ( m_bone_data )
    261                 m_context->get_device()->set_opt_uniform_array( a_program, "nv_m_bones", m_transform, m_bone_data->get_count() );
     260                m_context->get_device()->set_opt_uniform_array( a_program, "nv_m_bones", m_transform, m_bone_data->size() );
    262261}
    263262
Note: See TracChangeset for help on using the changeset viewer.