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/assimp_loader.cc

    r416 r417  
    124124        else
    125125                desc.initialize< assimp_plain_vtx >();
    126         raw_data_channel_creator channel( desc, mesh->mNumVertices );
    127         uint8* cdata = channel.raw_data();
     126        data_channel_set_creator maccess( data );
     127        maccess.set_name( mesh->mName.data );
     128        uint8*  cdata   = maccess.add_channel( desc, mesh->mNumVertices ).raw_data();
     129        uint16* indices = reinterpret_cast<uint16*>( maccess.add_channel< index_u16 >( mesh->mNumFaces * 3 ).raw_data() );
    128130
    129131        if ( mesh->mTangents && mesh->mBitangents )
     
    171173        }
    172174
    173         data_channel_creator< index_u16 > ichannel( mesh->mNumFaces * 3 );
    174         uint16* indices = reinterpret_cast<uint16*>( ichannel.raw_data() );
    175175        for (unsigned int i=0; i<mesh->mNumFaces; i++)
    176176        {
     
    182182        }
    183183
    184         data_channel_set_creator maccess( data );
    185         maccess.set_name( mesh->mName.data );
    186         maccess.add_channel( channel.release() );
    187         maccess.add_channel( ichannel.release() );
    188184}
    189185
     
    321317                        if ( m > 0 && bones.size() > 0 )
    322318                        {
    323                                 data_channel_creator< assimp_skinned_vtx > channel( const_cast< raw_data_channel* >( meshes[m].get_channel(0) ) );
     319                                data_channel_access< assimp_skinned_vtx > channel( const_cast< raw_data_channel* >( meshes[m].get_channel(0) ) );
    324320                                for ( unsigned v = 0; v < channel.size(); ++v )
    325321                                {
     
    422418        }
    423419
    424         data->data = new key_data;
    425         data_channel_creator< assimp_key_p > pchannel_creator( node->mNumPositionKeys );
    426         data_channel_creator< assimp_key_r > rchannel_creator( node->mNumRotationKeys );
    427 //      data_channel_creator< assimp_key_s > schannel_creator( node->mNumScalingKeys );
    428 
    429         assimp_key_p* pchannel = pchannel_creator.data();
    430         assimp_key_r* rchannel = rchannel_creator.data();
    431         //assimp_key_s* schannel = ((assimp_key_s*)(raw_schannel->data));
     420        data->data = key_channel_set_creator::create( 2 );
     421        key_channel_set_creator key_set( data->data );
     422
     423        assimp_key_p* pchannel = key_set.add_channel< assimp_key_p >( node->mNumPositionKeys ).data();
     424        assimp_key_r* rchannel = key_set.add_channel< assimp_key_r >( node->mNumRotationKeys ).data();
     425//      assimp_key_s* schannel = key_set.add_channel< assimp_key_s >( node->mNumScalingKeys ).data();
    432426
    433427        for ( unsigned np = 0; np < node->mNumPositionKeys; ++np )
     
    460454//              }
    461455//      }
    462         data->data->add_key_channel( pchannel_creator.release() );
    463         data->data->add_key_channel( rchannel_creator.release() );
    464 //      data->data->add_key_channel( schannel_creator.release() );
     456
    465457}
    466458
Note: See TracChangeset for help on using the changeset viewer.