## PortGroupCollection

### Introduced

v4.0

### Description

A collection of PortGroup objects that represent the port groups defined by an Operator object. This collection is 0-based.

### Methods

Filter | Find | GetAsText |

### Properties

Count | Item |  |

### Examples

#### JScript Example

    // This example illustrates how to browse the port groups
    // of an operator.
    newscene( null, false );
    CreatePrim("Cylinder", "MeshSurface", null, null);
    var col = ApplyOp("Shear", "cylinder", 3, siPersistentOperation);
    var op = col(0);
    dump_portgroups(op);
    function dump_portgroups(op)
    {
            if ( ! op.belongsto("Operators") )
                    return;
            var ePortGroups = new Enumerator(op.portgroups);
            for ( ; ! ePortGroups.atEnd(); ePortGroups.moveNext() )
            {
                    var portgroup = ePortGroups.item();
                    var str = "";
                    str += "group name: " + portgroup.name;
                    str += ", type: " + portgroup.type;
                    str += ", parent: " + portgroup.parent;
                    str += ", index: " + portgroup.index;
                    str += ", flags: " + portgroup.flags;
                    str += ", min: " + portgroup.min;
                    str += ", max: " + portgroup.max;
                    str += ", filter: " + portgroup.filter;
                    str += ", pickprompt: " + portgroup.pickprompt;
                    str += ", optional: " + portgroup.isoptional();
                    str += ", branchgroup: " + portgroup.SupportsBranchGroup();
                    logmessage( str );
                    var ePorts = new Enumerator(portgroup.ports);
                    for ( ; ! ePorts.atEnd(); ePorts.moveNext() )
                    {
                            var port = ePorts.item();
                            dump_port(port);
                    }
            }
    }
    function dump_port(port)
    {
            var str = "";
            str += "port name: " + port.name;
            str += ", type: " + port.type;
            str += ", porttype: " + port.porttype;
            str += ", connected: " + port.isconnected;
            if ( port.isconnected)
                    str += ", target: " + port.target2;
            str += ", parent: " + port.parent;
            str += ", index: " + port.index;
            str += ", flags: " + port.flags;
            if ( port.type == "InputPort" )
                    str += ", optional: " + port.optional;
            if ( port.type == "OutputPort" )
                    str += ", created: " + port.created;
            str += ", branchgroup: " + port.BranchGroup;
            str += ", groupname: " + port.groupname;
            str += ", groupindex: " + port.groupindex;
            str += ", groupinstance: " + port.groupinstance;
            logmessage( str );
    }

### See Also

Operator.PortGroups