Lysa  0.0
Lysa 3D Engine
Loader::SceneNode Struct Reference

Detailed Description

Intermediate description of a node parsed from a JSON scene file.

This structure preserves declaration order of properties and children to allow deterministic instantiation and to stay close to the source file layout.

Public Attributes

std::string id {}
 
bool isResource {false}
 
bool isCustom {false}
 
bool isIncluded {false}
 
std::string clazz {}
 
std::shared_ptr< SceneNode > child {nullptr}
 
std::vector< SceneNode > children {}
 
std::vector< std::pair< std::string, std::string > > properties {}
 
std::string resource {}
 
std::string resourcePath {}
 
std::string resourceType {}
 
bool needDuplicate {false}
 

Member Data Documentation

std::shared_ptr<SceneNode> child {nullptr}

Single child (for linear chains) when applicable.

std::vector<SceneNode> children {}

Ordered list of children nodes.

std::string clazz {}

Fully qualified class/type name used to instantiate the node.

std::string id {}

Optional unique identifier for referencing between nodes.

bool isCustom {false}

True if the node class is provided by user code (custom).

bool isIncluded {false}

True if this node was included from another file.

bool isResource {false}

True if this node represents a reusable resource entry.

bool needDuplicate {false}

When true, indicates the instance must be duplicated at use.

std::vector<std::pair<std::string, std::string> > properties {}

Ordered list of key/value properties. Using a vector of pairs preserves JSON declaration order.

std::string resource {}

Resource identifier (name or URI) associated with this node.

std::string resourcePath {}

Resolved path to the resource on disk or inside a package.

std::string resourceType {}

Resource type hint (e.g., mesh, texture).