Changeset 421
- Timestamp:
- 07/16/15 11:59:00 (10 years ago)
- Location:
- trunk
- Files:
-
- 6 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/nv/interface/data_channel.hh
r419 r421 86 86 typedef const raw_data_channel* const_iterator; 87 87 88 data_channel_set( data_channel_set&& other ) 89 { 90 for ( uint32 c = 0; c < other.m_size; ++c ) 91 m_channels[c] = move( other.m_channels[c] ); 92 m_size = other.m_size; 93 other.m_size = 0; 94 } 95 96 data_channel_set& operator=( data_channel_set&& other ) 97 { 98 if ( this != &other ) 99 { 100 for ( uint32 c = 0; c < other.m_size; ++c ) 101 m_channels[c] = move( other.m_channels[c] ); 102 m_size = other.m_size; 103 other.m_size = 0; 104 } 105 return *this; 106 } 107 88 108 size_t size() const { return m_size; } 89 109 -
trunk/nv/interface/mesh_data.hh
r420 r421 74 74 } 75 75 76 data_channel_set* rlease_node_data( size_t i )77 {78 data_channel_set* result = m_nodes[i].data;79 m_nodes[i].data = nullptr;80 return result;81 }76 // data_channel_set* rlease_node_data( size_t i ) 77 // { 78 // data_channel_set* result = m_nodes[i].data; 79 // m_nodes[i].data = nullptr; 80 // return result; 81 // } 82 82 83 83 bool is_flat() const { return m_flat; } -
trunk/nv/io/string_table.hh
r395 r421 79 79 80 80 string_table_creator(); 81 index insert( const st d::string& s );81 index insert( const string_view& s ); 82 82 string_table* create_table() const; 83 83 uint32 dump_size() const; 84 84 void dump( nv::stream* out ) const; 85 85 const char* get( index i ) const; 86 index get( const st d::string& s ) const;86 index get( const string_view& s ) const; 87 87 void clear(); 88 88 private: 89 unordered_map< std::string, index > m_map;89 unordered_map< uint64, index > m_map; 90 90 vector< offset > m_offsets; 91 91 vector< char > m_data; -
trunk/src/formats/md5_loader.cc
r420 r421 520 520 for ( uint32 i = 0; i < size; ++i ) 521 521 { 522 data_channel_set_creator( m_meshes[i] ).move_to(meshes[i] );522 meshes[i] = move( *m_meshes[i] ); 523 523 delete m_meshes[i]; 524 524 m_meshes[i] = nullptr; -
trunk/src/formats/nmd_loader.cc
r420 r421 58 58 for ( uint32 i = 0; i < size; ++i ) 59 59 { 60 data_channel_set_creator( m_meshes[i] ).move_to(meshes[i] );60 meshes[i] = move( *m_meshes[i] ); 61 61 delete m_meshes[i]; 62 62 } -
trunk/src/io/string_table.cc
r406 r421 12 12 } 13 13 14 nv::string_table_creator::index nv::string_table_creator::insert( const st d::string& s )14 nv::string_table_creator::index nv::string_table_creator::insert( const string_view& s ) 15 15 { 16 auto i = m_map.find( s ); 16 uint64 hash_value = hash_string< uint64 >( s.data() ); 17 auto i = m_map.find( hash_value ); 17 18 if ( i != m_map.end() ) 18 19 { 19 20 return i->second; 20 21 } 21 const char* cs = s. c_str();22 const char* cs = s.data(); 22 23 uint32 cs_size = s.size() + 1; 23 24 NV_ASSERT( m_offsets.size() < index(-1), "Too many strings!" ); … … 27 28 m_data.resize( dsize + cs_size ); 28 29 raw_copy( cs, cs + cs_size, m_data.data() + dsize ); 29 m_map[ s] = result;30 m_map[ hash_value ] = result; 30 31 return result; 31 32 } … … 55 56 } 56 57 57 nv::string_table_creator::index nv::string_table_creator::get( const st d::string& s ) const58 nv::string_table_creator::index nv::string_table_creator::get( const string_view& s ) const 58 59 { 59 auto i = m_map.find( s ); 60 uint64 hash_value = hash_string< uint64 >( s.data() ); 61 auto i = m_map.find( hash_value ); 60 62 if ( i != m_map.end() ) 61 63 {
Note: See TracChangeset
for help on using the changeset viewer.