Ignore:
Timestamp:
01/12/17 14:41:17 (8 years ago)
Author:
epyon
Message:

CONTINUED:

  • getting rid of size_t
  • datatypes now restricted to uint32 size
  • 64-bit compatibility
  • copyright updates where modified
File:
1 edited

Legend:

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

    r482 r534  
    1 // Copyright (C) 2012-2015 ChaosForge Ltd
     1// Copyright (C) 2012-2017 ChaosForge Ltd
    22// http://chaosforge.org/
    33//
     
    5252        string32 next_name;
    5353
    54         nv::size_t size;
     54        uint32 size;
    5555        bool   eof;
    5656
    5757        obj_reader();
    5858        bool read_stream( stream& str );
    59         virtual nv::size_t add_face( uint32* vi, uint32* ti, uint32* ni, nv::size_t count ) = 0;
    60         virtual nv::size_t raw_size() const = 0;
     59        virtual uint32 add_face( uint32* vi, uint32* ti, uint32* ni, uint32 count ) = 0;
     60        virtual uint32 raw_size() const = 0;
    6161        virtual void reset() = 0;
    6262        virtual const uint8* raw_pointer() const = 0;
     
    126126                        string_view scan( cline );
    127127                        scan.remove_prefix( 2 );
    128                         size_t pos = 0;
     128                        uint32 pos = 0;
    129129                        while ( pos != string_view::npos )
    130130                        {
     
    176176{
    177177        mesh_data_reader( bool normals ) : m_normals( normals ) {}
    178         virtual nv::size_t add_face( uint32* vi, uint32* ti, uint32* ni, nv::size_t count )
     178        virtual uint32 add_face( uint32* vi, uint32* ti, uint32* ni, uint32 count )
    179179        {
    180180                if ( count < 3 ) return 0; // TODO : report error?
     
    182182                // TODO : support if normals not present;
    183183                vec3 nullvec;
    184                 nv::size_t result = 0;
     184                uint32 result = 0;
    185185                // Simple triangulation - obj's shouldn't have more than quads anyway
    186186
    187187                if ( m_normals )
    188188                {
    189                         for ( nv::size_t i = 2; i < count; ++i )
     189                        for ( uint32 i = 2; i < count; ++i )
    190190                        {
    191191                                result++;
     
    197197                else
    198198                {
    199                         for ( nv::size_t i = 2; i < count; ++i )
     199                        for ( uint32 i = 2; i < count; ++i )
    200200                        {
    201201                                result++;
     
    210210        vector< VTX > m_data;
    211211        virtual void reset() { m_data.clear(); }
    212         virtual nv::size_t raw_size() const { return m_data.size() * sizeof( VTX ); }
     212        virtual uint32 raw_size() const { return m_data.size() * sizeof( VTX ); }
    213213        virtual const uint8* raw_pointer() const { return reinterpret_cast< const uint8* >( m_data.data() ); }
    214214};
     
    232232        void calculate_tangents()
    233233        {
    234                 nv::size_t count = m_data.size();
    235                 nv::size_t tcount = count / 3;
     234                uint32 count = m_data.size();
     235                uint32 tcount = count / 3;
    236236
    237237                vector< vec3 > tan1( count );
    238238                vector< vec3 > tan2( count );
    239239
    240                 for ( nv::size_t a = 0; a < tcount; ++a )
    241                 {
    242                         nv::size_t i1 = a * 3;
    243                         nv::size_t i2 = a * 3 + 1;
    244                         nv::size_t i3 = a * 3 + 2;
     240                for ( uint32 a = 0; a < tcount; ++a )
     241                {
     242                        uint32 i1 = a * 3;
     243                        uint32 i2 = a * 3 + 1;
     244                        uint32 i3 = a * 3 + 2;
    245245                        obj_vertex_vtnt& vtx1 = m_data[ i1 ];
    246246                        obj_vertex_vtnt& vtx2 = m_data[ i2 ];
     
    277277                }
    278278
    279                 for ( nv::size_t a = 0; a < count; ++a )
     279                for ( uint32 a = 0; a < count; ++a )
    280280                {
    281281                        const vec3& nv = m_data[a].normal;
     
    347347}
    348348
    349 data_channel_set* nv::obj_loader::release_mesh_data( size_t index, data_node_info& info )
     349data_channel_set* nv::obj_loader::release_mesh_data( uint32 index, data_node_info& info )
    350350{
    351351        data_channel_set* result = m_meshes[ index ];
Note: See TracChangeset for help on using the changeset viewer.