Changeset 413 for trunk/src/formats/md5_loader.cc
- Timestamp:
- 07/09/15 18:53:08 (10 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/src/formats/md5_loader.cc
r412 r413 160 160 md5_vtx_t* tdata = nullptr; 161 161 { 162 raw_data_channel* ch_pnt = raw_data_channel::create<md5_vtx_pnt>( num_verts );163 raw_data_channel* ch_t = raw_data_channel::create<md5_vtx_t>( num_verts );162 data_channel_creator<md5_vtx_pnt> ch_pnt( num_verts ); 163 data_channel_creator<md5_vtx_t> ch_t( num_verts ); 164 164 ch_pntiw = raw_data_channel::create<md5_vtx_pntiw>( num_verts ); 165 tdata = reinterpret_cast< md5_vtx_t* >( ch_t->data);166 mesh->add_channel( ch_pnt );167 mesh->add_channel( ch_t );165 tdata = ch_t.data(); 166 mesh->add_channel( ch_pnt.release() ); 167 mesh->add_channel( ch_t.release() ); 168 168 // TODO: hack to prevent rendering 169 169 //ch_pntiw->m_count = 0; … … 191 191 sstream >> num_tris; 192 192 193 raw_data_channel* ch_i = raw_data_channel::create<index_u32>( num_tris * 3 );194 uint32* vtx_i = reinterpret_cast< uint32* >( ch_i ->data);193 data_channel_creator< index_u32 > ch_i( num_tris * 3 ); 194 uint32* vtx_i = reinterpret_cast< uint32* >( ch_i.raw_data() ); 195 195 uint32 idx = 0; 196 mesh->add_channel( ch_i );197 196 198 197 next_line( sstream ); … … 211 210 vtx_i[idx++] = ti2; 212 211 } 212 213 mesh->add_channel( ch_i.release() ); 213 214 } 214 215 else if ( command == "numweights" ) … … 235 236 } 236 237 237 prepare_mesh( reinterpret_cast< md5_vtx_pntiw* >( c h_pntiw->data), nodes, weight_info.size(), mesh, weights.data(), weight_info.data() );238 prepare_mesh( reinterpret_cast< md5_vtx_pntiw* >( const_cast< uint8* >( ch_pntiw->raw_data() ) ), nodes, weight_info.size(), mesh, weights.data(), weight_info.data() ); 238 239 239 240 m_meshes[ num_meshes ] = mesh; … … 337 338 { 338 339 assert( m_type == MESH ); 339 md5_vtx_pnt* vtcs = reinterpret_cast< md5_vtx_pnt* >( mdata->get_channel< md5_vtx_pnt >()->data ); 340 data_channel_creator< md5_vtx_pnt > pnt( const_cast< raw_data_channel* >( mdata->get_channel< md5_vtx_pnt >() ) ); 341 md5_vtx_pnt* vtcs = pnt.data(); 340 342 341 343 for ( uint32 i = 0; i < vtx_count; ++i ) … … 396 398 } 397 399 398 const uint32* idata = reinterpret_cast< uint32* >( mdata->get_index_channel()->data);400 const uint32* idata = reinterpret_cast< uint32* >( const_cast< uint8* >( mdata->get_index_channel()->raw_data() ) ); 399 401 const md5_vtx_t* tdata = mdata->get_channel_data<md5_vtx_t>(); 400 402 … … 484 486 { 485 487 const mesh_node_data& pjoint = nodes[parent_id]; 486 const transform* ptv = reinterpret_cast< const transform* >( pjoint.data->get_channel(0)-> data);488 const transform* ptv = reinterpret_cast< const transform* >( pjoint.data->get_channel(0)->raw_data() ); 487 489 transform ptr; 488 490 if ( pjoint.data->get_channel(0)->element_count() > index ) ptr = ptv[ index ]; … … 495 497 } 496 498 497 reinterpret_cast< transform* >( joint.data->get_channel(0)->data)[index] = transform( pos, orient );499 reinterpret_cast< transform* >( const_cast< uint8* >( joint.data->get_channel(0)->raw_data() ) )[index] = transform( pos, orient ); 498 500 } 499 501 }
Note: See TracChangeset
for help on using the changeset viewer.