cdm/src/main/java/ucar/ma2/ArrayStructure.java
public ArrayStructure getArrayStructure(int recnum, StructureMembers.Member m) {
    if ((m.getDataType() != DataType.STRUCTURE) && (m.getDataType() != DataType.SEQUENCE))
      throw new IllegalArgumentException("Type is " + m.getDataType() + ", must be Structure or Sequence");

    if (m.getDataType() == DataType.SEQUENCE)
      return getArraySequence(recnum, m);

    ArrayStructure array = (ArrayStructure) m.getDataArray();
    int count = m.getSize();
    StructureData[] this_sdata = new StructureData[count];
    for (int i = 0; i < count; i++)
      this_sdata[i] = array.getStructureData(recnum * count + i);

    // make a copy of the members, but remove the data arrays, since the structureData must be used instead
    StructureMembers membersw = new StructureMembers(array.getStructureMembers());
    return new ArrayStructureW(membersw, m.getShape(), this_sdata);
  }
public ArrayStructure getArrayStructure(int recnum, StructureMembers.Member m) {
    if ((m.getDataType() != DataType.STRUCTURE) && (m.getDataType() != DataType.SEQUENCE))
      throw new IllegalArgumentException("Type is " + m.getDataType() + ", must be Structure or Sequence");

    if (m.getDataType() == DataType.SEQUENCE)
      return getArraySequence(recnum, m);

    ArrayStructure array = (ArrayStructure) m.getDataArray();
    int count = m.getSize();
    StructureData[] this_sdata = new StructureData[count];
    for (int i = 0; i < count; i++)
      this_sdata[i] = array.getStructureData(recnum * count + i);

    // make a copy of the members, but remove the data arrays, since the structureData must be used instead
    StructureMembers membersw = new StructureMembers(array.getStructureMembers());
    return new ArrayStructureW(membersw, m.getShape(), this_sdata);
  }
public ArrayStructure getArrayStructure ( int recnum , StructureMembers . Member m ) { if ( ( m . getDataType ( ) != DataType . STRUCTURE ) && ( m . getDataType ( ) != DataType . SEQUENCE ) ) throw new IllegalArgumentException ( "Type is " + m . getDataType ( ) + ", must be Structure or Sequence" ) ; if ( m . getDataType ( ) == DataType . SEQUENCE ) return getArraySequence ( recnum , m ) ; ArrayStructure array = ( ArrayStructure ) m . getDataArray ( ) ; int count = m . getSize ( ) ; StructureData [ ] this_sdata = new StructureData [ count ] ; for ( int i = 0 ; i < count ; i ++ ) this_sdata [ i ] = array . getStructureData ( recnum * count + i ) ; // make a copy of the members, but remove the data arrays, since the structureData must be used instead
 StructureMembers membersw = new StructureMembers ( array . getStructureMembers ( ) ) ; return new ArrayStructureW ( membersw , m . getShape ( ) , this_sdata ) ; }
Get member data of type array of Structure.

@param recnum get data from the recnum-th StructureData of the ArrayStructure. Must be less than getSize();
@param m      get data from this StructureMembers.Member. Must be of type Structure.
@return nested ArrayStructure.
Get member data of type array of Structure .