Ignore:
Timestamp:
07/10/15 14:16:42 (10 years ago)
Author:
epyon
Message:
  • mesh_data and key_data are data_channel_set (WIP)
  • massive cleanup of privacy in data_channels
File:
1 edited

Legend:

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

    r413 r416  
    88
    99#include "nv/core/logging.hh"
     10#include "nv/interface/data_channel_access.hh"
    1011
    1112using namespace nv;
     
    322323};
    323324
    324 mesh_data* nv::md3_loader::release_mesh_data( nv::size_t index )
    325 {
    326         mesh_data* data = new mesh_data;
     325data_channel_set* nv::md3_loader::release_mesh_data( nv::size_t index )
     326{
     327        data_channel_set* data = data_channel_set_creator::create(3);
    327328        release_mesh_frame( data, -1, static_cast< sint32 >( index ) );
    328329        return data;
    329330}
    330331
    331 void nv::md3_loader::release_mesh_frame( mesh_data* data, sint32 frame, sint32 surface )
     332void nv::md3_loader::release_mesh_frame( data_channel_set* data, sint32 frame, sint32 surface )
    332333{
    333334        md3_t* md3 = reinterpret_cast< md3_t* >( m_md3 );
     
    412413        }
    413414
    414         data->set_name( reinterpret_cast< char* >( md3->header.name ) );
    415         data->add_channel( mc_pn.release() );
    416         data->add_channel( mc_t.release() );
    417         data->add_channel( ic.release() );
     415        data_channel_set_creator maccess( data );
     416        maccess.set_name( reinterpret_cast<char*>( md3->header.name ) );
     417        maccess.add_channel( mc_pn.release() );
     418        maccess.add_channel( mc_t.release() );
     419        maccess.add_channel( ic.release() );
    418420}
    419421
     
    436438       
    437439                raw_data_channel* keys = load_tags( name );
    438                 nodes[i].data->add_channel( keys );
     440                nodes[i].data->add_key_channel( keys );
    439441        }
    440442        return new mesh_nodes_data( "tags", node_count, nodes );
     
    445447        md3_t* md3 = reinterpret_cast<md3_t*>( m_md3 );
    446448        int count = 1;
    447         mesh_data* data = nullptr;
     449        data_channel_set* data = nullptr;
    448450        if ( m_merge_all )
    449451        {
    450                 data = new mesh_data[1];
     452                data = data_channel_set_creator::create_array(1,3);
    451453                release_mesh_frame( &data[0], -1, -1 );
    452                 data[0].set_name( reinterpret_cast< char* >( md3->header.name ) );
     454                data_channel_set_creator( &data[0] ).set_name( reinterpret_cast< char* >( md3->header.name ) );
    453455        }
    454456        else
    455457        {
    456458                count = md3->header.num_surfaces;
    457                 data = new mesh_data[ count ];
     459                data = data_channel_set_creator::create_array( count, 3 );
    458460                for ( int i = 0; i < count; ++i )
    459461                {
    460462                        release_mesh_frame( &data[i], -1, i );
    461                         data[i].set_name( reinterpret_cast< char* >( md3->surfaces[i].header.name ) );
     463                        data_channel_set_creator( &data[i] ).set_name( reinterpret_cast< char* >( md3->surfaces[i].header.name ) );
    462464                }
    463465        }
Note: See TracChangeset for help on using the changeset viewer.