# IRfEncapsulatorSet Interface Reference

Inherits IUnknown.

List of all members.

## Public Member Functions
HRESULT | Attach ([in] IRsNode *pNode)
HRESULT | GetOwner ([out, retval] IRnEncapsulator **ppEncaps)
HRESULT | RemoveFromSpace ([in] IRsNode *pNode)
HRESULT | ExportConnector ([in] IRsConnector *pCon,[in] RtBool bConnect,[in] RtBool bSetValue,[in] RtBool bOutside,[out, retval] IRsConnector **ppExpCon)
HRESULT | IsInSubSpace ([in]IRsNode *pNode,[out] RtLong *pDepth)
HRESULT | MoveSubSpaceContent ([in]IRnEncapsulator *pSourceEncaps)
HRESULT | ClearContent (void)
HRESULT | EncapsulateObjects ([in] BSTR bstrName,[in] IRsObjectList *pObjList,[out] IRsNode **ppNewEncaps,[out] IRnEncapsulator **ppRootEncaps)
HRESULT | ExportDirectConnections (void)
HRESULT | DeleteDirectConnections (IRsNode *pDstNode)
HRESULT | Unencapsulate ([in] IRsNode *pEncapsNode)

## Detailed Description

This function set provides helper functions for operations on encapsulators.

Function set with auxiliary functions for encapsulator node.

## Member Function Documentation

HRESULT IRfEncapsulatorSet::Attach | ( | [in] IRsNode * | pNode | ) |

Attaches the fn set to specified node.

Parameters:

  | pNode | [in] Name of node to attach fn-set to.

HRESULT IRfEncapsulatorSet::GetOwner | ( | [out, retval] IRnEncapsulator ** | ppEncaps | ) |

Returns owner node of currently attached node.

Returns:
  ppEncaps [out,retval] interface of owner node, NULL if object does not have owner

HRESULT IRfEncapsulatorSet::RemoveFromSpace | ( | [in] IRsNode * | pNode | ) |

Removes specified node from encapsulator.

- Only the CON_ENCAPS_OWNER connection can exist.
- Other connectors must be disconnected.

Parameters:

  | pNode | [in] Name of node to remove.

Returns:
  S_FALSE if node still has some connections active.

HRESULT IRfEncapsulatorSet::ExportConnector | ( | [in] IRsConnector * | pCon,
|  | [in] RtBool | bConnect,
|  | [in] RtBool | bSetValue,
|  | [in] RtBool | bOutside,
|  | [out, retval] IRsConnector ** | ppExpCon |
| ) |  |  |

Exports connector to outer boundary of attached encapsulator.

Parameters:

  | pCon | [in] Connector to export.
  | bConnect | [in] If true, also connect original connector to connector just created on encapsulator.
  | bSetValue | [in] If true, also transfer value from exported to new connector.
  | bOutside | [in] If true, then the CONFLG_OUT and CONFLG_IN are changed for the connector. If false, then the same flags as on the exporting connector are used. always use bOutside = false if you export from node which is a child of the encapsulator ( node is inside the encapsulator). use bOutside = true if the node is not inside encapsulator

Returns:
  ppExpCon [out,retval] Pointer to exported connector to be filled.

HRESULT IRfEncapsulatorSet::IsInSubSpace | ( | [in] IRsNode * | pNode,
|  | [out] RtLong * | pDepth |
| ) |  |  |

Determines if specified node lies in attached encapsulator.

Parameters:

  | pNode | [in] Node to examine.
  | pDepth | [out] Detected depth of node. Set to -1 if node not in encapsulator's subspace.

HRESULT IRfEncapsulatorSet::MoveSubSpaceContent | ( | [in] IRnEncapsulator * | pSourceEncaps | ) |

Move nodes from provided encapsulator to attached.

Parameters:

  | pSourceEncaps | [in] Source encapsulator.

HRESULT IRfEncapsulatorSet::ClearContent | ( | void |  | ) |

Removes contents of attached encapsulator leaving it blank.

HRESULT IRfEncapsulatorSet::EncapsulateObjects | ( | [in] BSTR | bstrName,
|  | [in] IRsObjectList * | pObjList,
|  | [out] IRsNode ** | ppNewEncaps,
|  | [out] IRnEncapsulator ** | ppRootEncaps |
| ) |  |  |

Encapsulates specified list of nodes into one encapsulator, giving it specified name.

Parameters:

  | bstrName | [in] Name for new encapsulator.
  | pObjList | [in] List of objects to encapsulate.
  | ppNewEncaps | [out] Pointer to created encapsulator.
  | ppRootEncaps | [out] Pointer to original encapsulator of objects which have been encapsulated (new encapsulator is a child of it).

HRESULT IRfEncapsulatorSet::ExportDirectConnections | ( | void |  | ) |

If there are any connections between objects inside encapsulator and
objects which are siblings of encapsulator, connectors on encapsulator boundary are created for them.

HRESULT IRfEncapsulatorSet::DeleteDirectConnections | ( | IRsNode * | pDstNode | ) |

Remove all direct connections between attached encapsulator and provided node.
Inner nodes of pDstNodes are not checked.

Parameters:

  | pDstNode | [in] specifies a node outside of attached encapsulator.

HRESULT IRfEncapsulatorSet::Unencapsulate | ( | [in] IRsNode * | pEncapsNode | ) |

Unencapsulates particular node.

Parameters:

  | pEncapsNode | [in] Encapsulator node to unencapsulate.