Ignore:
Timestamp:
07/10/15 19:50:47 (10 years ago)
Author:
epyon
Message:
  • further access restrictions improvements
File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/src/formats/nmd_loader.cc

    r416 r417  
    3535bool nv::nmd_loader::load_mesh( stream& source, const nmd_element_header& e )
    3636{
    37         data_channel_set_creator mesh;
     37        data_channel_set* mesh = data_channel_set_creator::create( e.children );
     38        data_channel_set_creator mcreator( mesh );
    3839        for ( uint32 s = 0; s < e.children; ++s )
    3940        {
     
    4445                nmd_stream_header stream_header;
    4546                source.read( &stream_header, sizeof( stream_header ), 1 );
    46                 raw_data_channel_creator channel_creator( stream_header.format, stream_header.count );
    47                 source.read( channel_creator.raw_data(), channel_creator.element_size(), channel_creator.size() );
    48                 mesh.add_channel( channel_creator.release() );
     47                raw_data_channel_access channel( mcreator.add_channel( stream_header.format, stream_header.count ) );
     48                source.read( channel.raw_data(), channel.element_size(), channel.size() );
    4949        }
    5050        m_mesh_names.push_back( e.name );
    51         m_meshes.push_back( mesh.release() );
     51        m_meshes.push_back( mesh );
    5252        return true;
    5353}
     
    121121                if ( ch_count > 0 )
    122122                {
    123                         key_data* kdata = new key_data;
     123                        key_channel_set* kdata = key_channel_set_creator::create( ch_count );
     124                        key_channel_set_creator kaccess( kdata );
    124125                        m_node_array[i].data = kdata;
    125126                        for ( uint32 c = 0; c < ch_count; ++c )
     
    129130                                nv::nmd_stream_header cheader;
    130131                                source.read( &cheader, sizeof( cheader ), 1 );
    131                                 raw_data_channel_creator channel_creator( cheader.format, cheader.count );
    132                                 source.read( channel_creator.raw_data(), channel_creator.element_size(), channel_creator.size() );
    133                                 kdata->add_key_channel( channel_creator.release() );
     132                                raw_data_channel_access channel( kaccess.add_channel( cheader.format, cheader.count ) );
     133                                source.read( channel.raw_data(), channel.element_size(), channel.size() );
    134134                        }
    135135                }
Note: See TracChangeset for help on using the changeset viewer.