#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.
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()
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);
void ResetResourceTasks();
/**
- * @brief Reset a Resource loading task.
- */
- void ResetResourceTask(IntrusivePtr<AsyncTask> asyncTask);
-
- /**
* @brief Notify Resource Ready signal.
*/
void NotifyResourceReady();
bool mIblSpecularResourceReady;
bool mIblDiffuseDirty;
bool mIblSpecularDirty;
+ bool mIsShadowCasting;
+ bool mIsShadowReceiving;
};
} // namespace Internal