# Class: oPegNode

## $. oPegNode

Peg Moudle Class

#### new $.oPegNode(path, oSceneObject)

openHarmony/openHarmony_node.js, line 1624
  The peg module base class for the node.

  Name | Type | Description
  --- | --- | ---
  `path` | string | Path to the node in the network.
  `oSceneObject` | oScene | Access to the oScene object of the DOM. The constructor for the scene object, new this.$.oScene($) to create a scene with DOM access.

### Extends

- $.oNode

### Members

#### readonlyattributesoAttribute

  An object containing all attributes of this node.

  ##### Example

      // You can get access to the actual oAttribute object for a node parameter by using the dot notation:

      var myNode = $.scn.$node("Top/Drawing")
      var drawingAttribute = myNode.attributes.drawing.element

      // from there, it's possible to set/get the value of the attribute, get the column, the attribute keyword etc.

      drawingAttribute.setValue ("1", 5);           // creating an exposure of drawing 1 at frame 5
      var drawingColumn = drawingAttribute.column;  // grabbing the column linked to the attribute that holds all the animation
      $.log(drawingAttribute.keyword);              // "DRAWING.ELEMENT"

      // for a more direct way to access an attribute, it's possible to also call:

      var drawingAttribute = myNode.getAttributeByName("DRAWING.ELEMENT");

#### readonlyboundsoBox

  The bounds of the node.

#### readonlycanCreateInPortsbool

  Whether the node can create new in-ports.

#### readonlycanCreateOutPortsbool

  Whether the node can create new out-ports.

#### childrenArray.<$.oNode>

  The $.oNode objects contained in this group. This is deprecated and was moved to oGroupNode
  Deprecated
    - Use oGroupNode.children instead.

#### enabledbool

  Is the node enabled?

#### existsbool

  Does the node exist?

#### fullPathstring

  The derived path to the node.
  Deprecated
    - use oNode.path instead

#### readonlygroupoGroupNode

  The group containing the node.

#### readonlyheightfloat

  The height of the node in the node view.

#### readonlyinLinksArray.<$.oNodeLink>

  The list of oNodeLinks objects descibing the connections to the inport of this node, in order of inport.

#### readonlyinNodesArray.<$.oNode>

  The list of nodes connected to the inport of this node, in order of inport.

#### readonlyinPortsint

  The number of link ports on top of the node, connected or not.

#### readonlyinsArray.<$.oNode>

  The list of nodes connected to the inport of this node, in order of inport.

#### isGroupbool

  Is the node a group?

#### readonlyisRootbool

  Is the node the root?

#### readonlylinkedColumnsArray.<oColumn>

  The linked columns associated with the node.

#### readonlylinkedInNodesArray.<$.oNode>

  The list of nodes connected to the inport of this node, as a flat list, in order of inport.

#### readonlylinkedOutNodesArray.<$.oNode>

  The list of nodes connected to the inport of this node, as a flat list, in order of inport.

#### lockedbool

  Is the node locked?

#### namestring

  The node's name.

#### nodePositionoPoint

  The position of the node.

#### readonlyoutLinksArray.<$.oNodeLink>

  The list of oNodeLinks objects descibing the connections to the outports of this node, in order of outport.

#### readonlyoutNodesArray.<Array.<$.oNode>>

  The list of nodes connected to the outports of this node

#### readonlyoutPortsint

  The number of link ports at the bottom of the node, connected or not.

#### readonlyoutsArray.<Array.<$.oNode>>

  The list of nodes connected to the outport of this node, in order of outport and links.

#### readonlyparent$.oNode

  The $.oNode object for the parent in which this node exists.

#### pathstring

  The derived path to the node.

#### selectedbool

  Is the node selected?

#### readonlytypestring

  The type of the node.

#### readonlywidthfloat

  The width of the node in the node view.

#### xfloat

  The horizontal position of the node in the node view.

#### yfloat

  The vertical position of the node in the node view.

#### zfloat

  The depth position of the node in the node view.

### Methods

#### inherited addOutLink(nodeToLink, ownPort, destPort){$.oNodeLink}

openHarmony/openHarmony_node.js, line 1517
  Creates an $.oNodeLink and connects this node to the target via this nodes outport.

  Name | Type | Description
  --- | --- | ---
  `nodeToLink` | oNode | The target node as an in node.
  `ownPort` | int | The out port on this node to connect to.
  `destPort` | int | The in port on the inNode to connect to.

  ##### Returns:

  Type | Description
  --- | ---
  $.oNodeLink | the resulting created link.

  ##### Example

      var peg1     = $.scene.getNodeByPath( "Top/Peg1" );
       var peg2     = $.scene.getNodeByPath( "Top/Group/Peg2" );
       var newLink  = peg1.addOutLink( peg2, 0, 0 );

#### inherited centerAbove(oNodeArray, xOffset, yOffset){oPoint}

openHarmony/openHarmony_node.js, line 1233
  Place a node above one or more nodes with an offset.

  Name | Type | Description
  --- | --- | ---
  `oNodeArray` | Array.<$.oNode> | The array of nodes to center this above.
  `xOffset` | float | The horizontal offset to apply after centering.
  `yOffset` | float | The vertical offset to apply after centering.

  ##### Returns:

  Type | Description
  --- | ---
  oPoint | The resulting position of the node.

#### inherited centerBelow(oNodeArray, xOffset, yOffset){oPoint}

openHarmony/openHarmony_node.js, line 1258
  Place a node below one or more nodes with an offset.

  Name | Type | Description
  --- | --- | ---
  `oNodeArray` | Array.<$.oNode> | The array of nodes to center this below.
  `xOffset` | float | The horizontal offset to apply after centering.
  `yOffset` | float | The vertical offset to apply after centering.

  ##### Returns:

  Type | Description
  --- | ---
  oPoint | The resulting position of the node.

#### inherited clone(newName, newPosition)

openHarmony/openHarmony_node.js, line 1307
  Create a clone of the node.

  Name | Type | Description
  --- | --- | ---
  `newName` | string | The new name for the cloned module.
  `newPosition` | oPoint | The new position for the cloned module.

#### inherited createAttribute(attrName, type, displayName, linkable){$.oAttribute}

openHarmony/openHarmony_node.js, line 1536
  Creates a new dynamic attribute in the node.

  Name | Type | Default | Description
  --- | --- | --- | ---
  `attrName` | string |  | The attribute name to create.
  `type` | string | "string" | optional The type of the attribute ["string", "bool", "double", "int"]
  `displayName` | string | attrName | optional The visible attribute name to the GUI user.
  `linkable` | bool | false | optional Whether the attribute can be linked to a column.

  ##### Returns:

  Type | Description
  --- | ---
  $.oAttribute | The resulting attribute created.

#### inherited duplicate(newName, newPosition)

openHarmony/openHarmony_node.js, line 1339
  Duplicates a node by creating an independent copy.

  Name | Type | Description
  --- | --- | ---
  `newName` | string | optional The new name for the duplicated node.
  `newPosition` | oPoint | optional The new position for the duplicated node.

#### inherited getAttributeByColumnName(columnName){oAttribute}

openHarmony/openHarmony_node.js, line 1435
  Provides a matching attribute based on the column name provided. Assumes only one match at the moment.

  Name | Type | Description
  --- | --- | ---
  `columnName` | string | The column name to search.

  ##### Returns:

  Type | Description
  --- | ---
  oAttribute | The matched attribute object, given the column name.

#### inherited getAttributeByName(keyword){oAttribute}

openHarmony/openHarmony_node.js, line 1399
  Provides a matching attribute based on provided keyword name. Keyword can include "." to get subattributes.

  Name | Type | Description
  --- | --- | ---
  `keyword` | string | The attribute keyword to search.

  ##### Returns:

  Type | Description
  --- | ---
  oAttribute | The matched attribute object, given the keyword.

#### inherited getFreeInPort(createNew){int}

openHarmony/openHarmony_node.js, line 894
  Returns a free unconnected in-port

  Name | Type | Default | Description
  --- | --- | --- | ---
  `createNew` | bool | true | optional Whether to allow creation of new ports

  ##### Returns:

  Type | Description
  --- | ---
  int | the port number that isn't connected

#### inherited getFreeOutPort(createNew){int}

openHarmony/openHarmony_node.js, line 1028
  Returns a free unconnected out-port

  Name | Type | Default | Description
  --- | --- | --- | ---
  `createNew` | bool | true | optional Whether to allow creation of new ports

  ##### Returns:

  Type | Description
  --- | ---
  int | the port number that isn't connected

#### inherited getInLink(inPort){$.oLink}

openHarmony/openHarmony_node.js, line 857
  Returns the oLink object representing the connection of a specific inPort

  Name | Type | Description
  --- | --- | ---
  `inPort` | int | the number of the port to get links from.

  ##### Returns:

  Type | Description
  --- | ---
  $.oLink | the oLink Object representing the link connected to the inport

#### inherited getInLinks(){Array.<$.oLink>}

openHarmony/openHarmony_node.js, line 876
  Returns all the valid oLink objects describing the links that are connected into this node.

  ##### Returns:

  Type | Description
  --- | ---
  Array.<$.oLink> | An array of $.oLink objects.

#### inherited getInLinksNumber(outPort)

openHarmony/openHarmony_node.js, line 846
  Returns the number of links connected to an in-port

  Name | Type | Description
  --- | --- | ---
  `outPort` | int | the number of the port to get links from.

#### inherited getLinkedInNode(inPort){$.oNode}

openHarmony/openHarmony_node.js, line 964
  Returns the node connected to a specific in-port

  Name | Type | Description
  --- | --- | ---
  `inPort` | int | the number of the port to get the linked Node from.

  ##### Returns:

  Type | Description
  --- | ---
  $.oNode | The node connected to this in-port

#### inherited getLinkedOutNode(outPort, outLink){$.oNode}

openHarmony/openHarmony_node.js, line 1091
  Returns the node connected to a specific outPort

  Name | Type | Default | Description
  --- | --- | --- | ---
  `outPort` | int |  | the number of the port to get the node from.
  `outLink` | int | 0 | optional the index of the link.

  ##### Returns:

  Type | Description
  --- | ---
  $.oNode | The node connected to this outPort and outLink

#### inherited getOutLink(outPort, outLink){$.oLink}

openHarmony/openHarmony_node.js, line 987
  Returns the $.oLink object representing the connection of a specific outPort / link

  Name | Type | Description
  --- | --- | ---
  `outPort` | int | the number of the port to get the link from.
  `outLink` | int | optional the index of the link.

  ##### Returns:

  Type | Description
  --- | ---
  $.oLink | The link object describing the connection

#### inherited getOutLinks(){Array.<$.oLink>}

openHarmony/openHarmony_node.js, line 1007
  Returns all the valid oLink objects describing the links that are coming out of this node.

  ##### Returns:

  Type | Description
  --- | ---
  Array.<$.oLink> | An array of $.oLink objects.

#### inherited getOutLinksNumber(outPort){int}

openHarmony/openHarmony_node.js, line 975
  Returns the number of links connected to an outPort

  Name | Type | Description
  --- | --- | ---
  `outPort` | int | the number of the port to get links from.

  ##### Returns:

  Type | Description
  --- | ---
  int | the number of links

#### inherited insertInNode(inPort, oNodeObject, inPortTarget, outPortTarget){bool}

openHarmony/openHarmony_node.js, line 1129
  Inserts the $.oNodeObject provided as an innode to this node, placing it between any existing nodes if the link already exists.

  Name | Type | Description
  --- | --- | ---
  `inPort` | int | This node's inport to connect.
  `oNodeObject` | $.oNode | The node to link this one's outport to.
  `inPortTarget` | int | The target node's inPort to connect.
  `outPortTarget` | int | The target node's outPort to connect.

  ##### Returns:

  Type | Description
  --- | ---
  bool | The result of the link, if successful.

#### inherited linkInNode(nodeToLink, ownPort, destPort, createPorts){bool}

openHarmony/openHarmony_node.js, line 918
  Links this node's inport to the given module, at the inport and outport indices.

  Name | Type | Description
  --- | --- | ---
  `nodeToLink` | $.oNode | The node to link this one's inport to.
  `ownPort` | int | optional This node's inport to connect.
  `destPort` | int | optional The target node's outport to connect.
  `createPorts` | bool | optional Whether to create new ports on the nodes.

  ##### Returns:

  Type | Description
  --- | ---
  bool | The result of the link, if successful.

#### inherited linkOutNode(nodeToLink, ownPort, destPort, createPorts){bool}

openHarmony/openHarmony_node.js, line 1053
  Links this node's out-port to the given module, at the inport and outport indices.

  Name | Type | Description
  --- | --- | ---
  `nodeToLink` | $.oNode | The node to link this one's outport to.
  `ownPort` | int | optional This node's outport to connect.
  `destPort` | int | optional The target node's inport to connect.
  `createPorts` | bool | optional Whether to create new ports on the nodes.

  ##### Returns:

  Type | Description
  --- | ---
  bool | The result of the link, if successful.

#### inherited moveToGroup(group)

openHarmony/openHarmony_node.js, line 1149
  Moves the node into the specified group. This doesn't create any composite or links to the multiport nodes. The node will be unlinked.

  Name | Type | Description
  --- | --- | ---
  `group` | oGroupNode | the group node to move the node into.

#### inherited placeAtCenter(oNodeArray, xOffset, yOffset){oPoint}

openHarmony/openHarmony_node.js, line 1284
  Place at center of one or more nodes with an offset.

  Name | Type | Description
  --- | --- | ---
  `oNodeArray` | Array.<$.oNode> | The array of nodes to center this below.
  `xOffset` | float | The horizontal offset to apply after centering.
  `yOffset` | float | The vertical offset to apply after centering.

  ##### Returns:

  Type | Description
  --- | ---
  oPoint | The resulting position of the node.

#### inherited refreshAttributes(oNodeObject){bool}

openHarmony/openHarmony_node.js, line 1588
  Refreshes/rebuilds the attributes and getter/setters.

  Name | Type | Description
  --- | --- | ---
  `oNodeObject` | $.oNode | The node to link this one's inport to.

  ##### Returns:

  Type | Description
  --- | ---
  bool | The result of the unlink.

#### inherited remove(deleteColumns, deleteElements){void}

openHarmony/openHarmony_node.js, line 1371
  Removes the node from the scene.

  Name | Type | Description
  --- | --- | ---
  `deleteColumns` | bool | Should the columns of drawings be deleted as well?
  `deleteElements` | bool | Should the elements of drawings be deleted as well?

  ##### Returns:

  Type | Description
  --- | ---
  void |

#### inherited removeAttribute(attrName){bool}

openHarmony/openHarmony_node.js, line 1577
  Removes an existing dynamic attribute in the node.

  Name | Type | Description
  --- | --- | ---
  `attrName` | string | The attribute name to remove.

  ##### Returns:

  Type | Description
  --- | ---
  bool | The result of the removal.

#### inherited subNodes(recurse){Array.<$.oNode>}

openHarmony/openHarmony_node.js, line 1211
  obtains the nodes contained in the group, allows recursive search. This method is deprecated and was moved to oGroupNode

  Name | Type | Description
  --- | --- | ---
  `recurse` | bool | Whether to recurse internally for nodes within children groups.

  Deprecated
    - Yes

  ##### Returns:

  Type | Description
  --- | ---
  Array.<$.oNode> | The subbnodes contained in the group.

#### inherited timelineIndex(timeline){int}

openHarmony/openHarmony_node.js, line 1198
  Retrieves the nodes index in the timeline provided.

  Name | Type | Description
  --- | --- | ---
  `timeline` | oTimeline | The timeline object to search the nodes index.

  ##### Returns:

  Type | Description
  --- | ---
  int | The index within that timeline.

#### inherited toString(){string}

openHarmony/openHarmony_node.js, line 1425
  Used in converting the node to a string value, provides the string-path.

  ##### Returns:

  Type | Description
  --- | ---
  string | The node path's as a string.

#### inherited unlinkInNode(oNodeObject){bool}

openHarmony/openHarmony_node.js, line 933
  Searches for and unlinks the $.oNode object from this node's inNodes.

  Name | Type | Description
  --- | --- | ---
  `oNodeObject` | $.oNode | The node to link this one's inport to.

  ##### Returns:

  Type | Description
  --- | ---
  bool | The result of the unlink.

#### inherited unlinkInPort(inPort){bool}

openHarmony/openHarmony_node.js, line 951
  Unlinks a specific port from this node's inport.

  Name | Type | Description
  --- | --- | ---
  `inPort` | int | The inport to disconnect.

  ##### Returns:

  Type | Description
  --- | ---
  bool | The result of the unlink, if successful.

#### inherited unlinkOutNode(oNodeObject){bool}

openHarmony/openHarmony_node.js, line 1068
  Links this node's out-port to the given module, at the inport and outport indices.

  Name | Type | Description
  --- | --- | ---
  `oNodeObject` | $.oNode | The node to unlink from this node's outports.

  ##### Returns:

  Type | Description
  --- | ---
  bool | The result of the link, if successful.

#### inherited unlinkOutPort(outPort, outLink){bool}

openHarmony/openHarmony_node.js, line 1105
  Unlinks a specific port/link from this node's output.

  Name | Type | Description
  --- | --- | ---
  `outPort` | int | The outPort to disconnect.
  `outLink` | int | The outLink to disconnect.

  ##### Returns:

  Type | Description
  --- | ---
  bool | The result of the unlink, if successful.