message: trace iterator tweak
diff: @@ -98,7 +98,7 @@ export class AtomicPolymerTraceIterator implements Iterator<PolymerTraceElement>
  this.residueSegmentMax = index[this.unit.elements[polymerSegment.end - 1]]
  }
  - private getResidueIndex(residueIndex: ResidueIndex) {
  + private getElementIndex(residueIndex: ResidueIndex, atomRole: AtomRole) {
  if (residueIndex < this.residueSegmentMin) {
  const cyclicIndex = this.cyclicPolymerMap.get(this.residueSegmentMin)
  if (cyclicIndex !== undefined) {
  @@ -114,10 +114,6 @@ export class AtomicPolymerTraceIterator implements Iterator<PolymerTraceElement>
  residueIndex = this.residueSegmentMax
  }
  }
  - return residueIndex
  - }
  -
  - private getElementIndex(residueIndex: ResidueIndex, atomRole: AtomRole) {
  const elementIndex = getElementIndexForAtomRole(this.unit.model, residueIndex, atomRole)
  return elementIndex === -1 ? this.residueAtomSegments.offsets[residueIndex] : elementIndex
  }
  @@ -163,12 +159,12 @@ export class AtomicPolymerTraceIterator implements Iterator<PolymerTraceElement>
  value.moleculeType = getAtomicMoleculeType(this.unit.model, residueIndex)
  if (value.first) {
  - this.pos(this.p0, this.getElementIndex(this.getResidueIndex(residueIndex - 3 as ResidueIndex), 'trace'))
  - this.pos(this.p1, this.getElementIndex(this.getResidueIndex(residueIndex - 2 as ResidueIndex), 'trace'))
  - this.pos(this.p2, this.getElementIndex(this.getResidueIndex(residueIndex - 1 as ResidueIndex), 'trace'))
  + this.pos(this.p0, this.getElementIndex(residueIndex - 3 as ResidueIndex, 'trace'))
  + this.pos(this.p1, this.getElementIndex(residueIndex - 2 as ResidueIndex, 'trace'))
  + this.pos(this.p2, this.getElementIndex(residueIndex - 1 as ResidueIndex, 'trace'))
  this.pos(this.p3, value.center.element)
  - this.pos(this.p4, this.getElementIndex(this.getResidueIndex(residueIndex + 1 as ResidueIndex), 'trace'))
  - this.pos(this.p5, this.getElementIndex(this.getResidueIndex(residueIndex + 2 as ResidueIndex), 'trace'))
  + this.pos(this.p4, this.getElementIndex(residueIndex + 1 as ResidueIndex, 'trace'))
  + this.pos(this.p5, this.getElementIndex(residueIndex + 2 as ResidueIndex, 'trace'))
  this.pos(this.v12, this.getElementIndex(residueIndex - 1 as ResidueIndex, 'direction'))
  } else {
  @@ -181,7 +177,7 @@ export class AtomicPolymerTraceIterator implements Iterator<PolymerTraceElement>
  Vec3.copy(this.v12, this.v23)
  }
  - this.pos(this.p6, this.getElementIndex(this.getResidueIndex(residueIndex + 3 as ResidueIndex), 'trace'))
  + this.pos(this.p6, this.getElementIndex(residueIndex + 3 as ResidueIndex, 'trace'))
  this.pos(this.v23, this.getElementIndex(residueIndex, 'direction'))
  this.setControlPoint(value.p0, this.p0, this.p1, this.p2, residueIndex - 2 as ResidueIndex)
  