Refactoring Material class
authorHeeyong Song <heeyong.song@samsung.com>
Thu, 24 Oct 2013 06:36:54 +0000 (15:36 +0900)
committerHeeyong Song <heeyong.song@samsung.com>
Thu, 24 Oct 2013 06:36:54 +0000 (15:36 +0900)
Change-Id: Iefdd153619e662474a6facf12da55dfcc5c42402

inc/FUiAnimMaterial.h
src/ui/animations/FUiAnimMaterial.cpp
src/ui/animations/FUiAnim_GlRenderManager.cpp
src/ui/animations/FUiAnim_LightImpl.cpp
src/ui/animations/FUiAnim_LightImpl.h
src/ui/animations/FUiAnim_MaterialImpl.cpp
src/ui/animations/FUiAnim_MaterialImpl.h
src/ui/animations/FUiAnim_ModelImporterImpl.cpp

index 50e6160..3aa8079 100644 (file)
@@ -1,9 +1,32 @@
+//
+// Open Service Platform
+// Copyright (c) 2012-2013 Samsung Electronics Co., Ltd.
+//
+// Licensed under the Flora License, Version 1.0 (the License);
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+//
+//     http://floralicense.org/license/
+//
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an AS IS BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+//
+
+/**
+ * @file       FUiMaterial.h
+ * @brief      This is the header file for the %Material class.
+ *
+ * This header file contains the declarations of the %Material class.
+ */
+
 #ifndef _FUI_ANIM_MATERIAL_H_
 #define _FUI_ANIM_MATERIAL_H_
 
 #include <FOspConfig.h>
 #include <FGrpFloatVector4.h>
-#include "FGrpFloatPoint3.h"
 
 namespace Tizen { namespace Ui { namespace Animations
 {
@@ -21,6 +44,26 @@ public:
     Material& operator =(const Material& rhs);
 
 public:
+       /**
+        * Get material ambient color.
+        *
+        * @since 2.0
+        *
+        * @return              Ambient color of the material.
+        * @see                 SetAmbient().
+        *
+        */
+       Tizen::Graphics::FloatVector4 GetAmbient(void) const;
+
+       /**
+        * Sets material ambient color.
+        *
+        * @since 3.0
+        *
+        * @param[]             ambient         Ambient color of the material.
+        * @see                 GetAmbient().
+        */
+       void SetAmbient(const Tizen::Graphics::FloatVector4& ambient);
 
        /**
         * Get material diffuse color.
@@ -65,27 +108,6 @@ public:
        void SetSpecular(const Tizen::Graphics::FloatVector4& specular);
 
        /**
-        * Get material ambient color.
-        *
-        * @since 2.0
-        *
-        * @return              Ambient color of the material.
-        * @see                 SetAmbient().
-        *
-        */
-       Tizen::Graphics::FloatVector4 GetAmbient(void) const;
-
-       /**
-        * Sets material ambient color.
-        *
-        * @since 3.0
-        *
-        * @param[]             ambient         Ambient color of the material.
-        * @see                 GetAmbient().
-        */
-       void SetAmbient(const Tizen::Graphics::FloatVector4& ambient);
-
-       /**
         * Get material emissive color.
         *
         * @since 3.0
@@ -106,27 +128,6 @@ public:
        void SetEmissive(const Tizen::Graphics::FloatVector4& emissive);
 
        /**
-        * Get emissive power.
-        *
-        * @since 3.0
-        *
-        * @return              emissive power of the material.
-        * @see                 SetEmissivePower().
-        *
-        */
-       float GetEmissivePower(void) const;
-
-       /**
-        * Sets material emissive power.
-        *
-        * @since 3.0
-        *
-        * @param[]             value           Emissive power of the material.
-        * @see                 GetEmissivePower().
-        */
-       void SetEmissivePower(const float& value);
-
-       /**
         * Get material shininess.
         *
         * @since 3.0
@@ -168,13 +169,35 @@ public:
         */
        result SetName(const Tizen::Base::String& name);
 
-private:
 
+///////
+       /**
+        * Get emissive power.
+        *
+        * @since 3.0
+        *
+        * @return              emissive power of the material.
+        * @see                 SetEmissivePower().
+        *
+        */
+       float GetEmissivePower(void) const;
+
+       /**
+        * Sets material emissive power.
+        *
+        * @since 3.0
+        *
+        * @param[]             value           Emissive power of the material.
+        * @see                 GetEmissivePower().
+        */
+       void SetEmissivePower(const float& value);
+
+private:
        class _MaterialImpl* __pMaterialImpl;
+
        friend class _MaterialImpl;
 };
 
-
 }}} //namespace Tizen { namespace Ui { namespace Animations {
 
 #endif // _FUI_ANIM_MATERIAL_H_
index 6b5e9d9..0220a71 100644 (file)
@@ -1,14 +1,32 @@
+//
+// Open Service Platform
+// Copyright (c) 2012-2013 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.
+// You may obtain a copy of the License at
+//
+//     http://www.apache.org/licenses/LICENSE-2.0/
+//
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+//
+
+/**
+ * @file       FUiAnimMaterial.cpp
+ * @brief      This file contains implementation of Material class
+ *
+ * This file contains implementation Material class.
+ */
 
 #include <FBaseSysLog.h>
 #include <FBaseString.h>
 #include "FUiAnimMaterial.h"
 #include "FUiAnim_MaterialImpl.h"
 
-using namespace Tizen::Ui::Animations::_Math;
-using namespace Tizen::Graphics;
-
-//TODO SysAssertf->SysTryLog
-
 namespace Tizen { namespace Ui { namespace Animations
 {
 
@@ -26,13 +44,13 @@ Material::Material(const Material& material)
 
        __pMaterialImpl = material.__pMaterialImpl;
 
-    if(__pMaterialImpl != null)
+       if (__pMaterialImpl != null)
     {
        __pMaterialImpl->AddRef();
     }
 }
 
-Material::Material(const FloatVector4& diffuse, const FloatVector4& specular, const FloatVector4& ambient, const FloatVector4& emissive, float shininess)
+Material::Material(const Tizen::Graphics::FloatVector4& diffuse, const Tizen::Graphics::FloatVector4& specular, const Tizen::Graphics::FloatVector4& ambient, const Tizen::Graphics::FloatVector4& emissive, float shininess)
        : __pMaterialImpl(null)
 {
        __pMaterialImpl = new (std::nothrow)_MaterialImpl();
@@ -66,70 +84,87 @@ Material::operator =(const Material& rhs)
        }
 
        __pMaterialImpl = rhs.__pMaterialImpl;
-       __pMaterialImpl->AddRef();
+       if (__pMaterialImpl != null)
+       {
+               __pMaterialImpl->AddRef();
+       }
 
        return *this;
 }
 
-FloatVector4
-Material::GetDiffuse(void) const
+Tizen::Graphics::FloatVector4
+Material::GetAmbient(void) const
 {
        SysAssertf(__pMaterialImpl != null, "Not yet constructed.");
 
-       Vector4 diffuse = __pMaterialImpl->GetDiffuse().GetVector4();
-       FloatVector4 result(diffuse.x, diffuse.y, diffuse.z, diffuse.w);
+       float* pAmbient = __pMaterialImpl->GetAmbient();
 
-       return result;
+       return Tizen::Graphics::FloatVector4(pAmbient[0], pAmbient[1], pAmbient[2], pAmbient[3]);
 }
 
 void
-Material::SetDiffuse(const Tizen::Graphics::FloatVector4& diffuse)
+Material::SetAmbient(const Tizen::Graphics::FloatVector4& ambient)
 {
+       float color[4];
 
        SysAssertf(__pMaterialImpl != null, "Not yet constructed.");
 
-       ColorEx colorexDiffuse(diffuse.x, diffuse.y, diffuse.z, diffuse.w);
-       __pMaterialImpl->SetDiffuse(colorexDiffuse);
+       color[0] = ambient.x;
+       color[1] = ambient.y;
+       color[2] = ambient.z;
+       color[3] = ambient.w;
+
+       __pMaterialImpl->SetAmbient(color);
 }
 
 Tizen::Graphics::FloatVector4
-Material::GetSpecular(void) const
+Material::GetDiffuse(void) const
 {
        SysAssertf(__pMaterialImpl != null, "Not yet constructed.");
 
-       Vector4 specular = __pMaterialImpl->GetSpecular().GetVector4();
-       FloatVector4 result(specular.x, specular.y, specular.z, specular.w);
+       float* pDiffuse = __pMaterialImpl->GetDiffuse();
 
-       return result;
+       return Tizen::Graphics::FloatVector4(pDiffuse[0], pDiffuse[1], pDiffuse[2], pDiffuse[3]);
 }
 
 void
-Material::SetSpecular(const Tizen::Graphics::FloatVector4& specular)
+Material::SetDiffuse(const Tizen::Graphics::FloatVector4& diffuse)
 {
+       float color[4];
+
        SysAssertf(__pMaterialImpl != null, "Not yet constructed.");
 
-       ColorEx colorexSpecular(specular.x, specular.y, specular.z, specular.w);
-       __pMaterialImpl->SetSpecular(colorexSpecular);
+       color[0] = diffuse.x;
+       color[1] = diffuse.y;
+       color[2] = diffuse.z;
+       color[3] = diffuse.w;
+
+       __pMaterialImpl->SetDiffuse(color);
 }
 
 Tizen::Graphics::FloatVector4
-Material::GetAmbient(void) const
+Material::GetSpecular(void) const
 {
        SysAssertf(__pMaterialImpl != null, "Not yet constructed.");
 
-       Vector4 ambient = __pMaterialImpl->GetAmbient().GetVector4();
-       FloatVector4 result(ambient.x, ambient.y, ambient.z, ambient.w);
+       float* pSpecular = __pMaterialImpl->GetSpecular();
 
-       return result;
+       return Tizen::Graphics::FloatVector4(pSpecular[0], pSpecular[1], pSpecular[2], pSpecular[3]);
 }
 
 void
-Material::SetAmbient(const Tizen::Graphics::FloatVector4& ambient)
+Material::SetSpecular(const Tizen::Graphics::FloatVector4& specular)
 {
+       float color[4];
+
        SysAssertf(__pMaterialImpl != null, "Not yet constructed.");
 
-       ColorEx colorexAmbient(ambient.x, ambient.y, ambient.z, ambient.w);
-       __pMaterialImpl->SetAmbient(colorexAmbient);
+       color[0] = specular.x;
+       color[1] = specular.y;
+       color[2] = specular.z;
+       color[3] = specular.w;
+
+       __pMaterialImpl->SetSpecular(color);
 }
 
 Tizen::Graphics::FloatVector4
@@ -137,72 +172,75 @@ Material::GetEmissive(void) const
 {
        SysAssertf(__pMaterialImpl != null, "Not yet constructed.");
 
-       Vector4 emissive = __pMaterialImpl->GetEmissive().GetVector4();
-       FloatVector4 result(emissive.x, emissive.y, emissive.z, emissive.w);
+       float* pEmissive = __pMaterialImpl->GetEmissive();
 
-       return result;
+       return Tizen::Graphics::FloatVector4(pEmissive[0], pEmissive[1], pEmissive[2], pEmissive[3]);
 }
 
 void
 Material::SetEmissive(const Tizen::Graphics::FloatVector4& emissive)
 {
+       float color[4];
+
        SysAssertf(__pMaterialImpl != null, "Not yet constructed.");
 
-       ColorEx colorexEmissiv(emissive.x, emissive.y, emissive.z, emissive.w);
-       __pMaterialImpl->SetEmissive(colorexEmissiv);
+       color[0] = emissive.x;
+       color[1] = emissive.y;
+       color[2] = emissive.z;
+       color[3] = emissive.w;
+
+       __pMaterialImpl->SetEmissive(color);
 }
 
 float
-Material::GetEmissivePower(void) const
+Material::GetShininess(void) const
 {
        SysAssertf(__pMaterialImpl != null, "Not yet constructed.");
 
-       return __pMaterialImpl->GetEmissivePower();
+       return __pMaterialImpl->GetShininess();
 }
 
 void
-Material::SetEmissivePower(const float& value)
+Material::SetShininess(float shininess)
 {
        SysAssertf(__pMaterialImpl != null, "Not yet constructed.");
 
-       __pMaterialImpl->SetEmissivePower(value);
+       __pMaterialImpl->SetShininess(shininess);
 }
 
-float
-Material::GetShininess(void) const
+Tizen::Base::String
+Material::GetName(void) const
 {
        SysAssertf(__pMaterialImpl != null, "Not yet constructed.");
 
-       return __pMaterialImpl->GetShininess();
+       return __pMaterialImpl->GetName();
 }
 
-void
-Material::SetShininess(float shiness)
+result
+Material::SetName(const Tizen::Base::String& name)
 {
        SysAssertf(__pMaterialImpl != null, "Not yet constructed.");
 
-       __pMaterialImpl->SetShininess(shiness);
+       return __pMaterialImpl->SetName(name);
 }
 
-Tizen::Base::String
-Material::GetName(void) const
+
+/////
+
+float
+Material::GetEmissivePower(void) const
 {
        SysAssertf(__pMaterialImpl != null, "Not yet constructed.");
 
-       Tizen::Base::String result(__pMaterialImpl->GetName().c_str());
-       return result;
+       return __pMaterialImpl->GetEmissivePower();
 }
 
-result
-Material::SetName(const Tizen::Base::String& name)
+void
+Material::SetEmissivePower(const float& value)
 {
        SysAssertf(__pMaterialImpl != null, "Not yet constructed.");
 
-       std::wstring ws(name.GetPointer());
-       std::string stringName (ws.begin(), ws.end());
-       __pMaterialImpl->SetName(stringName);
-
-       return E_SUCCESS;
+       __pMaterialImpl->SetEmissivePower(value);
 }
 
 }}} // namespace Tizen::Ui::Animations
index 2e51f24..a3b4fbd 100644 (file)
@@ -774,10 +774,10 @@ _GlRenderManager::FlushRenderQueue(void)
                {
                        _MaterialImpl* pMaterialImpl = _MaterialImpl::GetInstance(*__pRenderQueue[i].__pMaterial);
 
-                       glUniform4fv(pProgramImpl->__uniformLocation[UNIFORM_VEC4_MATERIAL_AMBIENT], 1, pMaterialImpl->GetAmbient().GetVector4().GetPointer());
-                       glUniform4fv(pProgramImpl->__uniformLocation[UNIFORM_VEC4_MATERIAL_DIFFUSE], 1, pMaterialImpl->GetDiffuse().GetVector4().GetPointer());
-                       glUniform4fv(pProgramImpl->__uniformLocation[UNIFORM_VEC4_MATERIAL_SPECULAR], 1, pMaterialImpl->GetSpecular().GetVector4().GetPointer());
-                       glUniform4fv(pProgramImpl->__uniformLocation[UNIFORM_VEC4_MATERIAL_EMISSIVE], 1, pMaterialImpl->GetEmissive().GetVector4().GetPointer());
+                       glUniform4fv(pProgramImpl->__uniformLocation[UNIFORM_VEC4_MATERIAL_AMBIENT], 1, pMaterialImpl->GetAmbient());
+                       glUniform4fv(pProgramImpl->__uniformLocation[UNIFORM_VEC4_MATERIAL_DIFFUSE], 1, pMaterialImpl->GetDiffuse());
+                       glUniform4fv(pProgramImpl->__uniformLocation[UNIFORM_VEC4_MATERIAL_SPECULAR], 1, pMaterialImpl->GetSpecular());
+                       glUniform4fv(pProgramImpl->__uniformLocation[UNIFORM_VEC4_MATERIAL_EMISSIVE], 1, pMaterialImpl->GetEmissive());
                        glUniform1f(pProgramImpl->__uniformLocation[UNIFORM_FLOAT_MATERIAL_SHININESS], pMaterialImpl->GetShininess());
                }
 
index 1d6b0b2..7e8a068 100644 (file)
 // limitations under the License.
 //
 
+/**
+ * @file       FUiAnim_LightImpl.cpp
+ * @brief      This file contains implementation of _LightImpl class
+ *
+ * This file contains implementation _LightImpl class.
+ */
+
 #include "FUiAnim_LightImpl.h"
 
 namespace Tizen { namespace Ui { namespace Animations
@@ -230,7 +237,8 @@ _LightImpl::SetName(const Tizen::Base::String& name)
        return E_SUCCESS;
 }
 
-Base::String _LightImpl::GetName(void) const
+Base::String
+_LightImpl::GetName(void) const
 {
        return __name;
 }
index ce946c2..7da87fb 100644 (file)
@@ -26,7 +26,7 @@
 #define _FUI_ANIM_INTERNAL_LIGHT_IMPL_H_
 
 #include <FBaseString.h>
-#include "FUiAnimLight.h"
+#include <FUiAnimLight.h>
 #include "FUiAnim_RefObject.h"
 
 namespace Tizen { namespace Ui { namespace Animations
@@ -272,6 +272,9 @@ public:
        static const _LightImpl* GetInstance(const Light& light);
 
 private:
+       _LightImpl& operator =(const _LightImpl& rhs);
+
+private:
        Light::LightType        __lightType;
 
        float __ambient[4];
index d022113..7b74ea0 100644 (file)
 // See the License for the specific language governing permissions and
 // limitations under the License.
 //
-#include "FUiAnim_MaterialImpl.h"
-#include <FUiAnimMaterial.h>
 
-using namespace Tizen::Ui::Animations::_Math;
+/**
+ * @file       FUiAnim_MaterialImpl.cpp
+ * @brief      This file contains implementation of _MaterialImpl class
+ *
+ * This file contains implementation _MaterialImpl class.
+ */
+
+#include "FUiAnim_MaterialImpl.h"
 
 namespace Tizen { namespace Ui { namespace Animations
 {
 
-//IMPLEMENT_PROPERTY(_MaterialImpl)
-
-//std::vector<std::string> _MaterialImpl::properties;
-
 _MaterialImpl::_MaterialImpl(void)
-               : __name("default")
-               , __ambient(ColorEx(0, 0, 0, 0))
-               , __diffuse(ColorEx(0, 0, 0, 0))
-               , __specular(ColorEx(0, 0, 0, 0))
-               , __emissive(ColorEx(0, 0, 0, 0))
-               , __shininess(0)
-               , __specularPower(0)
-               , __opacity(0)
-               , __alphaTestRef(0)
-               , __transparent(false)
-               , __zWrite(false)
-               , __alphaTest(false)
-               , __zBuffer(false)
-               , __castingShadow(false)
+               : __shininess(0.0f)
+               , __name("")
 {
-
+       __ambient[0] = 0.2f; __ambient[1] = 0.2f; __ambient[2] = 0.2f; __ambient[3] = 1.0f;
+       __diffuse[0] = 0.8f; __diffuse[1] = 0.8f; __diffuse[2] = 0.8f; __diffuse[3] = 1.0f;
+       __specular[0] = 0.0f; __specular[1] = 0.0f; __specular[2] = 0.0f; __specular[3] = 1.0f;
+       __emissive[0] = 0.0f; __emissive[1] = 0.0f; __emissive[2] = 0.0f; __emissive[3] = 1.0f;
 }
 
-
 _MaterialImpl::_MaterialImpl(const _MaterialImpl& src)
-               : __name(src.__name)
-               , __ambient(src.__ambient)
-               , __diffuse(src.__diffuse)
-               , __specular(src.__specular)
-               , __emissive(src.__emissive)
-               , __shininess(src.__shininess)
-               , __specularPower(src.__specularPower)
-               , __opacity(src.__opacity)
-               , __alphaTestRef(src.__alphaTestRef)
-               , __transparent(src.__transparent)
-               , __zWrite(src.__zWrite)
-               , __alphaTest(src.__alphaTest)
-               , __zBuffer(src.__zBuffer)
-               , __castingShadow(src.__castingShadow)
+               :__shininess(src.__shininess)
+               , __name(src.__name)
 {
+       memcpy(__ambient, src.__ambient, sizeof(__ambient));
+       memcpy(__diffuse, src.__diffuse, sizeof(__diffuse));
+       memcpy(__specular, src.__specular, sizeof(__specular));
+       memcpy(__emissive, src.__emissive, sizeof(__emissive));
 }
 
-
-_MaterialImpl&
-_MaterialImpl::operator=(const _MaterialImpl& rhs)
+_MaterialImpl::~_MaterialImpl(void)
 {
-       return *this;
 }
 
-
-_MaterialImpl::~_MaterialImpl(void)
+void
+_MaterialImpl::SetAmbient(const float ambient[4])
 {
-
+       __ambient[0] = ambient[0];
+       __ambient[1] = ambient[1];
+       __ambient[2] = ambient[2];
+       __ambient[3] = ambient[3];
 }
 
-
-
-//bool BoolFromXmlChar( const xmlNodePtr& node, const char* tag )
-//{
-//     char* ch = (char*)xmlGetProp(node, (const xmlChar*) tag);
-//
-//     if( ch != Null &&
-//             (strcmp(ch, "1")    == 0 ||
-//              strcmp(ch, "true") == 0 ||
-//              strcmp(ch, "True") == 0 ) )
-//     {
-//             return true;
-//     }
-//
-//     return false;
-//}
-
-//float FloatFromXmlChar( const xmlNodePtr& node, const char* tag )
-//{
-//     return atof( (char*)xmlGetProp( node, (const xmlChar *) tag));
-//}
-
-//ColorEx ColorFromXmlChar( const xmlNodePtr& node, const char* tag )
-//{
-//     char* chars = (char*)xmlGetProp(node, (const xmlChar*) tag);
-//
-//     // ambient="100 100 100 255"
-//
-//     int r=255, g=255, b=255, a=255;
-//
-//
-//     char *clr[ sizeof(strtok(chars, " "))];
-//     if (sizeof(clr) > 0)
-//     {
-//             clr[0] = strtok(chars, " ");
-//             for (int i = 1; i < sizeof(strtok(chars, " ")); ++i)
-//             {
-//                     clr[i] = strtok (NULL, " ");
-//             }
-//
-//             r = atoi(clr[0]);
-//             g = atoi(clr[1]);
-//             b = atoi(clr[2]);
-//             a = atoi(clr[3]);
-//     }
-//
-//     return ColorEx(r,g,b,a);
-//}
-
-
-//bool
-//_MaterialImpl::LoadXml(const std::string& filename)
-//{
-//     xmlDocPtr doc = xmlParseFile(filename.c_str());;
-//     xmlNodePtr cur;
-//     xmlNodePtr mat;
-//     xmlNodePtr pass;
-//     xmlNodePtr sampler;
-//
-//
-//     if (doc)
-//     {
-//             cur = xmlDocGetRootElement(doc);
-//
-//             if( xmlStrcmp(cur->name, (const xmlChar*) "materials"))
-//                     return -1;
-//
-//             cur = cur->xmlChildrenNode;
-//             while (cur != NULL)
-//             {
-//                     if ((!xmlStrcmp(cur->name, (const xmlChar*) "material")))
-//                     {
-//                             __name = std::string((const char*) xmlGetProp(cur, (const xmlChar*) "name"));
-//                             _resourceName = __name;
-//
-//                             __pRenderMaterial->SetTransparent( BoolFromXmlChar(cur, "transparent" ) );
-//                             __pRenderMaterial->SetZWrite( BoolFromXmlChar(cur, "zwrite") );
-//                             __pRenderMaterial->SetAlphaTest( BoolFromXmlChar(cur, "alphaTest") );
-//                             __pRenderMaterial->SetZBuffer( BoolFromXmlChar(cur, "zbuffer") );
-//                             __pRenderMaterial->SetCastingShadow( BoolFromXmlChar(cur, "castingShadow" ) );
-//
-//                             mat = cur->xmlChildrenNode;
-//                             while (mat != NULL)
-//                             {
-//                                     if ((!xmlStrcmp(mat->name, (const xmlChar*) "color")))
-//                                     {
-//                                             __pRenderMaterial->SetAmbient           ( ColorFromXmlChar(mat, "ambient") );
-//                                             __pRenderMaterial->SetDiffuse           ( ColorFromXmlChar(mat, "diffuse") );
-//                                             __pRenderMaterial->SetSpecular          ( ColorFromXmlChar(mat, "specular" ));
-//                                             __pRenderMaterial->SetEmissive          ( ColorFromXmlChar(mat, "emissive") );
-//                                             __pRenderMaterial->SetEmissiveFactor( FloatFromXmlChar(mat, "emissiveFactor") );
-//                                             __pRenderMaterial->SetSpecularPower     ( FloatFromXmlChar(mat, "specularPower") );
-//                                     }
-//                                     //------------------------------------------------------------------------------
-//
-//                                     if ((!xmlStrcmp(mat->name, (const xmlChar*) "opacity")))
-//                                     {
-//                                             __pRenderMaterial->SetOpacity( FloatFromXmlChar(mat, "value") );
-//                                     }
-//                                     //------------------------------------------------------------------------------
-//
-//                                     if ((!xmlStrcmp(mat->name, (const xmlChar*) "alphaTestRef")))
-//                                     {
-//                                             //      __AlphaTestRef
-//                                     }
-//                                     //------------------------------------------------------------------------------
-//
-//                                     if ((!xmlStrcmp(mat->name, (const xmlChar*) "pass")))
-//                                     {
-//                                             PassDescription* pPass = new PassDescription();
-//                                             pPass->SetName(std::string((const char*) xmlGetProp(mat,(const xmlChar*) "name")));
-//
-//                                             pass = mat->xmlChildrenNode;
-//                                             while (pass != NULL)
-//                                             {
-//                                                     if ((!xmlStrcmp(pass->name, (const xmlChar*) "vertex_shader")))
-//                                                     {
-//                                                             pPass->SetVertexShaderFile( FileSystem::ShaderPath + std::string((const char*) xmlGetProp(pass, (const xmlChar*) "file")));
-//                                                     }
-//                                                     //----------------------------------------------------------------------
-//
-//                                                     if ((!xmlStrcmp(pass->name, (const xmlChar*) "pixel_shader")))
-//                                                     {
-//                                                             pPass->SetPixelShaderFile(FileSystem::ShaderPath + std::string( (const char*)xmlGetProp( pass, (const xmlChar *) "file")));
-//                                                     }
-//                                                     //----------------------------------------------------------------------
-//
-//                                                     if ((!xmlStrcmp(pass->name, (const xmlChar*) "samplers")))
-//                                                     {
-//                                                             sampler = pass->xmlChildrenNode;
-//                                                             while (sampler != NULL)
-//                                                             {
-//                                                                     if ((!xmlStrcmp(sampler->name, (const xmlChar*) "sampler")))
-//                                                                     {
-//                                                                             TextureSamplerDescription* pTextureSampler = new TextureSamplerDescription();
-//                                                                             pTextureSampler->SetFileName( FileSystem::TexturePath + std::string( (const char*) xmlGetProp(sampler, (const xmlChar*) "file")));
-//                                                                             pPass->AddTextureSampler(pTextureSampler);
-//                                                                     }
-//
-//                                                                     sampler = sampler->next;
-//                                                             }
-//                                                     }
-//
-//                                                     pass = pass->next;
-//                                             }
-//
-//                                             SetPass(pPass);
-//                                     }
-//
-//                                     mat = mat->next;
-//                             }
-//                     }
-//
-//                     cur = cur->next;
-//             }
-//     }
-//
-//     xmlFreeDoc(doc);
-//
-//     return true;
-//}
-
-
-//void
-//_MaterialImpl::Create(void)
-//{
-//     if (__bCreated)
-//     {
-//             return;
-//     }
-//
-//     SetLastResult(E_SUCCESS);
-//     if (__pPass == Null)
-//     {
-//             __pPass = new PassDescription("pass0", FileSystem::ShaderPath + "default.vert", FileSystem::ShaderPath + "default.frag");
-//     }
-//
-//     __pPass->Create();
-//     result r = GetLastResult();
-//     SysTryReturnVoidResult(NID_FRAMEWORK, r == E_SUCCESS, r, ErrorMessages::PROPAGATING, GetErrorMessage(r));
-//
-//     //__pRenderMaterial = new Tizen::Ui::Renderer::RenderMaterial();
-//
-//
-//     for ( Uint i = 0; i < __pPass->GetTextureSamplersNum(); ++i )
-//     {
-//             __pRenderMaterial->GetRenderPass()->AddTextureSampler( __pPass->GetTextureSampler(i)->GetTextureSampler() );
-//     }
-//
-//     __pRenderMaterial->SetShaderSrc( __pPass->GetGpuProgram()->GetVertexShaderSrc(), __pPass->GetGpuProgram()->GetFragmentShaderSrc() );
-//     __bCreated = true;
-//}
-
-//void
-//_MaterialDescriptionImpl::RemoveSurface(Surface* pSurface)
-//{
-//     for (Uint i = 0; i < __surfaces.size(); ++i)
-//     {
-//             if (__surfaces[i] == pSurface)
-//             {
-//                     __surfaces.erase(__surfaces.begin() + i);
-//                     return;
-//             }
-//     }
-//}
-
-//Tizen::Ui::Animations::VisualScenes::_Animation::Variant
-//_MaterialImpl::GetAmbientVar( void )
-//{
-//     return Tizen::Ui::Animations::VisualScenes::_Animation::Variant( __pRenderMaterial->GetAmbient() );
-//}
-
-ColorEx
+float*
 _MaterialImpl::GetAmbient(void) const
 {
-       return __ambient;
+       return (float*)__ambient;
 }
 
 void
-_MaterialImpl::SetAmbient(const ColorEx& value)
+_MaterialImpl::SetDiffuse(const float diffuse[4])
 {
-       __ambient = value;
+       __diffuse[0] = diffuse[0];
+       __diffuse[1] = diffuse[1];
+       __diffuse[2] = diffuse[2];
+       __diffuse[3] = diffuse[3];
 }
 
-//void
-//_MaterialImpl::SetAmbientVar( Tizen::Ui::Animations::VisualScenes::_Animation::Variant& value )
-//{
-//     __pRenderMaterial->SetAmbient (value.ToColorEx());
-//}
-
-ColorEx
+float*
 _MaterialImpl::GetDiffuse(void) const
 {
-       return __diffuse;
+       return (float*)__diffuse;
 }
 
-//Tizen::Ui::Animations::VisualScenes::_Animation::Variant
-//_MaterialImpl::GetDiffuseVar( void )
-//{
-//     return Tizen::Ui::Animations::VisualScenes::_Animation::Variant(__pRenderMaterial->GetDiffuse());
-//}
-
 void
-_MaterialImpl::SetDiffuse(const ColorEx& value)
+_MaterialImpl::SetSpecular(const float specular[4])
 {
-       __diffuse = value;
+       __specular[0] = specular[0];
+       __specular[1] = specular[1];
+       __specular[2] = specular[2];
+       __specular[3] = specular[3];
 }
 
-//void
-//_MaterialImpl::SetDiffuseVar( Tizen::Ui::Animations::VisualScenes::_Animation::Variant& value )
-//{
-//     __pRenderMaterial->SetDiffuse ( value.ToColorEx() );
-//}
-
-ColorEx
+float*
 _MaterialImpl::GetSpecular(void) const
 {
-       return __specular;
+       return (float*)__specular;
 }
 
-//Tizen::Ui::Animations::VisualScenes::_Animation::Variant
-//_MaterialImpl::GetSpecularVar( void )
-//{
-//     return Tizen::Ui::Animations::VisualScenes::_Animation::Variant(__pRenderMaterial->GetSpecular());
-//}
-
 void
-_MaterialImpl::SetSpecular(const ColorEx& value)
+_MaterialImpl::SetEmissive(const float emissive[4])
 {
-       __specular = value;
+       __emissive[0] = emissive[0];
+       __emissive[1] = emissive[1];
+       __emissive[2] = emissive[2];
+       __emissive[3] = emissive[3];
 }
 
-//void
-//_MaterialImpl::SetSpecularVar( Tizen::Ui::Animations::VisualScenes::_Animation::Variant& value )
-//{
-//     SetSpecular ( value.ToColorEx() );
-//}
-
-ColorEx
+float*
 _MaterialImpl::GetEmissive(void) const
 {
-       return __emissive;
+       return (float*)__emissive;
 }
-//Tizen::Ui::Animations::VisualScenes::_Animation::Variant
-//_MaterialImpl::GetEmissiveVar( void )
-//{
-//     return Tizen::Ui::Animations::VisualScenes::_Animation::Variant(__pRenderMaterial->GetEmissive());
-//}
 
 void
-_MaterialImpl::SetEmissive(const ColorEx& value)
+_MaterialImpl::SetShininess(float shininess)
+{
+       __shininess = shininess;
+}
+
+float
+_MaterialImpl::GetShininess(void) const
 {
-       __emissive = value;
+       return __shininess;
+}
+
+result
+_MaterialImpl::SetName(const Tizen::Base::String& name)
+{
+       __name = name;
+
+       return E_SUCCESS;
+}
+
+Base::String
+_MaterialImpl::GetName(void) const
+{
+       return __name;
+}
+
+_MaterialImpl*
+_MaterialImpl::GetInstance(Material& material)
+{
+       return material.__pMaterialImpl;
+}
+
+const _MaterialImpl*
+_MaterialImpl::GetInstance(const Material& material)
+{
+       return material.__pMaterialImpl;
 }
 
-//void
-//_MaterialImpl::SetEmissiveFactorVar( Tizen::Ui::Animations::VisualScenes::_Animation::Variant& value )
-//{
-//     __pRenderMaterial->SetEmissiveFactor ( value.ToFloat() );
-//}
+
+///////
 
 float
 _MaterialImpl::GetEmissivePower(void) const
@@ -384,162 +158,72 @@ _MaterialImpl::GetEmissivePower(void) const
        return __specularPower;
 }
 
-//Tizen::Ui::Animations::VisualScenes::_Animation::Variant
-//_MaterialImpl::GetSpecularPowerVar( void )
-//{
-//     return Tizen::Ui::Animations::VisualScenes::_Animation::Variant( __pRenderMaterial->GetSpecularPower() );
-//}
-
 void
 _MaterialImpl::SetEmissivePower(const float& value)
 {
        __specularPower = value;
 }
 
-//void
-//_MaterialImpl::SetSpecularPowerVar( Tizen::Ui::Animations::VisualScenes::_Animation::Variant& value )
-//{
-//     __pRenderMaterial->SetSpecularPower ( value.ToFloat() );
-//}
-
 unsigned long
 _MaterialImpl::GetAlphaTestRef(void) const
 {
        return __alphaTestRef;
 }
 
-//Tizen::Ui::Animations::VisualScenes::_Animation::Variant
-//_MaterialImpl::GetAlphaTestRefVar( void )
-//{
-//     return Tizen::Ui::Animations::VisualScenes::_Animation::Variant(__pRenderMaterial->GetAlphaTestRef());
-//}
-
 void
 _MaterialImpl::SetAlphaTestRef(const unsigned long& value)
 {
        __alphaTestRef = value;
 }
 
-//void
-//_MaterialImpl::SetAlphaTestRefVar( Tizen::Ui::Animations::VisualScenes::_Animation::Variant& value )
-//{
-//     __pRenderMaterial->SetAlphaTestRef ( value.ToULong() );
-//}
-
 bool
 _MaterialImpl::GetTransparent(void) const
 {
        return __transparent;
 }
 
-//Tizen::Ui::Animations::VisualScenes::_Animation::Variant
-//_MaterialImpl::GetTransparentVar( void )
-//{
-//     return Tizen::Ui::Animations::VisualScenes::_Animation::Variant(__pRenderMaterial->GetTransparent());
-//}
-
 void
 _MaterialImpl::SetTransparent(bool value)
 {
        __transparent = value;
 }
 
-//void
-//_MaterialImpl::SetTransparentVar( Tizen::Ui::Animations::VisualScenes::_Animation::Variant& value )
-//{
-//     __pRenderMaterial->SetTransparent( value.ToBool() );
-//}
-
 bool
 _MaterialImpl::GetZWrite(void) const
 {
        return __zWrite;
 }
 
-//Tizen::Ui::Animations::VisualScenes::_Animation::Variant
-//_MaterialImpl::GetZWriteVar( void )
-//{
-//     return Tizen::Ui::Animations::VisualScenes::_Animation::Variant(__pRenderMaterial->GetZWrite());
-//}
-
 void
 _MaterialImpl::SetZWrite(bool value)
 {
        __zWrite = value;
 }
 
-//void
-//_MaterialImpl::SetZWriteVar( Tizen::Ui::Animations::VisualScenes::_Animation::Variant& value )
-//{
-//     __pRenderMaterial->SetZWrite( value.ToBool() );
-//}
-
-float
-_MaterialImpl::GetShininess(void) const
-{
-       return __shininess;
-}
-
-void
-_MaterialImpl::SetShininess(float shininess)
-{
-       __shininess = shininess;
-}
-
 bool
 _MaterialImpl::GetAlphaTest(void) const
 {
        return __alphaTest;
 }
 
-//Tizen::Ui::Animations::VisualScenes::_Animation::Variant
-//_MaterialImpl::GetAlphaTestVar( void )
-//{
-//     return Tizen::Ui::Animations::VisualScenes::_Animation::Variant(__pRenderMaterial->GetAlphaTest());
-//}
-
 void
 _MaterialImpl::SetAlphaTest(bool value)
 {
        __alphaTest = value;
 }
 
-//void
-//_MaterialImpl::SetAlphaTestVar( Tizen::Ui::Animations::VisualScenes::_Animation::Variant& value )
-//{
-//     __pRenderMaterial->SetAlphaTest( value.ToBool() );
-//}
-
 bool
 _MaterialImpl::GetZBuffer(void) const
 {
        return __zBuffer;
 }
 
-//Tizen::Ui::Animations::VisualScenes::_Animation::Variant
-//_MaterialImpl::GetZBufferVar( void )
-//{
-//     return Tizen::Ui::Animations::VisualScenes::_Animation::Variant(__pRenderMaterial->GetZBuffer());
-//}
-
 void
 _MaterialImpl::SetZBuffer(bool value)
 {
        __zBuffer = value;
 }
 
-//void
-//_MaterialImpl::SetZBufferVar( Tizen::Ui::Animations::VisualScenes::_Animation::Variant& value )
-//{
-//     __pRenderMaterial->SetZBuffer ( value.ToBool() );
-//}
-
-//Tizen::Ui::Animations::VisualScenes::_Animation::Variant
-//_MaterialImpl::GetOpacityVar( void )
-//{
-//     return Tizen::Ui::Animations::VisualScenes::_Animation::Variant(__pRenderMaterial->GetOpacity());
-//}
-
 float
 _MaterialImpl::GetOpacity(void) const
 {
@@ -552,64 +236,10 @@ _MaterialImpl::SetOpacity(float value)
        __opacity = value;
 }
 
-//void
-//_MaterialImpl::SetOpacityVar( Tizen::Ui::Animations::VisualScenes::_Animation::Variant& value )
-//{
-//     __pRenderMaterial->SetOpacity( value.ToFloat() );
-//}
-
 bool
 _MaterialImpl::GetCastingShadow() const
 {
        return __castingShadow;
 }
 
-//void
-//_MaterialImpl::SetTwoSided( bool value )
-//{
-//     __pRenderMaterial->SetTwoSided(value);
-//}
-//
-//bool
-//_MaterialImpl::GetTwoSided( void )
-//{
-//     return __two;
-//}
-
-//void
-//_MaterialImpl::SetAnimateSpeed( float value )
-//{
-//     __pRenderMaterial->SetAnimateSpeed ( value );
-//}
-//
-//float
-//_MaterialImpl::GetAnimateSpeed()
-//{
-//     return __pRenderMaterial->GetAnimateSpeed();
-//}
-//
-//void
-//_MaterialImpl::SetAnimateDir( int value )
-//{
-//     __pRenderMaterial->SetAnimateDir ( value );
-//}
-//
-//int
-//_MaterialImpl::GetAnimateDir()
-//{
-//     return __animateDir;
-//}
-
-_MaterialImpl*
-_MaterialImpl::GetInstance(Material& material)
-{
-       return material.__pMaterialImpl;
-}
-
-const _MaterialImpl*
-_MaterialImpl::GetInstance(const Material& material)
-{
-       return material.__pMaterialImpl;
-}
-
 }}} // Tizen::Ui::Animations
index 41c3d56..28f1849 100644 (file)
 //
 
 /**
- * @file       Material.h
- * @brief      This is the header file for the %Material class.
+ * @file       FUiAnim_MaterialImpl.h
+ * @brief      This is the header file for the _MaterialImpl class.
  *
- * This header file contains the declarations of the %Material class.
+ * This header file contains the declarations of the _MaterialImpl class.
  */
 
-#ifndef _MATERIAL_H_
-#define _MATERIAL_H_
+#ifndef _FUI_ANIM_INTERNAL_MATERIAL_IMPL_H_
+#define _FUI_ANIM_INTERNAL_MATERIAL_IMPL_H_
 
-
-#include <FBaseObject.h>
-#include <string>
-//#include "interactive-3d-model/Surface.h"
-//#include "interactive-3d-model/PassDescription.h"
-#include "math/FUiAnim_MathColor.h"
-//#include "resource-manager/Resource.h"
-//#include "resource-manager/ResourceManager.h"        //use forward declaration
-//#include "animation/Variant.h"
-//#include "base/RegisterPropertyBase.h"
-//#include "render-system/Material.h"
+#include <FBaseString.h>
+#include <FUiAnimMaterial.h>
 #include "FUiAnim_RefObject.h"
-//TODO transfer forward declaration
-namespace Tizen { namespace Ui { namespace Animations {
-class Material;
-}}}
 
 namespace Tizen { namespace Ui { namespace Animations
 {
@@ -48,102 +35,23 @@ namespace Tizen { namespace Ui { namespace Animations
 class _MaterialImpl
        : public RefObject
 {
-//TODO Properties
-//             DECLARE_CLASS_BEGIN(_MaterialImpl);
-//             DECLARE_PROPERTY("MaterialName", GetNameVar, SetNameVar);
-//             DECLARE_PROPERTY("MaterialEmissiveFactor", GetEmissiveFactorVar, SetEmissiveFactorVar);
-//             DECLARE_PROPERTY("MaterialSpecularPower", GetSpecularPowerVar, SetSpecularPowerVar);
-//             DECLARE_PROPERTY("MaterialAlphaTestRef", GetAlphaTestRefVar, SetAlphaTestRefVar);
-//             DECLARE_PROPERTY("MaterialTransparent", GetTransparentVar, SetTransparentVar);
-//             DECLARE_PROPERTY("MaterialZWrite", GetZWriteVar, SetZWriteVar);
-//             DECLARE_PROPERTY("MaterialAlphaTest", GetAlphaTestVar, SetAlphaTestVar);
-//             DECLARE_PROPERTY("MaterialZBuffer", GetZBufferVar, SetZBufferVar);
-//             DECLARE_PROPERTY("MaterialOpacity", GetOpacityVar, SetOpacityVar);
-//             DECLARE_PROPERTY("MaterialAmbient", GetAmbientVar, SetAmbientVar);
-//             DECLARE_PROPERTY("MaterialDiffuse", GetDiffuseVar, SetDiffuseVar);
-//             DECLARE_PROPERTY("MaterialSpecular", GetSpecularVar, SetSpecularVar);
-//             DECLARE_PROPERTY("MaterialEmissive", GetEmissiveVar, SetEmissiveVar);
-//             DECLARE_CLASS_END();
 public:
-//TODO Properties
-//     static std::vector<std::string> properties;
-//     static std::vector<std::string>& GetPropertyList()
-//     {
-//             if (properties.size() == 0)
-//             {
-//                     properties.push_back("MaterialName");
-//                     properties.push_back("MaterialEmissiveFactor");
-//                     properties.push_back("MaterialSpecularPower");
-//                     properties.push_back("MaterialAlphaTestRef");
-//                     properties.push_back("MaterialTransparent");
-//                     properties.push_back("MaterialZWrite");
-//                     properties.push_back("MaterialAlphaTest");
-//                     properties.push_back("MaterialZBuffer");
-//                     properties.push_back("MaterialOpacity");
-//                     properties.push_back("MaterialAmbient");
-//                     properties.push_back("MaterialDiffuse");
-//                     properties.push_back("MaterialSpecular");
-//                     properties.push_back("MaterialEmissive");
-//         }
-//
-//             return properties;
-//     }
-
-       /*
-        *
-        */
        _MaterialImpl(void);
-
-       /*
-        *
-        */
        _MaterialImpl(const _MaterialImpl& src);
 
-       /*
-        *
-        */
        virtual ~_MaterialImpl(void);
 
        /**
-        * Get material name.
-        *
-        * @since 3.0
-        *
-        * @return              Name of the material.
-        * @see                 SetName().
-        *
-        */
-       std::string GetName(void) const
-       {
-               return __name;
-       }
-
-//TODO Variant
-//     Tizen::Ui::Animations::VisualScenes::_Animation::Variant GetNameVar(void)
-//     {
-//                     return Tizen::Ui::Animations::VisualScenes::_Animation::Variant(__name);
-//     }
-       /**
-        * Set Material name.
+        * Set Material ambient color.
         *
         * @since 3.0
         *
-        * @param[in]   name    Material new name.
-        * @see                 GetName().
+        * @param[in]   value           Material new ambient color value.
+        * @see                 GetAmbient().
         *
         */
-       void SetName(const std::string& name)
-       {
-               __name = name;
-       }
-
-//TODO Variant
-//     void SetNameVar(Tizen::Ui::Animations::VisualScenes::_Animation::Variant& name)
-//     {
-//             __name = name.ToString();
-//     }
-
-//TODO Variant
+       void SetAmbient(const float ambient[4]);
+
        /**
         * Get material ambient color.
         *
@@ -153,23 +61,18 @@ public:
         * @see                 SetAmbient().
         *
         */
-//     Tizen::Ui::Animations::VisualScenes::_Animation::Variant GetAmbientVar(void);
-
-       _Math::ColorEx GetAmbient(void) const;
+       float* GetAmbient(void) const;
 
        /**
-        * Set Material ambient color.
+        * Set Material diffuse color.
         *
         * @since 3.0
         *
-        * @param[in]   value           Material new ambient color value.
-        * @see                 GetAmbient().
+        * @param[in]   value           MateMaterialDescriptionrial new diffuse color value.
+        * @see                 GetDiffuse().
         *
         */
-       void SetAmbient(const _Math::ColorEx& value);
-
-//TODO Variant
-//     void SetAmbientVar(Tizen::Ui::Animations::VisualScenes::_Animation::Variant& value);
+       void SetDiffuse(const float diffuse[4]);
 
        /**
         * Get material diffuse color.
@@ -180,24 +83,18 @@ public:
         * @see                 SetDiffuse().
         *
         */
-       _Math::ColorEx GetDiffuse(void) const;
-
-//TODO Variant
-//     Tizen::Ui::Animations::VisualScenes::_Animation::Variant GetDiffuseVar(void);
+       float* GetDiffuse(void) const;
 
        /**
-        * Set Material diffuse color.
+        * Set Material specular color
         *
         * @since 3.0
         *
-        * @param[in]   value           MateMaterialDescriptionrial new diffuse color value.
-        * @see                 GetDiffuse().
+        * @param[in]   value   MateriaMaterialDescriptionl new specular color value.
+        * @see                 GetSpecular().
         *
         */
-       void SetDiffuse(const _Math::ColorEx& value);
-
-//TODO Variant
-//     void SetDiffuseVar(Tizen::Ui::Animations::VisualScenes::_Animation::Variant& value);
+       void SetSpecular(const float specular[4]);
 
        /**
         * Get material specular color.
@@ -208,24 +105,18 @@ public:
         * @see                 SetSpecular().
         *
         */
-       _Math::ColorEx GetSpecular(void) const;
-
-//TODO Variant
-//     Tizen::Ui::Animations::VisualScenes::_Animation::Variant GetSpecularVar(void);
+       float* GetSpecular(void) const;
 
        /**
-        * Set Material specular color
+        * Set material emissive color.
         *
         * @since 3.0
         *
-        * @param[in]   value   MateriaMaterialDescriptionl new specular color value.
-        * @see                 GetSpecular().
+        * @param[in]   value   Material new emissive color value.
+        * @see                 GetEmissive().
         *
         */
-       void SetSpecular(const _Math::ColorEx& value);
-
-//TODO Variant
-//     void SetSpecularVar(Tizen::Ui::Animations::VisualScenes::_Animation::Variant& value);
+       void SetEmissive(const float emissive[4]);
 
        /**
         * Get material emissive color.
@@ -236,27 +127,51 @@ public:
         * @see                 SetEmissive().
         *
         */
-       _Math::ColorEx GetEmissive(void) const;
+       float* GetEmissive(void) const;
 
-//TODO Variant
-//     Tizen::Ui::Animations::VisualScenes::_Animation::Variant GetEmissiveVar(void);
+       void SetShininess(float shininess);
+       float GetShininess(void) const;
 
        /**
-        * Set material emissive color.
+        * Get material name.
         *
         * @since 3.0
         *
-        * @param[in]   value   Material new emissive color value.
-        * @see                 GetEmissive().
+        * @return              Name of the material.
+        * @see                 SetName().
+        *
+        */
+       Tizen::Base::String GetName(void) const;
+
+       /**
+        * Set Material name.
+        *
+        * @since 3.0
+        *
+        * @param[in]   name    Material new name.
+        * @see                 GetName().
         *
         */
+       result SetName(const Tizen::Base::String& name);
 
-       void SetEmissive(const _Math::ColorEx& value);
+       static _MaterialImpl* GetInstance(Material& material);
+       static const _MaterialImpl* GetInstance(const Material& material);
 
+private:
+       _MaterialImpl& operator=(const _MaterialImpl& rhs);
 
-//TODO Variant
-//     void SetEmissiveFactorVar(Tizen::Ui::Animations::VisualScenes::_Animation::Variant& value);
+private:
+       float __ambient[4];
+       float __diffuse[4];
+       float __specular[4];
+       float __emissive[4];
+       float __shininess;
+
+       Tizen::Base::String __name;
 
+
+//////
+public:
        /**
         * Get material emissive power
         *
@@ -268,9 +183,6 @@ public:
         */
        float GetEmissivePower(void) const;
 
-//TODO Variant
-//     Tizen::Ui::Animations::VisualScenes::_Animation::Variant GetSpecularPowerVar(void);
-
        /**
         * Set material specular power
         *
@@ -282,8 +194,6 @@ public:
         */
        void SetEmissivePower(const float& value);
 
-//TODO Variant
-//     void SetSpecularPowerVar(Tizen::Ui::Animations::VisualScenes::_Animation::Variant& value);
        /**
         * Get material alpha test ref.
         *
@@ -295,9 +205,6 @@ public:
         */
        unsigned long GetAlphaTestRef(void) const;
 
-//TODO Variant
-//     Tizen::Ui::Animations::VisualScenes::_Animation::Variant GetAlphaTestRefVar(void);
-
        /**
         * Set material alpha test ref.
         *
@@ -309,8 +216,6 @@ public:
         */
        void SetAlphaTestRef(const unsigned long& value);
 
-//TODO Variant
-//     void SetAlphaTestRefVar(Tizen::Ui::Animations::VisualScenes::_Animation::Variant& value);
        /**
         * Get material transparent
         *
@@ -322,9 +227,6 @@ public:
         */
        bool GetTransparent(void) const;
 
-//TODO Variant
-//     Tizen::Ui::Animations::VisualScenes::_Animation::Variant GetTransparentVar(void);
-
        /**
         * Set material transparent
         *
@@ -336,9 +238,6 @@ public:
         */
        void SetTransparent(bool value);
 
-//TODO Variant
-//     void SetTransparentVar(Tizen::Ui::Animations::VisualScenes::_Animation::Variant& value);
-
        /**
         * Get material ZWrite.
         *
@@ -350,8 +249,6 @@ public:
         */
        bool GetZWrite(void) const;
 
-//TODO Variant
-//     Tizen::Ui::Animations::VisualScenes::_Animation::Variant GetZWriteVar(void);
        /**
         * Set material ZWrite.
         *
@@ -363,9 +260,6 @@ public:
         */
        void SetZWrite(bool value);
 
-//TODO Variant
-//     void SetZWriteVar(Tizen::Ui::Animations::VisualScenes::_Animation::Variant& value);
-
        /**
         * Get material alpha test.
         *
@@ -377,9 +271,6 @@ public:
         */
        bool GetAlphaTest(void) const;
 
-//TODO Variant
-//     Tizen::Ui::Animations::VisualScenes::_Animation::Variant GetAlphaTestVar(void);
-
        /**
         * Set material alpha test.
         *
@@ -391,9 +282,6 @@ public:
         */
        void SetAlphaTest(bool value);
 
-//TODO Variant
-//     void SetAlphaTestVar(Tizen::Ui::Animations::VisualScenes::_Animation::Variant& value);
-
        /**
         * Get material ZBuffer.
         *
@@ -405,9 +293,6 @@ public:
         */
        bool GetZBuffer(void) const;
 
-//TODO Variant
-//     Tizen::Ui::Animations::VisualScenes::_Animation::Variant GetZBufferVar(void);
-
        /**
         * Set material ZBuffer.
         *
@@ -419,8 +304,6 @@ public:
         */
        void SetZBuffer(bool value);
 
-//TODO Variant
-//     void SetZBufferVar(Tizen::Ui::Animations::VisualScenes::_Animation::Variant& value);
        /**
         * Get material opacity.
         *
@@ -431,8 +314,6 @@ public:
         */
        float GetOpacity(void) const;
 
-//TODO Variant
-//     Tizen::Ui::Animations::VisualScenes::_Animation::Variant GetOpacityVar(void);
        /**
         * Set material opacity
         *
@@ -444,164 +325,20 @@ public:
         */
        void SetOpacity(float value);
 
-//TODO Variant
-//     void SetOpacityVar(Tizen::Ui::Animations::VisualScenes::_Animation::Variant& value);
-
-       float GetShininess(void) const;
-       void SetShininess(float shiness);
-
-
-//     void    SetTwoSided     (bool value);
-//     bool    GetTwoSided     (void);
-//
-//     void    SetAnimateSpeed         ( float value );
-//     float   GetAnimateSpeed         ();
-
-//     void    SetAnimateDir           ( int value );
-//     int             GetAnimateDir           ();
-
-
-private:
-public:
-
-       /*
-        *
-        */
-       _MaterialImpl& operator=(const _MaterialImpl& rhs);
-
-//TODO !!
-       /*
-        *
-        */
-//     PassDescription* GetPass(void)
-//     {
-//             return __pPass;
-//     }
-
-       /*
-        *
-        */
-//     void SetPass(PassDescription* pPass)
-//     {
-//             __pPass = pPass;
-//     }
-
-       /*
-        *
-        */
-//     unsigned int GetId(void)
-//     {
-//             return __id;
-//     }
-//
-//     void SetId(unsigned int value)
-//     {
-//             __id = value;
-//     }
-
-       /*
-        *
-        */
-//     bool LoadXml(const std::string& filename);
-
-       /*
-        *
-        */
-//     void AddSurface(Surface* pSurface)
-//     {
-//             __surfaces.push_back(pSurface);
-//     }
-//
-//     /*
-//      *
-//      */
-//     void RemoveSurface(Surface* pSurface);
-//
-//     /*
-//      *
-//      */
-//     Surface* GetSurface(Uint index) const;
-//
-//     /*
-//      *
-//      */
-//     Uint GetSurfacesCount(void) const
-//     {
-//             return __surfaces.size();
-//     }
-//
-//     /*
-//      *
-//      */
-//     void Clear(void)
-//     {
-//             __surfaces.clear();
-//     }
-
-
        bool GetCastingShadow() const;
 
-       static _MaterialImpl* GetInstance(Material& material);
-       static const _MaterialImpl* GetInstance(const Material& material);
-private:
-
-
-
-//     unsigned int __id;
-       std::string __name;
-
-       _Math::ColorEx __ambient;
-       _Math::ColorEx __diffuse;
-       _Math::ColorEx __specular;
-       _Math::ColorEx __emissive;
-
-       float __shininess;
-       float __specularPower;
-       float __opacity;
+       float __specularPower;
+       float __opacity;
 
        unsigned long __alphaTestRef;
 
-       bool __transparent;
-       bool __zWrite;
-       bool __alphaTest;
-       bool __zBuffer;
-       bool __castingShadow;
-//     PassDescription* __pPass;
-//     std::vector<Surface*> __surfaces;
-//     Tizen::Ui::Renderer::RenderMaterial* __pRenderMaterial;
-//     bool __bCreated;
-//
-
-#if 0
-       // temp
-       class _Material : public Tizen::Base::Object
-       {
-       public:
-               float __ambient[4];
-               float __diffuse[4];
-               float __specular[4];
-               float __emissive[4];
-               float __shiness;
-       };
-#endif
-
-//     friend class  Tizen::Ui::Animations::VisualScenes::_Parser::Collada::ModelBuilder;
-
-       friend class Tizen::Ui::Animations::Material;
+       bool __transparent;
+       bool __zWrite;
+       bool __alphaTest;
+       bool __zBuffer;
+       bool __castingShadow;
 };
 
-
-//inline Surface*
-//_MaterialDescriptionImpl::GetSurface(unsigned int index) const
-//{
-//     if( index >= __surfaces.size())
-//     {
-//             return Null;
-//     }
-//     return __surfaces[index];
-//}
-
-
 }}} // Tizen::Ui::Animations
 
-#endif //_MATERIAL_H_
+#endif //_FUI_ANIM_INTERNAL_MATERIAL_IMPL_H_
index fe1aebd..a561bd0 100644 (file)
@@ -370,12 +370,12 @@ _ModelImporterImpl::LoadMaterial(const std::string& materialId, std::string& tex
        SysTryReturn(NID_UI_ANIM, pColladaEffect != null, null, E_INVALID_DATA, "Effect '%s' not found.", effectName.c_str() + 1);
 
        //set data
-       pMaterial->SetName(Tizen::Base::String(pColladaMaterial->GetEffectName().c_str()));
+       pMaterialImpl->SetName(Tizen::Base::String(pColladaMaterial->GetEffectName().c_str()));
 
-       pMaterialImpl->SetAmbient(pColladaEffect->GetAmbient());
-       pMaterialImpl->SetDiffuse(pColladaEffect->GetDiffuse());
-       pMaterialImpl->SetEmissive(pColladaEffect->GetEmissive());
-       pMaterialImpl->SetSpecular(pColladaEffect->GetSpecular());
+       pMaterialImpl->SetAmbient(pColladaEffect->GetAmbient().GetVector4().GetPointer());
+       pMaterialImpl->SetDiffuse(pColladaEffect->GetDiffuse().GetVector4().GetPointer());
+       pMaterialImpl->SetEmissive(pColladaEffect->GetEmissive().GetVector4().GetPointer());
+       pMaterialImpl->SetSpecular(pColladaEffect->GetSpecular().GetVector4().GetPointer());
 
        pMaterialImpl->SetShininess(pColladaEffect->GetShininess());