X-Git-Url: http://review.tizen.org/git/?p=platform%2Fcore%2Fuifw%2Fdali-toolkit.git;a=blobdiff_plain;f=dali-toolkit%2Finternal%2Fcontrols%2Fscene3d-view%2Fgltf-loader.cpp;h=e1d9d344e62488a7432c97b5611c4f6d84e2d358;hp=4115fb7b87009820e87cf9572f995dc69b22061d;hb=aa4d3eae3c1c35c383e34c075d57dcc9835f8bcf;hpb=f66c8a201b4ca45d2b65229bdae411b6e18633fa diff --git a/dali-toolkit/internal/controls/scene3d-view/gltf-loader.cpp b/dali-toolkit/internal/controls/scene3d-view/gltf-loader.cpp index 4115fb7..e1d9d34 100644 --- a/dali-toolkit/internal/controls/scene3d-view/gltf-loader.cpp +++ b/dali-toolkit/internal/controls/scene3d-view/gltf-loader.cpp @@ -1,5 +1,5 @@ /* - * Copyright (c) 2018 Samsung Electronics Co., Ltd. + * Copyright (c) 2019 Samsung Electronics Co., Ltd. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -20,7 +20,6 @@ #include // EXTERNAL INCLUDES -#include #include #include #include @@ -237,12 +236,15 @@ void FitBuffer( Dali::Vector& bufferDestination, Dali::Vector& buffe template bool ReadBinFile( Vector &dataBuffer, std::string url, int32_t offset, int32_t count ) { - dataBuffer.Resize( count ); - FILE* fp = fopen( url.c_str(), "rb" ); - if( fp == NULL ) + std::streampos bufferSize = 0; + Dali::Vector fileBuffer; + if( !Dali::FileLoader::ReadFile( url, bufferSize, fileBuffer, FileLoader::FileType::BINARY ) ) { return false; } + + FILE* fp = fmemopen( &fileBuffer[0], bufferSize, "rb" ); + dataBuffer.Resize( count ); ssize_t result = -1; if( !fseek( fp, offset, SEEK_SET ) ) { @@ -1228,11 +1230,16 @@ bool Loader::LoadScene( const std::string& filePath, Internal::Scene3dView& scen bool Loader::ParseGltf( const std::string& filePath ) { - std::ifstream fileStream( filePath.c_str() ); - std::string fileBuffer( ( std::istreambuf_iterator( fileStream ) ), - ( std::istreambuf_iterator() ) ); - mParser = Dali::Toolkit::JsonParser::New(); + std::streampos bufferSize = 0; + Dali::Vector buffer; + std::string fileBuffer; + if( !Dali::FileLoader::ReadFile( filePath, bufferSize, buffer, FileLoader::FileType::BINARY ) ) + { + return false; + } + fileBuffer.assign( &buffer[0], bufferSize ); + mParser = Dali::Toolkit::JsonParser::New(); return mParser.Parse( fileBuffer ); }