/*
- * Copyright (c) 2015 Samsung Electronics Co., Ltd.
+ * Copyright (c) 2016 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.
public:
Model3dViewController( Application& application )
- : mApplication( application )
+ : mApplication( application ),
+ mModelCounter( 0 ),
+ mModel3dView(),
+ mButtonLayer(),
+ mTapDetector(),
+ mIlluminationShader( Model3dView::DIFFUSE ),
+ mRotationAnimation(),
+ mLightAnimation(),
+ mPlaying( false ),
+ mScaled( false )
{
// Connect to the Application's Init signal
mApplication.InitSignal().Connect( this, &Model3dViewController::Create );
Vector2 screenSize = stage.GetSize();
//Add background
- Toolkit::ImageView backView = Toolkit::ImageView::New(BACKGROUND_IMAGE);
- backView.SetAnchorPoint( AnchorPoint::TOP_LEFT );
- stage.Add(backView);
-
- //Add 3D model control
- m3DLayer = Layer::New();
- stage.GetRootLayer().Add(m3DLayer);
-
- //3D models require 3D based rendering method, so it can use depth buffer, etc.
- m3DLayer.SetBehavior(Layer::LAYER_3D);
- m3DLayer.SetParentOrigin( ParentOrigin::CENTER );
- m3DLayer.SetAnchorPoint( AnchorPoint::CENTER );
+ Toolkit::ImageView backView = Toolkit::ImageView::New( BACKGROUND_IMAGE );
+ backView.SetParentOrigin( ParentOrigin::CENTER );
+ backView.SetAnchorPoint( AnchorPoint::CENTER );
+ stage.Add( backView );
mModelCounter = 0;
mModel3dView.SetProperty(Model3dView::Property::LIGHT_POSITION, Vector3(5,10.,0));
- m3DLayer.Add( mModel3dView );
+ backView.Add( mModel3dView );
mIlluminationShader = Model3dView::IlluminationType(mModel3dView.GetProperty<int>(Model3dView::Property::ILLUMINATION_TYPE));
mButtonLayer.SetResizePolicy( ResizePolicy::FILL_TO_PARENT, Dimension::ALL_DIMENSIONS );
mButtonLayer.SetParentOrigin( ParentOrigin::CENTER );
mButtonLayer.SetAnchorPoint( AnchorPoint::CENTER );
- stage.GetRootLayer().Add(mButtonLayer);
+ stage.Add(mButtonLayer);
// Create button for model changing
Toolkit::PushButton editButton = Toolkit::PushButton::New();
editButton.ClickedSignal().Connect( this, &Model3dViewController::OnChangeModelClicked);
editButton.SetParentOrigin( ParentOrigin::TOP_LEFT );
editButton.SetAnchorPoint( AnchorPoint::TOP_LEFT );
- editButton.SetLabelText( "Change Model" );
+ editButton.SetProperty( Toolkit::Button::Property::LABEL, "Change Model" );
mButtonLayer.Add( editButton );
// Create button for shader changing
editButton.ClickedSignal().Connect( this, &Model3dViewController::OnChangeLightingClicked);
editButton.SetParentOrigin( ParentOrigin::TOP_RIGHT );
editButton.SetAnchorPoint( AnchorPoint::TOP_RIGHT );
- editButton.SetLabelText( "Change Shader" );
+ editButton.SetProperty( Toolkit::Button::Property::LABEL, "Change Shader" );
mButtonLayer.Add( editButton );
// Create button for pause/resume animation
editButton.ClickedSignal().Connect( this, &Model3dViewController::OnPauseAnimationsClicked);
editButton.SetParentOrigin( ParentOrigin::BOTTOM_CENTER );
editButton.SetAnchorPoint( AnchorPoint::BOTTOM_CENTER );
- editButton.SetLabelText( "Pause Animations" );
+ editButton.SetProperty( Toolkit::Button::Property::LABEL, "Pause Animations" );
mButtonLayer.Add( editButton );
//Create animations
mModelCounter = (mModelCounter + 1) % MODEL_NUMBER;
mModel3dView.SetProperty(Model3dView::Property::GEOMETRY_URL, MODEL_FILE[mModelCounter]);
mModel3dView.SetProperty(Model3dView::Property::MATERIAL_URL, MATERIAL_FILE[mModelCounter]);
- mModel3dView.SetProperty(Model3dView::Property::IMAGES_URL, IMAGE_PATH);
-
return true;
}
int mModelCounter;
Model3dView mModel3dView;
- Layer m3DLayer;
Layer mButtonLayer;
TapGestureDetector mTapDetector;