-#ifndef __DALI_TOOLKIT_MODEL3D_VIEW_H__
-#define __DALI_TOOLKIT_MODEL3D_VIEW_H__
+#ifndef DALI_TOOLKIT_MODEL3D_VIEW_H
+#define DALI_TOOLKIT_MODEL3D_VIEW_H
/*
- * Copyright (c) 2015 Samsung Electronics Co., Ltd.
+ * Copyright (c) 2020 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.
{
class Model3dView;
}
+
+/**
+ * @addtogroup dali_toolkit_controls_model3d_view
+ * @{
+ */
+
/**
* @brief Model3dView is a control for displaying 3d geometry.
*
* All the geometry loaded with the control is automatically centered and scaled to fit
- * the size of all the other controls. So the max is (0.5,0.5) and the min is (-0.5,-0.5)
+ * the size of all the other controls. So the max is (0.5,0.5) and the min is (-0.5,-0.5).
*
* @SINCE_1_1.4
*/
-class DALI_IMPORT_API Model3dView : public Control
+class DALI_TOOLKIT_API Model3dView : public Control
{
public:
/**
- * @brief The start and end property ranges for this control.
+ * @brief Enumeration for the start and end property ranges for this control.
* @SINCE_1_1.4
*/
enum PropertyRange
};
/**
- * @brief An enumeration of properties belonging to the TextLabel class.
+ * @brief Enumeration for the instance of properties belonging to the TextLabel class.
* @SINCE_1_1.4
*/
struct Property
{
+ /**
+ * @brief Enumeration for the instance of properties belonging to the TextLabel class.
+ * @SINCE_1_1.4
+ */
enum
{
GEOMETRY_URL = PROPERTY_START_INDEX, ///< name "geometryUrl", The path to the geometry file, type STRING @SINCE_1_1.4
};
};
+ /**
+ * @brief Enumeration for the type of illumination.
+ * @SINCE_1_1.4
+ */
enum IlluminationType
{
- DIFFUSE,
- DIFFUSE_WITH_TEXTURE,
- DIFFUSE_WITH_NORMAL_MAP
+ DIFFUSE, ///< diffuse @SINCE_1_1.4
+ DIFFUSE_WITH_TEXTURE, ///< diffuse with texture @SINCE_1_1.4
+ DIFFUSE_WITH_NORMAL_MAP ///< diffuse with normal map @SINCE_1_1.4
};
-
/**
- * @brief Create a new instance of a Model3dView control.
+ * @brief Creates a new instance of a Model3dView control.
*
* @SINCE_1_1.4
- * @return A handle to the new Model3dView control.
+ * @return A handle to the new Model3dView control
*/
static Model3dView New();
/**
- * @brief Create a new instance of a Model3dView control.
+ * @brief Creates a new instance of a Model3dView control.
*
* @SINCE_1_1.4
- * @return A handle to the new Model3dView control.
+ * @param[in] objUrl The path to the geometry file
+ * @param[in] mtlUrl The path to the material file
+ * @param[in] imagesUrl The path to the images directory
+ * @return A handle to the new Model3dView control
*/
static Model3dView New( const std::string& objUrl, const std::string& mtlUrl, const std::string& imagesUrl );
/**
- * @brief Create an uninitialized Model3dView
+ * @brief Creates an uninitialized Model3dView.
*
- * Only derived versions can be instantiated. Calling member
+ * Only derived versions can be instantiated. Calling member
* functions with an uninitialized Dali::Object is not allowed.
* @SINCE_1_1.4
*/
Model3dView();
/**
- * @brief Destructor
+ * @brief Destructor.
*
* This is non-virtual since derived Handle types must not contain data or virtual methods.
* @SINCE_1_1.4
/**
* @brief Copy constructor.
* @SINCE_1_1.4
+ * @param[in] model3dView Handle to an object
*/
Model3dView( const Model3dView& model3dView );
/**
+ * @brief Move constructor
+ * @SINCE_1_9.23
+ *
+ * @param[in] rhs A reference to the moved handle
+ */
+ Model3dView( Model3dView&& rhs );
+
+ /**
* @brief Assignment operator.
* @SINCE_1_1.4
+ * @param[in] model3dView Handle to an object
+ * @return reference to this
*/
Model3dView& operator=( const Model3dView& model3dView );
/**
- * @brief Downcast an Object handle to Model3dView.
+ * @brief Move assignment
+ * @SINCE_1_9.23
*
- * If handle points to a Model3dView the downcast produces valid
- * handle. If not the returned handle is left uninitialized.
+ * @param[in] rhs A reference to the moved handle
+ * @return A reference to this
+ */
+ Model3dView& operator=( Model3dView&& rhs );
+
+ /**
+ * @brief Downcasts an Object handle to Model3dView.
+ *
+ * If handle points to a Model3dView, the downcast produces valid handle.
+ * If not, the returned handle is left uninitialized.
*
* @SINCE_1_1.4
* @param[in] handle Handle to an object
- * @return handle to a Model3dView or an uninitialized handle
+ * @return Handle to a Model3dView or an uninitialized handle
*/
static Model3dView DownCast( BaseHandle handle );
public: // Not intended for application developers
+ /// @cond internal
/**
* @brief Creates a handle using the Toolkit::Internal implementation.
*
* @SINCE_1_1.4
- * @param[in] implementation The Control implementation.
+ * @param[in] implementation The Control implementation
*/
DALI_INTERNAL Model3dView( Internal::Model3dView& implementation );
* @brief Allows the creation of this Control from an Internal::CustomActor pointer.
*
* @SINCE_1_1.4
- * @param[in] internal A pointer to the internal CustomActor.
+ * @param[in] internal A pointer to the internal CustomActor
*/
DALI_INTERNAL Model3dView( Dali::Internal::CustomActor* internal );
+ /// @endcond
};
+/**
+ * @}
+ */
} // namespace Toolkit
} // namespace Dali
-#endif // __DALI_TOOLKIT_MODEL3D_VIEW_H__
+#endif // DALI_TOOLKIT_MODEL3D_VIEW_H