1 #ifndef DALI_SCENE3D_INTERNAL_PATH_FINDER_WAYPOINT_DATA_H
2 #define DALI_SCENE3D_INTERNAL_PATH_FINDER_WAYPOINT_DATA_H
5 * Copyright (c) 2023 Samsung Electronics Co., Ltd.
7 * Licensed under the Apache License, Version 2.0 (the "License");
8 * you may not use this file except in compliance with the License.
9 * You may obtain a copy of the License at
11 * http://www.apache.org/licenses/LICENSE-2.0
13 * Unless required by applicable law or agreed to in writing, software
14 * distributed under the License is distributed on an "AS IS" BASIS,
15 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
16 * See the License for the specific language governing permissions and
17 * limitations under the License.
21 #include <dali-scene3d/internal/algorithm/navigation-mesh-impl.h>
22 #include <dali-scene3d/public-api/algorithm/path-finder-waypoint.h>
27 namespace Dali::Scene3D::Internal::Algorithm
32 * Structure containing data describing single waypoint
34 * The structure stores:
35 * - node of NavigationMesh within which the waypoint is placed
36 * - a point within NavigationMesh face space (2D)
37 * - a point within NavigationMesh parent transform space (3D)
38 * Additionally, it stores data used by algorithm:
39 * - face - pointer to the face of NavigationMesh
40 * - edge - Edge between this waypoint and next on the path
44 uint32_t nodeIndex; ///< Index of the node/face
45 const NavigationMesh::Face* face; ///< Polygon containing waypoint
46 Dali::Vector2 point2d; ///< waypoint point in the polygon space, origin is a polygon centre
47 Dali::Vector3 point3d; ///< point in the 3D space in the navmesh parent space
49 // internal data needed for processing
50 const NavigationMesh::Edge* edge; ///< Edge between this face and next face
52 } // namespace Dali::Scene3D::Internal::Algorithm
54 #endif // DALI_SCENE3D_INTERNAL_PATH_FINDER_WAYPOINT_DATA_H