* limitations under the License.
*/
-// INTERNAL INCLUDES
-#include <dali-scene3d/public-api/api.h>
-
// EXTERNAL INCLUDES
#include <dali/public-api/math/vector2.h>
#include <dali/public-api/math/vector3.h>
#include <cinttypes>
#include <memory>
+// INTERNAL INCLUDES
+#include <dali-scene3d/public-api/api.h>
+
namespace Dali::Scene3D::Internal::Algorithm
{
-class WayPointData;
+struct WayPointData;
}
namespace Dali::Scene3D::Algorithm
* @class WayPoint
*
* The class represents a public interface to the WayPoint object
+ * @SINCE_2_2.12
*/
class DALI_SCENE3D_API WayPoint
{
public:
-
/**
* @brief Constructor
+ * @SINCE_2_2.12
*/
WayPoint();
/**
* @brief Destructor
+ * @SINCE_2_2.12
*/
~WayPoint();
* Function returns index of face withing the NavigationMesh
* that the waypoint is associated with.
*
+ * @SINCE_2_2.12
* @return Valid index of the face
*/
[[nodiscard]] uint32_t GetNavigationMeshFaceIndex() const;
* The face space uses the face barycentre as an origin. The x-axis is
* aligned with x-axis of the NavigationMesh.
*
+ * @SINCE_2_2.12
* @return Valid 2D location vector
*/
[[nodiscard]] Dali::Vector2 GetFaceLocalSpacePosition() const;
* of associated NavigationMesh object (using transformation set with
* NavigationMesh::SetSceneTransform()).
*
+ * @SINCE_2_2.12
* @return Valid 3D location vector
*/
[[nodiscard]] Dali::Vector3 GetScenePosition() const;
* @brief Copy constructor
*
* Only copy semantics is allowed on the WayPoint object
+ * @SINCE_2_2.12
*/
WayPoint(const WayPoint&);
*
* Only copy semantics is allowed on the WayPoint object
*
+ * @SINCE_2_2.12
* @return Copy of source object
*/
WayPoint& operator=(const WayPoint&);
private:
-
std::unique_ptr<Internal::Algorithm::WayPointData> mImpl;
public:
-
DALI_INTERNAL operator Internal::Algorithm::WayPointData&();
-
};
-}
+} // namespace Dali::Scene3D::Algorithm
#endif // DALI_SCENE3D_PATH_FINDER_WAYPOINT_H