# Class: oGroupNode

## $. oGroupNode

$.oGroupNode is a subclass of $.oNode and implements the same methods and properties as $.oNode.
It represents groups in the scene. From this class, it's possible to add nodes, and backdrops, import files and templates into the group.

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

openHarmony/openHarmony_node.js, line 2033
  Constructor for the $.oGroupNode class

  Name | Type | Description
  --- | --- | ---
  `path` | string | Path to the node in the network.
  `oSceneObject` | oScene | Access to the oScene object of the DOM.

  ##### Example

      // to add a new node, grab the group it'll be created in first
      var doc = $.scn
      var sceneRoot = doc.root;                                              // grab the scene root group

      var myGroup = sceneRoot.addGrop("myGroup", false, false);              // create a group in the scene root, with a peg and composite but no nodes
      var MPO = myGroup.multiportOut;                                        // grab the multiport in of the group

      var myNode = myGroup.addDrawingNode("myDrawingNode");                  // add a drawing node inside the group
      myNode.linkOutNode(MPO);                                               // link the newly created node to the multiport
      myNode.centerAbove(MPO);

      var sceneComposite = doc.$node("Top/Composite");                       // grab the scene composite node
      myGroup.linkOutNode(sceneComposite);                                   // link the group to it

      myGroup.centerAbove(sceneComposite);

### 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");

#### readonlybackdropsArray.<$.oBackdrop>

  All the backdrops contained within the group.

#### readonlyboundsoBox

  The bounds of the node.

#### readonlycanCreateInPortsbool

  Whether the node can create new in-ports.

#### readonlycanCreateOutPortsbool

  Whether the node can create new out-ports.

#### 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?

#### readonlymultiportIn$.oNode

  The multiport in node of the group.

#### readonlymultiportOut$.oNode

  The multiport out node of the group.

#### namestring

  The node's name.

#### nodePositionoPoint

  The position of the node.

#### readonlynodesArray.<$.oNode>

  All the nodes contained within the group, one level deep.

#### 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

#### $node(name){$.oNode}

openHarmony/openHarmony_node.js, line 2126
  Returns a child node in a group based on a search.

  Name | Type | Description
  --- | --- | ---
  `name` | string | The name of the node.

  ##### Returns:

  Type | Description
  --- | ---
  $.oNode | The node, or null if can't be found.

#### addBackdrop(title, body, color, x, y, width, height){$.oBackdrop}

openHarmony/openHarmony_node.js, line 2507
  Adds a backdrop to a group in a specific position.

  Name | Type | Default | Description
  --- | --- | --- | ---
  `title` | string | "Backdrop" | optional The title of the backdrop.
  `body` | string | "" | optional The body text of the backdrop.
  `color` | $.oColorValue | "#323232ff" | optional The oColorValue of the node.
  `x` | float | 0 | optional The X position of the backdrop, an offset value if nodes are specified.
  `y` | float | 0 | optional The Y position of the backdrop, an offset value if nodes are specified.
  `width` | float | 30 | optional The Width of the backdrop, a padding value if nodes are specified.
  `height` | float | 30 | optional The Height of the backdrop, a padding value if nodes are specified.

  ##### Returns:

  Type | Description
  --- | ---
  $.oBackdrop | The created backdrop.

#### addBackdropToNodes(nodes, title, body, color, x, y, width, height){$.oBackdrop}

openHarmony/openHarmony_node.js, line 2588
  Adds a backdrop to a group around specified nodes

  Name | Type | Default | Description
  --- | --- | --- | ---
  `nodes` | Array.<$.oNode> |  | The nodes that the backdrop encompasses.
  `title` | string | "Backdrop" | optional The title of the backdrop.
  `body` | string | "" | optional The body text of the backdrop.
  `color` | $.oColorValue | #323232ff | optional The oColorValue of the node.
  `x` | float | 0 | optional The X position of the backdrop, an offset value if nodes are specified.
  `y` | float | 0 | optional The Y position of the backdrop, an offset value if nodes are specified.
  `width` | float | 20 | optional The Width of the backdrop, a padding value if nodes are specified.
  `height` | float | 20 | optional The Height of the backdrop, a padding value if nodes are specified.

  ##### Returns:

  Type | Description
  --- | ---
  $.oBackdrop | The created backdrop.

  ##### Example

      function createColoredBackdrop(){
       // This script will prompt for a color and create a backdrop around the selection
       $.beginUndo()

       var doc = $.scn; // grab the scene
       var nodes = doc.getSelectedNodes(); // grab the selection

       if(!nodes) return    // exit the function if no nodes are selected

       var color = pickColor(); // prompt for color

       var group = nodes[0].group // get the group to add the backdrop to
       var backdrop = group.addBackdropToNodes(nodes, "BackDrop", "", color)

       $.endUndo();

       // function to get the color chosen by the user
       function pickColor(){
         var d = new QColorDialog;
         d.exec();
         var color = d.selectedColor();
         return new $.oColorValue({r:color.red(), g:color.green(), b:color.blue(), a:color.alpha()})
       }
      }

#### addDrawingNode(name, nodePosition, element, drawingColumn){$.oNode}

openHarmony/openHarmony_node.js, line 2332
  Adds a drawing layer to the group, with a drawing column and element linked. Possible to specify the column and element to use.

  Name | Type | Default | Description
  --- | --- | --- | ---
  `name` | string |  | The name of the newly created node.
  `nodePosition` | $.oPoint | {0,0,0} | optional The position for the node to be placed in the network.
  `element` | $.object |  | optional The element to attach to the column.
  `drawingColumn` | object |  | optional The column to attach to the drawing module.

  ##### Returns:

  Type | Description
  --- | ---
  $.oNode | The created node, or bool as false.

#### addGroup(name, addComposite, addPeg, includeNodes, nodePosition){$.oGroupNode}

openHarmony/openHarmony_node.js, line 2365
  Adds a new group to the group, and optionally move the specified nodes into it.

  Name | Type | Default | Description
  --- | --- | --- | ---
  `name` | string |  | The name of the newly created group.
  `addComposite` | $.oPoint | false | optional Whether to add a composite.
  `addPeg` | bool | false | optional Whether to add a peg.
  `includeNodes` | Array.<$.oNode> |  | optional The nodes to add to the group.
  `nodePosition` | $.oPoint | {0,0,0} | optional The position for the node to be placed in the network.

  ##### Returns:

  Type | Description
  --- | ---
  $.oGroupNode | The created node, or bool as false.

#### addInPort(portNum){int}

openHarmony/openHarmony_node.js, line 2172
  Creates an in-port on top of a group

  Name | Type | Description
  --- | --- | ---
  `portNum` | int | The port number where a port will be added

  ##### Returns:

  Type | Description
  --- | ---
  int | The number of the created port in case the port specified was not correct (for example larger than the current number of ports + 1)

#### addNode(type, name, nodePosition){$.oNode}

openHarmony/openHarmony_node.js, line 2281
  Adds a node to the group.

  Name | Type | Default | Description
  --- | --- | --- | ---
  `type` | string |  | The type-name of the node to add.
  `name` | string | type | optional The name of the newly created node.
  `nodePosition` | $.oPoint | {0,0,0} | optional The position for the node to be placed in the network.

  ##### Returns:

  Type | Description
  --- | ---
  $.oNode | The created node, or bool as false.

  ##### Example

      // to add a node, simply call addNode on the group you want the node to be added to.
      var sceneRoot = $.scn.root; // grab the scene root group ("Top")

      var peg = sceneRoot.addNode("PEG", "MyNewlyCreatedPeg");           // adding a peg

      // Now we'll also create a drawing node to connect under the peg
      var sceneComposite = $.scn.getNodeByPath("Top/Composite");         // can also use $.scn.$node("Top/Composite") for shorter synthax

      var drawingNode = sceneRoot.addDrawingNode("myNewDrawingNode");
      drawingNode.linkOutNode(sceneComposite);
      drawingNode.can_animate = false                // setting some attributes on the newly created Node

      peg.linkOutNode(drawingNode);

      //through all this we didn't specify nodePosition parameters so we'll sort evertything at once

      sceneRoot.orderNodeView();

      // we can also do:

      peg.centerAbove(drawingNode);

#### 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 );

#### addOutPort(portNum){int}

openHarmony/openHarmony_node.js, line 2196
  Creates an out-port at the bottom of a group. For some reason groups can have many unconnected in-ports but only one unconnected out-port.

  Name | Type | Description
  --- | --- | ---
  `portNum` | int | optional The port number where a port will be added

  ##### Returns:

  Type | Description
  --- | ---
  int | The number of the created port in case the port specified was not correct (for example larger than the current number of ports + 1)

#### 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.

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

openHarmony/openHarmony_node.js, line 2159
  Gets all children of the group.

  Name | Type | Default | Description
  --- | --- | --- | ---
  `recurse` | bool | false | optional Whether to recurse the groups within the groups.

  ##### Returns:

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

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

openHarmony/openHarmony_node.js, line 2219
  Gets all children of the group.

  Name | Type | Default | Description
  --- | --- | --- | ---
  `recurse` | bool | false | optional Whether to recurse the groups within the groups.

  ##### Returns:

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

#### 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

#### getNodeByName(name){$.oNode}

openHarmony/openHarmony_node.js, line 2113
  Returns a node from within a group based on its name.

  Name | Type | Description
  --- | --- | ---
  `name` | string | The name of the node.

  ##### Returns:

  Type | Description
  --- | ---
  $.oNode | The node, or null if can't be found.

#### 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

#### importImage(path, alignment, nodePosition){Array.<$.oNode>}

openHarmony/openHarmony_node.js, line 2890
  Import a generic image format (PNG, JPG, TGA etc) as a read node.

  Name | Type | Default | Description
  --- | --- | --- | ---
  `path` | string |  | The image file to import.
  `alignment` | string | "ASIS" | optional Alignment type.
  `nodePosition` | $.oPoint | {0,0,0} | optional The position for the node to be placed in the node view.

  ##### Returns:

  Type | Description
  --- | ---
  Array.<$.oNode> | The nodes that have been updated/created

#### importPSD(path, separateLayers, addPeg, addComposite, alignment, nodePosition){Array.<$.oNode>}

openHarmony/openHarmony_node.js, line 2645
  Imports a PSD into the group.

  Name | Type | Default | Description
  --- | --- | --- | ---
  `path` | string |  | The PSD file to import.
  `separateLayers` | bool | true | optional Separate the layers of the PSD.
  `addPeg` | bool | true | optional Whether to add a peg.
  `addComposite` | bool | true | optional Whether to add a composite.
  `alignment` | string | "ASIS" | optional Alignment type.
  `nodePosition` | $.oPoint | {0,0,0} | optional The position for the node to be placed in the node view.

  ##### Returns:

  Type | Description
  --- | ---
  Array.<$.oNode> | The nodes being created as part of the PSD import.

  ##### Example

      // This example browses for a PSD file then import it in the root of the scene, then connects it to the main composite.

      function importCustomPSD(){
        $.beginUndo("importCustomPSD");
        var psd = $.dialog.browseForFile("get PSD", "*.psd");       // prompt for a PSD file

        if (!psd) return;                                           // dialog was cancelled, exit the function

        var doc = $.scn;                                            // get the scene object
        var sceneRoot = doc.root                                    // grab the scene root group
        var psdNodes = sceneRoot.importPSD(psd);                    // import the psd with default settings
        var psdComp = psdNodes.pop()                                // get the composite node at the end of the psdNodes array
        var sceneComp = doc.$node("Top/Composite")                  // get the scene main composite
        psdComp.linkOutNode(sceneComp);                             // ... and link the two.
        sceneRoot.orderNodeView();                                  // orders the node view inside the group
        $.endUndo();
      }

#### importQT(path, importSound, extendScene, alignment, nodePosition){$.oNode}

openHarmony/openHarmony_node.js, line 2939
  Imports a QT into the group

  Name | Type | Description
  --- | --- | ---
  `path` | string | The palette file to import.
  `importSound` | bool | Whether to import the sound
  `extendScene` | bool | Whether to extend the scene to the duration of the QT.
  `alignment` | string | Alignment type.
  `nodePosition` | $.oPoint | The position for the node to be placed in the network.

  ##### Returns:

  Type | Description
  --- | ---
  $.oNode | The imported Quicktime Node.

#### importTemplate(tplPath, destinationNodes, extendScene, nodePosition, pasteOptions){Array.<$.oNode>}

openHarmony/openHarmony_node.js, line 2456
  Imports the specified template into the scene.

  Name | Type | Default | Description
  --- | --- | --- | ---
  `tplPath` | string |  | The path of the TPL file to import.
  `destinationNodes` | Array.<$.oNode> | false | optional The nodes affected by the template.
  `extendScene` | bool | true | optional Whether to extend the exposures of the content imported.
  `nodePosition` | $.oPoint | {0,0,0} | optional The position to offset imported new nodes.
  `pasteOptions` | object |  | optional An object containing paste options as per Harmony's standard paste options.

  ##### Returns:

  Type | Description
  --- | ---
  Array.<$.oNode> | The resulting pasted nodes.

#### 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.

#### orderNodeView(recurse)

openHarmony/openHarmony_node.js, line 2229
  Sorts out the node view inside the group

  Name | Type | Default | Description
  --- | --- | --- | ---
  `recurse` | bool | false | optional Whether to recurse the groups within the groups.

#### 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.

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

openHarmony/openHarmony_node.js, line 2137
  Gets all the nodes contained within the group.

  Name | Type | Default | Description
  --- | --- | --- | ---
  `recurse` | bool | false | optional Whether to recurse the groups within the groups.

  ##### Returns:

  Type | Description
  --- | ---
  Array.<$.oNode> | The nodes 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.

#### updatePSD(path, separateLayers){Array.<$.oNode>}

openHarmony/openHarmony_node.js, line 2747
  Updates a PSD previously imported into the group

  Name | Type | Default | Description
  --- | --- | --- | ---
  `path` | string |  | The updated psd file to import.
  `separateLayers` | bool | true | optional Separate the layers of the PSD.

  ##### Returns:

  Type | Description
  --- | ---
  Array.<$.oNode> | The nodes that have been updated/created