Polyphase Game Engine
Loading...
Searching...
No Matches
NodePath.h
Go to the documentation of this file.
1#pragma once
2
3#include <string>
4#include <vector>
5#include "Datum.h"
6#include "SmartPointer.h"
7
8class Object;
9class Node;
10class Datum;
11class Property;
12
19
20std::string FindRelativeNodePath(Node* src, Node* dst);
21void ResolveNodePaths(Node* node, bool recurseChildren);
22// boundary: if non-null, a "../" token that would step the cursor *above*
23// this node aborts the resolve (returns nullptr). FindRelativeNodePath
24// refuses to emit cross-boundary paths when both endpoints share a
25// sub-root; ResolveNodePath's boundary check is the symmetric guard so a
26// stale or addon-affected "../" can't wander out of the sub-scene.
27Node* ResolveNodePath(Node* src, const std::string& path, Node* boundary = nullptr);
28void ResolvePendingNodePaths(std::vector<PendingNodePath>& pending);
30void RecordNodePaths(Node* node, std::vector<Property>& props);
std::string FindRelativeNodePath(Node *src, Node *dst)
Definition NodePath.cpp:6
Node * ResolveNodePath(Node *src, const std::string &path, Node *boundary=nullptr)
Definition NodePath.cpp:124
void RecordNodePaths(Node *node, std::vector< Property > &props)
Definition NodePath.cpp:272
void ResolveAllNodePathsRecursive(Node *node)
Definition NodePath.cpp:232
void ResolvePendingNodePaths(std::vector< PendingNodePath > &pending)
Definition NodePath.cpp:190
void ResolveNodePaths(Node *node, bool recurseChildren)
Definition NodePath.cpp:93
Definition Datum.h:164
Definition Node.h:67
Definition Object.h:13
Definition Property.h:14
Definition SmartPointer.h:312
Definition NodePath.h:14
WeakPtr< Node > mNode
Definition NodePath.h:15
std::string mPropName
Definition NodePath.h:16
Datum mPath
Definition NodePath.h:17