Ignore:
Timestamp:
07/16/15 21:21:19 (10 years ago)
Author:
epyon
Message:
  • refactoring WIP! (compiles though - warnings on purpose)
File:
1 edited

Legend:

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

    r423 r424  
    2323        for ( uint32 i = 0; i < bones->get_count(); ++i )
    2424        {
    25                 m_bone_offset[i] = transform( bones->get_node(i)->transform );
     25                m_bone_offset[i] = transform( bones->get_node(i)->data->get_transform() );
    2626        }
    2727
     
    9595        for ( size_t i = 0; i < m_node_data->get_count(); ++i )
    9696        {
    97                 if ( m_node_data->get_node( i )->data )
     97                if ( m_node_data->is_animated( i ) )
    9898                {
    9999                        m_interpolation_key = m_node_data->get_node( i )->data->get_interpolation_key();
     
    133133                {
    134134                        const mesh_node_data* node = m_node_data->get_node(n);
    135                         if ( node->parent_id != -1 )
    136                         {
    137                                 m_children[ node->parent_id ].push_back( n );
     135                        if ( node->data->get_parent_id() != -1 )
     136                        {
     137                                m_children[ node->data->get_parent_id()].push_back( n );
    138138                        }
    139139                }
     
    157157                {
    158158                        const mesh_node_data* node = m_node_data->get_node(n);
    159                         nv::mat4 node_mat( node->transform );
    160 
    161                         if ( node->data )
     159                        nv::mat4 node_mat( node->data->get_transform() );
     160
     161                        if ( node->data && node->data->size() > 0 )
    162162                        {
    163163                                raw_channel_interpolator interpolator( node->data, m_interpolation_key );
     
    178178        {
    179179                const mesh_node_data* bone = bones->get_node(bi);
    180                 bone_names[ bone->name ] = bi;
    181                 m_offsets[bi] = bone->transform;
     180                bone_names[ bone->data->get_name() ] = bi;
     181                m_offsets[bi] = bone->data->get_transform();
    182182        }
    183183
     
    187187                sint16 bone_id = -1;
    188188
    189                 auto bi = bone_names.find( node->name );
     189                auto bi = bone_names.find( node->data->get_name() );
    190190                if ( bi != bone_names.end() )
    191191                {
     
    194194                m_bone_ids[n] = bone_id;
    195195
    196                 if ( m_interpolation_key.size() == 0 && node->data )
     196                if ( m_interpolation_key.size() == 0 && node->data->size() > 0 )
    197197                        m_interpolation_key = node->data->get_interpolation_key();
    198198
     
    206206        //       see note in assimp_loader.cc:load_node
    207207        const mesh_node_data* node = m_node_data->get_node( node_id );
    208         mat4 node_mat( node->transform );
    209 
    210         if ( node->data )
     208        mat4 node_mat( node->data->get_transform() );
     209
     210        if ( node->data && node->data->size() > 0 )
    211211        {
    212212                raw_channel_interpolator interpolator( node->data, m_interpolation_key );
Note: See TracChangeset for help on using the changeset viewer.