X-Git-Url: http://review.tizen.org/git/?a=blobdiff_plain;f=dali-scene3d%2Finternal%2Fcontrols%2Fmodel%2Fmodel-impl.h;h=d82fa8fcddeea76a4f50a907d54f2261af7046d4;hb=HEAD;hp=ff9ba0c6eb33e659548f61228af6c29c0e6e6802;hpb=cc5cc405aa45b6581343dbcd13668f1c1a35ebeb;p=platform%2Fcore%2Fuifw%2Fdali-toolkit.git diff --git a/dali-scene3d/internal/controls/model/model-impl.h b/dali-scene3d/internal/controls/model/model-impl.h index ff9ba0c..d82fa8f 100644 --- a/dali-scene3d/internal/controls/model/model-impl.h +++ b/dali-scene3d/internal/controls/model/model-impl.h @@ -2,7 +2,7 @@ #define DALI_SCENE3D_INTERNAL_MODEL_H /* - * Copyright (c) 2023 Samsung Electronics Co., Ltd. + * Copyright (c) 2024 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. @@ -174,6 +174,26 @@ public: void SetMotionData(Scene3D::MotionData motionData); /** + * @copydoc Model::CastShadow() + */ + void CastShadow(bool castShadow); + + /** + * @copydoc Model::IsShadowCasting() + */ + bool IsShadowCasting() const; + + /** + * @copydoc Model::ReceiveShadow() + */ + void ReceiveShadow(bool receiveShadow); + + /** + * @copydoc Model::IsShadowReceiving() + */ + bool IsShadowReceiving() const; + + /** * @copydoc Scene3D::Model::MeshHitSignal() */ Scene3D::Model::MeshHitSignalType& MeshHitSignal() @@ -210,9 +230,8 @@ public: * @brief Registers child node with collidier mesh * * @param[in] node ModelNode to register - * @param[in] mesh Collider mesh to associate with model node */ - void RegisterColliderMesh(Scene3D::ModelNode& node, const Dali::Scene3D::Algorithm::ColliderMesh& mesh); + void RegisterColliderMesh(Scene3D::ModelNode& node); /** * @brief Removes node/collider mesh from the register @@ -296,6 +315,16 @@ private: void FitModelPosition(); /** + * @brief Makes the input node cast shadow or not. + */ + void UpdateCastShadowRecursively(Scene3D::ModelNode node, bool castShadow); + + /** + * @brief Makes the input node receive shadow or not. + */ + void UpdateReceiveShadowRecursively(Scene3D::ModelNode node, bool receiveShadow); + + /** * @brief Changes IBL information of the input node. */ void UpdateImageBasedLightTextureRecursively(Scene3D::ModelNode node, Dali::Texture diffuseTexture, Dali::Texture specularTexture, float iblScaleFactor, uint32_t specularMipmapLevels); @@ -372,11 +401,6 @@ private: void ResetResourceTasks(); /** - * @brief Reset a Resource loading task. - */ - void ResetResourceTask(IntrusivePtr asyncTask); - - /** * @brief Notify Resource Ready signal. */ void NotifyResourceReady(); @@ -450,6 +474,8 @@ private: bool mIblSpecularResourceReady; bool mIblDiffuseDirty; bool mIblSpecularDirty; + bool mIsShadowCasting; + bool mIsShadowReceiving; }; } // namespace Internal