This page has been translated automatically.
Видеоуроки
Interface
Essentials
Advanced
Подсказки и советы
Основы
Программирование на C#
Рендеринг
Professional (SIM)
Принципы работы
Свойства (properties)
Компонентная Система
Рендер
Физика
Редактор UnigineEditor
Обзор интерфейса
Работа с ассетами
Настройки и предпочтения
Работа с проектами
Настройка параметров ноды
Setting Up Materials
Настройка свойств
Освещение
Sandworm
Использование инструментов редактора для конкретных задач
Расширение функционала редактора
Встроенные объекты
Ноды (Nodes)
Объекты (Objects)
Эффекты
Декали
Источники света
Geodetics
World-ноды
Звуковые объекты
Объекты поиска пути
Players
Программирование
Основы
Настройка среды разработки
Примеры использования
C++
C#
UnigineScript
UUSL (Unified UNIGINE Shader Language)
Плагины
Форматы файлов
Materials and Shaders
Rebuilding the Engine Tools
Интерфейс пользователя (GUI)
Двойная точность координат
API
Containers
Common Functionality
Controls-Related Classes
Engine-Related Classes
Filesystem Functionality
GUI-Related Classes
Math Functionality
Node-Related Classes
Objects-Related Classes
Networking Functionality
Pathfinding-Related Classes
Physics-Related Classes
Plugins-Related Classes
IG Plugin
CIGIConnector Plugin
Rendering-Related Classes
Работа с контентом
Оптимизация контента
Материалы
Визуальный редактор материалов
Сэмплы материалов
Material Nodes Library
Miscellaneous
Input
Math
Matrix
Textures
Art Samples
Tutorials
Внимание! Эта версия документация УСТАРЕЛА, поскольку относится к более ранней версии SDK! Пожалуйста, переключитесь на самую актуальную документацию для последней версии SDK.
Внимание! Эта версия документации описывает устаревшую версию SDK, которая больше не поддерживается! Пожалуйста, обновитесь до последней версии SDK.

Класс Unigine :: NodeReference

Header: #include <UnigineNodes.h>
Inherits from: Node
Read More

NodeReference Class

Члены класса


static NodeReferencePtr create ( const char * name ) #

Constructor. Creates a new object that references a node from a given file. Конструктор. Создает новый объект, который ссылается на ноду из заданного файла.

Аргументы

  • const char * name - Path to a *.node file. Путь к файлу *.node.

void setNodeName ( const char * name ) #

Sets a reference to a new *.node file.
Исходный код (C++)
// create an NodeReference instance
NodeReferencePtr nodeRef = NodeReference::create("unigine_project/nodes/reference_0.node");
// ...
// change a reference node
nodeRef->setNodePath("unigine_project/nodes/reference_1.node");
Устанавливает ссылку на новый файл *.node.
Исходный код (C++)
// create an NodeReference instance
NodeReferencePtr nodeRef = NodeReference::create("unigine_project/nodes/reference_0.node");
// ...
// change a reference node
nodeRef->setNodeName("unigine_project/nodes/reference_1.node");

Аргументы

  • const char * name - Path to a *.node file. Путь к файлу *.node.

const char * getNodeName ( ) #

Returns the path to the referenced *.node file.
Исходный код (C++)
// create an NodeReference instance
NodeReferencePtr nodeRef = NodeReference::create("unigine_project/nodes/reference_0.node");
// ...
// return the path to the reference node
Log::message("The referenced node is: %s\n",nodeRef->getNodePath());
Возвращает путь к указанному файлу *.node.
Исходный код (C++)
// create an NodeReference instance
NodeReferencePtr nodeRef = NodeReference::create("unigine_project/nodes/reference_0.node");
// ...
// return the path to the reference node
Log::message("The referenced node is: %s\n",nodeRef->getNodeName());

Возвращаемое значение

Path to the referenced *.node file. Путь к указанному файлу *.node.

Ptr<Node> getReference ( ) #

Returns the node stored by the reference. The method should be used when you need to change the referenced node. If getReference() has returned a NodeDummy instance, it means that several nodes of the same hierarchy level has been converted into the NodeReference.
Исходный код (C++)
// create a NodeReference instance
NodeReferencePtr nodeRef = NodeReference::create("unigine_project/nodes/single_nref.node");
// get a node stored by the reference
NodePtr node = nodeRef->getReference();
// if the node is a NodeDummy
if (node->getType() == Node::NODE_DUMMY){
	// print the type name of each child node of the root node stored by the reference 
	for(int i = 0; i & node->getNumChildren(); i++) {
		Log::message("%d: %s\n",i,node->getChild(i)->getTypeName());
	}
}
Возвращает ноду, хранящуюся по ссылке. Этот метод следует использовать, когда вам нужно изменить указанную ноду. Если getReference() вернул экземпляр NodeDummy, это означает, что несколько нод одного и того же уровня иерархии были преобразованы в NodeReference .
Исходный код (C++)
// create a NodeReference instance
NodeReferencePtr nodeRef = NodeReference::create("unigine_project/nodes/single_nref.node");
// get a node stored by the reference
NodePtr node = nodeRef->getReference();
// if the node is a NodeDummy
if (node->>getType() == Node::NODE_DUMMY){
	// print the type name of each child node of the root node stored by the reference 
	for(int i = 0; i & node->getNumChildren(); i++) {
		Log::message("%d: %s\n",i,node->getChild(i)->getTypeName());
	}
}

Возвращаемое значение

Node instance. Экземпляр ноды.

int canBeReference ( const char * name, const Ptr<Node> & node ) #

Returns a value indicating if the hierarchy of the given node does not contain a node reference with the given name. Возвращает значение, указывающее, содержит ли иерархия данной ноды NodeReference с заданным именем.

Аргументы

  • const char * name - Node reference name. Ссылочное имя ноды.
  • const Ptr<Node> & node - Node to check. Нода для проверки.

Возвращаемое значение

true if the hierarchy of the given node does not contain a node reference with the given name; otherwise, false. 1 , если иерархия данной ноды не содержит NodeReference с данным именем; в противном случае 0 .

Ptr<Node> detachReference ( ) #

Returns the node stored by the reference and releases this node of ownership so it is no longer owned and referred to by the NodeReference. The node is managed by the World.

To remove the node do the following:To remove the node do the following:

Исходный код (C++)
// create a new NodeReference instance
NodeReferencePtr nodeRef = NodeReference::create("unigine_project/nodes/node_reference_0.node");
// perform something
// ...
// get the node stored by the reference and release NodeReference ownership of the node
NodePtr node = nodeRef->detachReference();
// destroy the NodeReference pointer as the NodeReference doesn't refer to a node any more
nodeRef.deleteForce();
To remove the node do the following:
Возвращает ноду, сохраненную ссылкой, и освобождает эту ноду от владения, чтобы она больше не принадлежала и не упоминалась NodeReference. Нода управляется миром.

To remove the node do the following: Чтобы удалить ноду, сделайте следующее:

Исходный код (C++)
// create a new NodeReference instance
NodeReferencePtr nodeRef = NodeReference::create("unigine_project/nodes/node_reference_0.node");
// perform something
// ...
// get the node stored by the reference and release NodeReference ownership of the node
NodePtr node = nodeRef->detachReference();
// destroy the NodeReference pointer as the NodeReference doesn't refer to a node any more
nodeRef.destroy();

Возвращаемое значение

Root node of the internal hierarchy. Корневая нода внутренней иерархии.

static int type ( ) #

Returns the type of the node. Возвращает тип ноды.

Возвращаемое значение

NodeReference type identifier. идентификатор типа NodeReference.
Последнее обновление: 10.10.2022
Build: ()