X-Git-Url: http://review.tizen.org/git/?a=blobdiff_plain;f=dali-scene3d%2Fpublic-api%2Fcontrols%2Fmodel%2Fmodel.h;h=88bc524df189f775424881652a19f0b1c365fd0a;hb=HEAD;hp=f21887696560e661e1d30b1e5034e89e52be9280;hpb=5543692f5ee9f81089ec6567297a2149be5dc36b;p=platform%2Fcore%2Fuifw%2Fdali-toolkit.git diff --git a/dali-scene3d/public-api/controls/model/model.h b/dali-scene3d/public-api/controls/model/model.h index f218876..88bc524 100644 --- a/dali-scene3d/public-api/controls/model/model.h +++ b/dali-scene3d/public-api/controls/model/model.h @@ -2,7 +2,7 @@ #define DALI_SCENE3D_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. @@ -56,6 +56,8 @@ class Model; * * By default, The loaded model has its own position and size which are defined in vertex buffer regardless of the Control size. * + * @note We support to render model well only if glsl version is higher than 300. + * * @SINCE_2_1.41 * @code * @@ -333,7 +335,7 @@ public: ModelNode FindChildModelNodeByName(std::string_view nodeName); /** - * @brief Retrieve the list of blendshape name that current Model hold. + * @brief Retrieves the list of blendshape name that current Model hold. * The name will be appended end of input list. * * @SINCE_2_2.34 @@ -343,7 +345,7 @@ public: void RetrieveBlendShapeNames(std::vector& blendShapeNames) const; /** - * @brief Retrieve the list of ModelNode that contains given blend shape name. + * @brief Retrieves the list of ModelNode that contains given blend shape name. * The ModelNode will be appended end of input list. * * @SINCE_2_2.34 @@ -354,7 +356,7 @@ public: void RetrieveModelNodesByBlendShapeName(std::string_view blendShapeName, std::vector& modelNodes) const; /** - * @brief Generate specific animation of this Model by inputed MotionData. + * @brief Generates specific animation of this Model by inputed MotionData. * * @SINCE_2_2.34 * @param[in] motionData the data of motion animation. @@ -364,7 +366,7 @@ public: Dali::Animation GenerateMotionDataAnimation(MotionData motionData); /** - * @brief Set specific values of this Model by inputed MotionData. + * @brief Sets specific values of this Model by inputed MotionData. * @note If MotionValue's ValueType is ValueType::KEY_FRAMES, the last value will be set. * * @SINCE_2_2.34 @@ -374,6 +376,45 @@ public: void SetMotionData(Scene3D::MotionData motionData); /** + * @brief Sets whether this Model casts shadow or not. + * If it is true, this model is drawn on Shadow Map. + * + * @SINCE_2_3.99 + * @param[in] castShadow Whether this Model casts shadow or not. + * @note This method affects all of the child ModelNode. + * However, same property of each child ModelNode can be changed respectively and it not changes parent's property. + */ + void CastShadow(bool castShadow); + + /** + * @brief Retrieves whether the Model casts shadow or not for Light. + * + * @SINCE_2_3.99 + * @return True if this model casts shadow. + * @note IBL does not cast any shadow. + */ + bool IsShadowCasting() const; + + /** + * @brief Sets whether this Model receives shadow or not. + * If it is true, shadows are drawn on this model. + * + * @SINCE_2_3.99 + * @param[in] receiveShadow Whether this Model receives shadow or not. + * @note This method affects all of the child ModelNode. + * However, same property of each child ModelNode can be changed respectively and it not changes parent's property. + */ + void ReceiveShadow(bool receiveShadow); + + /** + * @brief Retrieves whether the Model receives shadow or not for Light. + * + * @SINCE_2_3.99 + * @return True if this model receives shadow. + */ + bool IsShadowReceiving() const; + + /** * @brief This signal is emitted when the collider mesh is touched/hit. * * A callback of the following type may be connected: