AuboStudio SDK  0.6.3
arcs::aubo_scope::ProgramModel类 参考

\chinese 程序模型 更多...

#include <program_model.h>

Public 成员函数

 ProgramModel (ProgramModel &f)
 ProgramModel (ProgramModel &&f)
virtual ~ProgramModel ()
ProgramNodeFactoryPtr getProgramNodeFactory ()
 \chinese 返回一个 ProgramNodeFactory 用于创建程序节点。
TreeNodePtr getTreeNode (ProgramNodeContribution *root)
 \chinese 从 ProgramNodeContribution 获取 TreeNode 根节点。从这里可以添加子节点 以形成子树。

Private 成员函数

 ProgramModel ()

Private 属性

void * d_ { nullptr }

友元

class DataSwitch

详细描述

\chinese 程序模型

概述

此接口使得修改 AuboStudio 插件的子树成为可能。树的结构与节点的内容相分离。 TreeNode 接口关注树的结构,而 ProgramNode 接口处理树节点的具体内容。

程序修改入门

ProgramModel 包含:

TreeNode 接口支持节点的插入和删除。使用它可以获取特定节点的子节点列表。对树节点 调用 lockChildSequence 会锁定该节点下的直接子节点。即终端用户无法重新排列、删除 子节点或将其他节点插入到子节点序列中。 \endchinese \english ProgramModel

Summary

This interface makes it possible to modify sub-trees of aubo_studio plugins. The structure of trees is separated from the contents of the nodes. The TreeNode interface is concerned with the structure of trees whereas the ProgramNode interface deals with the concrete content of the nodes of the tree.

Getting started with program modification

A ProgramModel contains a:

  • getProgramNodeFactory() - that makes it possible to create new program nodes (both built-in AuboScope nodes and AuboCap program nodes).
  • getRootTreeNode(ProgramNodeContribution root)} - returns the sub-tree of a given AuboCap ProgramNodeContribution

The TreeNode interface supports insertion and removal of nodes. With it you can retrieve the list of children of particular nodes. Calling lockChildSequence on a tree node, locks the immediate children under the node. I.e. children can not be rearranged, deleted or have other nodes inserted into the child sequence by the end user. \endenglish

在文件 program_model.h58 行定义.

构造及析构函数说明

◆ ProgramModel() [1/3]

arcs::aubo_scope::ProgramModel::ProgramModel ( ProgramModel & f)

引用了 ProgramModel().

被这些函数引用 ProgramModel() , 以及 ProgramModel().

函数调用图:
这是这个函数的调用关系图:

◆ ProgramModel() [2/3]

arcs::aubo_scope::ProgramModel::ProgramModel ( ProgramModel && f)

引用了 ProgramModel().

函数调用图:

◆ ~ProgramModel()

virtual arcs::aubo_scope::ProgramModel::~ProgramModel ( )
virtual

◆ ProgramModel() [3/3]

arcs::aubo_scope::ProgramModel::ProgramModel ( )
private

成员函数说明

◆ getProgramNodeFactory()

ProgramNodeFactoryPtr arcs::aubo_scope::ProgramModel::getProgramNodeFactory ( )

\chinese 返回一个 ProgramNodeFactory 用于创建程序节点。

返回
用于创建程序节点的工厂 \endchinese \english This method returns a ProgramNodeFactory to create program nodes.
the factory to create program nodes. \endenglish

◆ getTreeNode()

TreeNodePtr arcs::aubo_scope::ProgramModel::getTreeNode ( ProgramNodeContribution * root)

\chinese 从 ProgramNodeContribution 获取 TreeNode 根节点。从这里可以添加子节点 以形成子树。

参数
root要作为子树根的 AuboCap 程序节点
返回
TreeNode 根节点 \endchinese \english Gets the TreeNode root from ProgramNodeContribution. From here, children can be added to form a sub-tree.
参数
rootThe AuboCap program node where a sub-tree is to be rooted.
返回
Returns a TreeNode root. \endenglish

◆ DataSwitch

friend class DataSwitch
friend

在文件 program_model.h98 行定义.

引用了 DataSwitch.

被这些函数引用 DataSwitch.

类成员变量说明

◆ d_

void* arcs::aubo_scope::ProgramModel::d_ { nullptr }
private

在文件 program_model.h100 行定义.


该类的文档由以下文件生成: