-#ifndef __DALI_PATH_H__
-#define __DALI_PATH_H__
+#ifndef DALI_PATH_H
+#define DALI_PATH_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.
*
* @SINCE_1_0.0
*/
-class DALI_IMPORT_API Path : public Handle
+class DALI_CORE_API Path : public Handle
{
public:
-
/**
* @brief Enumeration for the instance of properties belonging to the Path class.
* @SINCE_1_0.0
*/
enum
{
- POINTS = DEFAULT_OBJECT_PROPERTY_START_INDEX, ///< name "points", type Vector3 @SINCE_1_0.0
- CONTROL_POINTS, ///< name "controlPoints", type Vector3 @SINCE_1_0.0
+ POINTS = DEFAULT_OBJECT_PROPERTY_START_INDEX, ///< name "points", type Vector3 @SINCE_1_0.0
+ CONTROL_POINTS, ///< name "controlPoints", type Vector3 @SINCE_1_0.0
};
};
* @param[in] handle Handle to an object
* @return Handle to a Path object or an uninitialized handle
*/
- static Path DownCast( BaseHandle handle );
+ static Path DownCast(BaseHandle handle);
/**
* @brief Creates an uninitialized Path handle.
Path& operator=(const Path& rhs);
/**
+ * @brief Move constructor.
+ *
+ * @SINCE_1_9.22
+ * @param[in] rhs A reference to the moved handle
+ */
+ Path(Path&& rhs) noexcept;
+
+ /**
+ * @brief Move assignment operator.
+ *
+ * @SINCE_1_9.22
+ * @param[in] rhs A reference to the moved handle
+ * @return A reference to this
+ */
+ Path& operator=(Path&& rhs) noexcept;
+
+ /**
* @brief Adds an interpolation point.
*
* @SINCE_1_0.0
* @param[in] point The new interpolation point to be added
*/
- void AddPoint(const Vector3& point );
+ void AddPoint(const Vector3& point);
/**
* @brief Adds a control point.
* @SINCE_1_0.0
* @param[in] point The new control point to be added
*/
- void AddControlPoint(const Vector3& point );
+ void AddControlPoint(const Vector3& point);
/**
* @brief Automatic generation of control points. Generated control points which result in a smooth join between the splines of each segment.
* @pre There are at least two points in the path ( one segment ).
*
*/
- void GenerateControlPoints( float curvature );
+ void GenerateControlPoints(float curvature);
/**
* @brief Sample path at a given progress. Calculates position and tangent at that point of the curve.
* @param[out] position The interpolated position at that progress
* @param[out] tangent The interpolated tangent at that progress
*/
- void Sample( float progress, Vector3& position, Vector3& tangent ) const;
+ void Sample(float progress, Vector3& position, Vector3& tangent) const;
/**
* @brief Accessor for the interpolation points.
* @param[in] index The index of the interpolation point
* @return A reference to the interpolation point
*/
- Vector3& GetPoint( size_t index );
+ Vector3& GetPoint(size_t index);
/**
* @brief Accessor for the control points.
* @param[in] index The index of the control point
* @return A reference to the control point
*/
- Vector3& GetControlPoint( size_t index );
+ Vector3& GetControlPoint(size_t index);
/**
* @brief Gets the number of interpolation points in the path.
*/
} // namespace Dali
-#endif // __DALI_KEY_FRAMES_H__
+#endif // DALI_PATH_H