+ /**
+ * @copydoc Model::GetCameraCount()
+ */
+ uint32_t GetCameraCount() const;
+
+ /**
+ * @copydoc Model::GenerateCamera()
+ */
+ Dali::CameraActor GenerateCamera(uint32_t index) const;
+
+ /**
+ * @copydoc Model::ApplyCamera()
+ */
+ bool ApplyCamera(uint32_t index, Dali::CameraActor camera) const;
+
+ /**
+ * @copydoc Model::FindChildModelNodeByName()
+ */
+ Scene3D::ModelNode FindChildModelNodeByName(std::string_view nodeName);
+
+ /**
+ * @copydoc Model::RetrieveBlendShapeNames()
+ */
+ void RetrieveBlendShapeNames(std::vector<std::string>& blendShapeNames) const;
+
+ /**
+ * @copydoc Model::RetrieveModelNodesByBlendShapeName()
+ */
+ void RetrieveModelNodesByBlendShapeName(std::string_view blendShapeName, std::vector<Scene3D::ModelNode>& modelNodes) const;
+
+ /**
+ * @copydoc Model::GenerateMotionDataAnimation()
+ */
+ Dali::Animation GenerateMotionDataAnimation(Scene3D::MotionData motionData);
+
+ /**
+ * @copydoc Model::SetMotionData()
+ */
+ void SetMotionData(Scene3D::MotionData motionData);
+
+ /**
+ * @copydoc Scene3D::Model::MeshHitSignal()
+ */
+ Scene3D::Model::MeshHitSignalType& MeshHitSignal()
+ {
+ return mMeshHitSignal;
+ }
+
+ /**
+ * @brief Emits MeshHitSignal
+ * @param[in] modelNode ModelNode that has been hit
+ * @return Result of hit handling.
+ */
+ bool EmitMeshHitSignal(Scene3D::ModelNode modelNode)
+ {
+ bool retVal = false;
+ if(!mMeshHitSignal.Empty())
+ {
+ Scene3D::Model handle(GetOwner());
+ retVal = mMeshHitSignal.Emit(handle, modelNode);
+ }
+ return retVal;
+ }
+
+ /**
+ * @brief Returns collider mesh container
+ * @return Returns valid container
+ */
+ const ColliderMeshContainer& GetNodeColliderMeshContainer() const
+ {
+ return mColliderMeshes;
+ }
+
+ /**
+ * @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);
+
+ /**
+ * @brief Removes node/collider mesh from the register
+ * @param[in] node Child node to remove from the register
+ */
+ void RemoveColliderMesh(Scene3D::ModelNode& node);
+