📄 pvaltree.h
字号:
* synH - Syntax tree to use
* Can be set to -1 if it will be supplied later (by pvtSetTree)
* value - Value of the root node, or length of the value if
* value is a string
* string - String value of the node, or NULL if not a string
* output : none
* return : Node id of the added root on success
* Negative value on failure
************************************************************************/
RVAPI RvPvtNodeId RVCALLCONV
pvtAddRoot(
IN HPVT valH,
IN HPST synH,
IN RvInt32 value,
IN const char* string);
/************************************************************************
* pvtAddRootByPath
* purpose: Adds a new node that constitutes the root of a new tree.
* input : valH - PVT handle to use
* synH - Syntax tree to use
* Can be set to -1 if it will be supplied later (by pvtSetTree)
* syntaxPath - A path separated by periods (for example, "a.b.c") that
* identifies the node of the Value Tree's syntax node.
* The path starts from the syntax handle root node
* value - Value of the root node, or length of the value if
* value is a string
* string - String value of the node, or NULL if not a string
* output : none
* return : Node id of the added root on success
* Negative value on failure
************************************************************************/
RVAPI RvPvtNodeId RVCALLCONV
pvtAddRootByPath(
IN HPVT valH,
IN HPST synH,
IN char* syntaxPath,
IN RvInt32 value,
IN char* string);
/************************************************************************
* pvtAdd
* purpose: Add child node under parentId.
* The new node is placed in its relative position according to syntax tree
* indexing of SEQUENCE fields of structure.
* input : valH - PVT handle to use
* parentId - The Node ID of the immediate parent of the new node.
* fieldId - The field ID returned by pstGetFieldId().
* If set to -1, it will be copied from the parent node.
* value - Value of the root node, or length of the value if
* value is a string
* string - String value of the node, or NULL if not a string
* output : index - The index of the added child (1-based)
* return : Node id of the added node on success
* Negative value on failure
************************************************************************/
RVAPI RvPvtNodeId RVCALLCONV
pvtAdd(
IN HPVT valH,
IN RvPvtNodeId parentId,
IN RvPstFieldId fieldId,
IN RvInt32 value,
IN const char* string,
OUT int* index);
/************************************************************************
* pvtAddTree
* purpose: Copies a sub-tree and places it under a specified parent in
* another sub-tree.
* input : destH - The handle returned by cmGetValTree() for the
* parent (destination).
* destNodeId - The Node ID of the parent (destination).
* The new sub-tree is placed under this node.
* srcH - The handle returned by cmGetValTree() for the
* source (copied sub-tree).
* srcNodeId - The ID of the root node of the source sub-tree.
* output : none
* return : Node id of the added node on success
* Negative value on failure
************************************************************************/
RVAPI RvPvtNodeId RVCALLCONV
pvtAddTree(
IN HPVT destH,
IN RvPvtNodeId destNodeId,
IN HPVT srcH,
IN RvPvtNodeId srcNodeId);
/************************************************************************
* pvtAddChilds
* purpose: Copies a sub-tree, excluding its root node, and places it under
* a specified parent.
* input : destH - The handle returned by cmGetValTree() for the
* parent (destination).
* destNodeId - The Node ID of the parent (destination).
* The new sub-tree is placed under this node.
* srcH - The handle returned by cmGetValTree() for the
* source (copied sub-tree).
* srcNodeId - The ID of the root node of the source sub-tree.
* output : none
* return : Non-negative value on success
* Negative value on failure
************************************************************************/
RVAPI int RVCALLCONV
pvtAddChilds(
IN HPVT destH,
IN RvPvtNodeId destNodeId,
IN HPVT srcH,
IN RvPvtNodeId srcNodeId);
/************************************************************************
* pvtDelete
* purpose: Deletes a sub-tree
* input : valH - PVT handle to use
* subTreeRootId - The ID of the root node to delete
* output : none
* return : Non-negative value on success
* Negative value on failure
************************************************************************/
RVAPI int RVCALLCONV
pvtDelete(
IN HPVT valH,
IN RvPvtNodeId subTreeRootId);
/************************************************************************
* pvtDeleteChilds
* purpose: Deletes the children of root node.
* input : valH - PVT handle to use
* subTreeRootId - The ID of the root node to delete
* output : none
* return : Non-negative value on success
* Negative value on failure
************************************************************************/
RVAPI int RVCALLCONV
pvtDeleteChilds(
IN HPVT valH,
IN RvPvtNodeId subTreeRootId);
/************************************************************************
* pvtDeleteAll
* purpose: Deletes all the nodes in a Value Tree.
* input : valH - PVT handle to use
* output : none
* return : Non-negative value on success
* Negative value on failure
************************************************************************/
RVAPI int RVCALLCONV
pvtDeleteAll(IN HPVT valH);
/************************************************************************
* pvtSetTree
* purpose: Copies a sub-tree from one Value Tree to another,
* overwriting the destination's tree
* input : destH - The handle returned by cmGetValTree() for the
* parent (destination).
* destNodeId - The Node ID of the destination sub-tree.
* The copied sub-tree overwrites this one
* srcH - The handle returned by cmGetValTree() for the
* source (copied sub-tree).
* srcNodeId - The ID of the root node of the source sub-tree.
* output : none
* return : Non-negative value on success
* Negative value on failure
************************************************************************/
RVAPI int RVCALLCONV
pvtSetTree(
IN HPVT destH,
IN RvPvtNodeId destNodeId,
IN HPVT srcH,
IN RvPvtNodeId srcNodeId);
/************************************************************************
* pvtMoveTree
* purpose: Moves a sub-tree to another location within the same Value Tree
* input : destH - The handle returned by cmGetValTree() for the
* parent (destination).
* destRootId - The ID of the root node to which the sub-tree is
* moved (destination root) - this node is overwritted.
* srcRootId - The ID of the root node to which the sub-tree
* belongs (source node).
* output : none
* return : Non-negative value on success
* Negative value on failure
************************************************************************/
RVAPI int RVCALLCONV
pvtMoveTree(
IN HPVT destH,
IN RvPvtNodeId destRootId,
IN RvPvtNodeId srcRootId);
/************************************************************************
* pvtShiftTree
* purpose: Moves a sub-tree to another location within the same Value Tree,
* without changing the value of the source handle.
* input : destH - The handle returned by cmGetValTree() for the
* parent (destination).
* destRootId - The ID of the root node to which the sub-tree
* is moved (destination root).
* srcRootId - The ID of the root node to which the sub-tree
* belongs (source node).
* output : none
* return : Non-negative value on success
* Negative value on failure
************************************************************************/
RVAPI int RVCALLCONV
pvtShiftTree(
IN HPVT destH,
IN RvPvtNodeId destRootId,
IN RvPvtNodeId srcRootId);
/************************************************************************
* pvtAdoptChild
* purpose: Moves the child of a specific tree to below a specific node in
* a different tree. This process is referred to as adopting a child
* input : valH - PVT handle to use
* adoptedChildId - The child you want to move
* newParentId - The node that you want to move the child under.
* This node becomes the root. If this is set to -1,
* then the node becomes a root
* newBrotherId - The node below the new root that you want the new
* child to follow. If -1, then the node is the first
* born.
* output : none
* return : Non-negative value on success
* Negative value on failure
************************************************************************/
RVAPI int RVCALLCONV
pvtAdoptChild(
IN HPVT valH,
IN RvPvtNodeId adoptedChildId,
IN RvPvtNodeId newParentId,
IN RvPvtNodeId newBrotherId);
/************************************************************************
* pvtGet
* purpose: Returns the value stored in a node (integer or a string) or an
* indication as to the type of the value
* input : valH - PVT handle to use
* nodeId - The ID of the node to check
* output : fieldId - The returned field ID of the node. You can then
* use the pstGetFieldName() function to obtain the field name
* synNodeId - The ID of the node in the Syntax Tree
* value - Value of the root node, or length of the value if
* value is a string
* isString - RV_TRUE if node contains a string - see pvtGetString()
* return : The node Id value on success
* Negative value on failure
************************************************************************/
RVAPI RvPvtNodeId RVCALLCONV
pvtGet(
IN HPVT valH,
IN RvPvtNodeId nodeId,
OUT RvPstFieldId* fieldId,
OUT RvPstNodeId* synNodeId,
OUT RvInt32* value,
OUT RvBool* isString);
/************************************************************************
* pvtGetString
* purpose: Returns the value stored in the node, if the value is of string type.
* input : valH - PVT handle to use
* nodeId - The ID of the node to check
* stringLength - The size of the buffer that will hold the returned value
* output : string - The return string value. This is a buffer allocated
* by the user to hold the string
* return : Actual string's length on success
* Negative value on failure
************************************************************************/
RVAPI RvInt32 RVCALLCONV
pvtGetString(
IN HPVT valH,
IN RvPvtNodeId nodeId,
IN RvInt32 stringLength,
OUT char* string);
/************************************************************************
* pvtGetBitString
* purpose: Returns the value stored in the node, if the value is of a bit string type.
* input : valH - PVT handle to use
* nodeId - The ID of the node to check
* stringLength - The size of the buffer that will hold the returned value
* The length is gien in bytes
* output : string - The return string value. This is a buffer allocated
* by the user to hold the string
* return : Actual string's length in bits on success
* Negative value on failure
************************************************************************/
RVAPI RvInt32 RVCALLCONV
pvtGetBitString(
IN HPVT valH,
IN RvPvtNodeId nodeId,
IN RvInt32 stringLength,
OUT char* string);
/************************************************************************
* pvtSet
* purpose: Modifies values in a node
* input : valH - PVT handle to use
* nodeId - The ID of the node to modify
* fieldId - The new field ID of the node.
* A negative value means no change in fieldId.
* value - Value of the root node, or length of the value if
* value is a string
* string - String value of the node, or NULL if not a string
* The string is allocated and stored in the PVT.
* output : none
* return : Non-negative value on success
* Negative value on failure
************************************************************************/
RVAPI int RVCALLCONV
pvtSet(
IN HPVT valH,
IN RvPvtNodeId nodeId,
IN RvPstFieldId fieldId,
IN RvInt32 value,
IN const char* string);
/************************************************************************
* pvtGetChild
* purpose: Returns the ID of a child node based on its field ID
* input : valH - PVT handle to use
* parentId - The Node ID of the immediate parent
* fieldId - The field ID of the node that the function is
* expected to locate
* output : childNodeId - The ID of the node that is found, or negative value on failure
* If set to NULL, it will be discarded
* return : Child's node id on success
* Negative value on failure
************************************************************************/
RVAPI RvPvtNodeId RVCALLCONV
pvtGetChild(
IN HPVT valH,
IN RvPvtNodeId parentId,
IN RvPstFieldId fieldId,
OUT RvPvtNodeId* childNodeId);
/************************************************************************
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -