/*
- * Copyright (c) 2018 Samsung Electronics Co., Ltd.
+ * Copyright (c) 2020 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.
#include <dali-toolkit/internal/controls/scene3d-view/gltf-shader.h>
// EXTERNAL INCLUDES
-#include <fstream>
#include <dali/integration-api/debug.h>
#include <dali/devel-api/adaptor-framework/image-loading.h>
-#include <dali/devel-api/adaptor-framework/file-loader.h>
+#include <dali/devel-api/adaptor-framework/file-stream.h>
namespace Dali
{
template <typename T>
bool ReadBinFile( Vector<T> &dataBuffer, std::string url, int32_t offset, int32_t count )
{
- dataBuffer.Resize( count );
- FILE* fp = fopen( url.c_str(), "rb" );
- if( fp == NULL )
+ Dali::FileStream fileStream( url, FileStream::READ | FileStream::BINARY );
+ FILE* fp = fileStream.GetFile();
+ if( !fp )
{
return false;
}
+
+ dataBuffer.Resize( count );
ssize_t result = -1;
if( !fseek( fp, offset, SEEK_SET ) )
{
result = fread( &dataBuffer[0], sizeof( T ), count, fp );
}
- fclose( fp );
return ( result >= 0 );
}
bool Loader::ParseGltf( const std::string& filePath )
{
- std::ifstream fileStream( filePath.c_str() );
- std::string fileBuffer( ( std::istreambuf_iterator<char>( fileStream ) ),
- ( std::istreambuf_iterator<char>() ) );
- mParser = Dali::Toolkit::JsonParser::New();
+ std::streampos bufferSize = 0;
+ Dali::Vector<char> 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 );
}
}
CameraActor cameraActor = CameraActor::New();
- cameraActor.SetParentOrigin( ParentOrigin::CENTER );
- cameraActor.SetAnchorPoint( AnchorPoint::CENTER );
+ cameraActor.SetProperty( Actor::Property::PARENT_ORIGIN, ParentOrigin::CENTER );
+ cameraActor.SetProperty( Actor::Property::ANCHOR_POINT, AnchorPoint::CENTER );
if( cameraInfo.type == "orthographic" )
{
for( auto nodeIter = tempNode->CBegin(), end = tempNode->CEnd(); nodeIter != end; ++nodeIter )
{
Actor actor = AddNode( scene3dView, ( ( *nodeIter ).second ).GetInteger() );
- actor.SetParentOrigin( ParentOrigin::CENTER );
+ actor.SetProperty( Actor::Property::PARENT_ORIGIN, ParentOrigin::CENTER );
scene3dView.GetRoot().Add( actor );
}
renderer.SetTextures( textureSet );
anchorPoint = meshInfo.pivot;
- actor.SetAnchorPoint( anchorPoint );
+ actor.SetProperty( Actor::Property::ANCHOR_POINT, anchorPoint );
- actor.SetSize( Vector3( meshInfo.size.x, meshInfo.size.y, meshInfo.size.z ) );
+ actor.SetProperty( Actor::Property::SIZE, Vector3( meshInfo.size.x, meshInfo.size.y, meshInfo.size.z ) );
actor.AddRenderer( renderer );
- actor.SetScale( scale );
+ actor.SetProperty( Actor::Property::SCALE, scale );
actor.RotateBy( orientation );
- actor.SetPosition( translation );
+ actor.SetProperty( Actor::Property::POSITION, translation );
shader.RegisterProperty( "uLightType", ( scene3dView.GetLightType() & ~Toolkit::Scene3dView::LightType::IMAGE_BASED_LIGHT ) );
shader.RegisterProperty( "uLightVector", scene3dView.GetLightVector() );
}
else
{
- actor.SetAnchorPoint( AnchorPoint::CENTER );
- actor.SetPosition( translation );
+ actor.SetProperty( Actor::Property::ANCHOR_POINT, AnchorPoint::CENTER );
+ actor.SetProperty( Actor::Property::POSITION, translation );
actor.RotateBy( orientation );
- actor.SetSize( actorSize );
+ actor.SetProperty( Actor::Property::SIZE, actorSize );
}
tempNode = node->GetChild( "camera" );
{
std::string nameString;
ReadString( tempNode, nameString );
- actor.SetName( nameString );
+ actor.SetProperty( Dali::Actor::Property::NAME, nameString );
}
SetActorCache( actor, index );
for( auto childIter = tempNode->CBegin(), end = tempNode->CEnd(); childIter != end; ++childIter )
{
Actor childActor = AddNode( scene3dView, ( ( *childIter ).second ).GetInteger() );
- childActor.SetParentOrigin( anchorPoint );
+ childActor.SetProperty( Actor::Property::PARENT_ORIGIN, anchorPoint );
actor.Add( childActor );
}
}
}
Animation animation = Animation::New( duration );
- Animation::Interpolation interpolation = Animation::Interpolation::Linear;
+ Animation::Interpolation interpolation = Animation::Interpolation::LINEAR;
if( animationInfo.samplerArray[currentChannel.sampler].interpolation == "CUBICSPLINE" )
{
- interpolation = Animation::Interpolation::Cubic;
+ interpolation = Animation::Interpolation::CUBIC;
}
if( animationInfo.samplerArray[currentChannel.sampler].interpolation == "STEP" )
{