Changeset View
Changeset View
Standalone View
Standalone View
source/blender/blenkernel/BKE_viewer_path.h
- This file was added.
| /* SPDX-License-Identifier: GPL-2.0-or-later */ | |||||
| #pragma once | |||||
| /** | |||||
| * A #ViewerPath is a path to data that is viewed/debugged by the user. It is a list of | |||||
| * #ViewerPathElem. | |||||
| * | |||||
| * This is only used for geometry nodes currently. When the user activates a viewer node the | |||||
| * corresponding path contains the following elements: | |||||
| * - Object the viewer is activated on. | |||||
| * - Modifier that contains the corresponding geometry node group. | |||||
| * - Node tree path in case the viewer node is in a nested node group. | |||||
| * - Viewer node name. | |||||
| * | |||||
| * The entire path is necessary (instead of just the combination of node group and viewer name), | |||||
| * because the same node group may be used in many different places. | |||||
| * | |||||
| * This file contains basic functions for creating/deleting a #ViewerPath. For more use-case | |||||
| * specific functions look in `ED_viewer_path.hh`. | |||||
| */ | |||||
| #include "DNA_viewer_path_types.h" | |||||
| struct BlendWriter; | |||||
| struct BlendDataReader; | |||||
| struct BlendLibReader; | |||||
| struct LibraryForeachIDData; | |||||
| struct Library; | |||||
| struct IDRemapper; | |||||
| #ifdef __cplusplus | |||||
| extern "C" { | |||||
| #endif | |||||
| void BKE_viewer_path_init(ViewerPath *viewer_path); | |||||
| void BKE_viewer_path_clear(ViewerPath *viewer_path); | |||||
| void BKE_viewer_path_copy(ViewerPath *dst, const ViewerPath *src); | |||||
| bool BKE_viewer_path_equal(const ViewerPath *a, const ViewerPath *b); | |||||
| void BKE_viewer_path_blend_write(struct BlendWriter *writer, const ViewerPath *viewer_path); | |||||
| void BKE_viewer_path_blend_read_data(struct BlendDataReader *reader, ViewerPath *viewer_path); | |||||
| void BKE_viewer_path_blend_read_lib(struct BlendLibReader *reader, | |||||
| struct Library *lib, | |||||
| ViewerPath *viewer_path); | |||||
| void BKE_viewer_path_foreach_id(struct LibraryForeachIDData *data, ViewerPath *viewer_path); | |||||
| void BKE_viewer_path_id_remap(ViewerPath *viewer_path, const struct IDRemapper *mappings); | |||||
HooglyBoogly: Since there could be more than one? | |||||
Done Inline ActionsI was following existing naming conventions, e.g. action_id_remap. Think that's reasonable. JacquesLucke: I was following existing naming conventions, e.g. `action_id_remap`. Think that's reasonable. | |||||
Not Done Inline ActionsThen wouldn't it be called BKE_viewer_path_id_remap? HooglyBoogly: Then wouldn't it be called `BKE_viewer_path_id_remap`? | |||||
| ViewerPathElem *BKE_viewer_path_elem_new(ViewerPathElemType type); | |||||
| IDViewerPathElem *BKE_viewer_path_elem_new_id(void); | |||||
| ModifierViewerPathElem *BKE_viewer_path_elem_new_modifier(void); | |||||
| NodeViewerPathElem *BKE_viewer_path_elem_new_node(void); | |||||
| ViewerPathElem *BKE_viewer_path_elem_copy(const ViewerPathElem *src); | |||||
| bool BKE_viewer_path_elem_equal(const ViewerPathElem *a, const ViewerPathElem *b); | |||||
| void BKE_viewer_path_elem_free(ViewerPathElem *elem); | |||||
| #ifdef __cplusplus | |||||
| } | |||||
| #endif | |||||
Since there could be more than one?