Changeset 425 for trunk/src/formats/assimp_loader.cc
- Timestamp:
- 07/17/15 13:34:28 (10 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/src/formats/assimp_loader.cc
r424 r425 57 57 58 58 59 nv::assimp_loader::assimp_loader( const std::string& a_ext, uint32 a_assimp_flags /*= 0 */ )60 : m _scene( nullptr ), m_mesh_count(0)59 nv::assimp_loader::assimp_loader( string_table* strings, const string_view& a_ext, uint32 a_assimp_flags /*= 0 */ ) 60 : mesh_loader( strings ), m_scene( nullptr ), m_mesh_count(0) 61 61 { 62 62 m_ext = a_ext; … … 92 92 char* data = new char[ size ]; 93 93 source.read( data, size, 1 ); 94 const aiScene* scene = aiImportFileFromMemory( data, size, m_assimp_flags, m_ext. c_str() );94 const aiScene* scene = aiImportFileFromMemory( data, size, m_assimp_flags, m_ext.data() ); 95 95 96 96 if( !scene) … … 125 125 desc.initialize< assimp_plain_vtx >(); 126 126 data_channel_set_creator maccess( data ); 127 maccess.set_name( mesh->mName.data ); 127 const char* name = mesh->mName.data; 128 maccess.set_name( make_name( name ) ); 128 129 uint8* cdata = maccess.add_channel( desc, mesh->mNumVertices ).raw_data(); 129 130 uint16* indices = reinterpret_cast<uint16*>( maccess.add_channel< index_u16 >( mesh->mNumFaces * 3 ).raw_data() ); … … 201 202 bones[m].data = data_channel_set_creator::create_set( 0 ); 202 203 data_channel_set_creator access( bones[m].data ); 203 access.set_name( hash_string< uint64 >( bone->mName.data ) ); 204 const char* name = bone->mName.data; 205 access.set_name( make_name( name ) ); 204 206 access.set_transform( offset ); 205 207 } … … 334 336 mesh_node_data* bones = new mesh_node_data[ final_bones.size() ]; 335 337 raw_copy( final_bones.begin(), final_bones.end(), bones ); 336 int name_; 337 return new mesh_nodes_data( /*"bones"*/0, final_bones.size(), bones ); 338 return new mesh_nodes_data( make_name( "bones" ), final_bones.size(), bones ); 338 339 } 339 340 … … 356 357 load_node( index, data, root, 0, -1 ); 357 358 358 int name; 359 return new mesh_nodes_data( /*anim->mName.data*/0, count, data, frame_rate, duration, flat ); 359 return new mesh_nodes_data( make_name( static_cast<const char*>( anim->mName.data ) ), count, data, frame_rate, duration, flat ); 360 360 } 361 361 … … 375 375 const aiScene* scene = reinterpret_cast<const aiScene*>( m_scene ); 376 376 const aiNode* node = reinterpret_cast<const aiNode*>( vnode ); 377 st d::string name( node->mName.data);377 string_view name( static_cast< const char* >( node->mName.data ) ); 378 378 const aiAnimation* anim = scene->mAnimations[anim_id]; 379 379 const aiNodeAnim* anode = nullptr; … … 382 382 { 383 383 anode = anim->mChannels[i]; 384 if ( st d::string( anode->mNodeName.data) == name ) break;384 if ( string_view( static_cast< const char* >( anode->mNodeName.data ) ) == name ) break; 385 385 anode = nullptr; 386 386 } … … 394 394 395 395 data_channel_set_creator access( a_data.data ); 396 access.set_name( hash_string< uint64 >( name.c_str()) );396 access.set_name( make_name( name ) ); 397 397 access.set_parent_id( parent_id ); 398 398 // This value is ignored by the create_transformed_keys, but needed by create_direct_keys! … … 468 468 { 469 469 const aiMesh* mesh = scene->mMeshes[ m ]; 470 data_channel_set_creator( &meshes[m] ).set_name( m esh->mName.data);470 data_channel_set_creator( &meshes[m] ).set_name( make_name( static_cast<const char*>( mesh->mName.data ) ) ); 471 471 if ( mesh->mNumBones > 0 ) has_bones = true; 472 472 load_mesh_data(&meshes[m],m);
Note: See TracChangeset
for help on using the changeset viewer.