def addPathToGroup(derivation, groupDictionaryCopy, path, targetMatrix, totalIndex):
 for (pointIndex, point) in enumerate(path):
  arrayElement = derivation.target.getCopy(derivation.elementNode.getIDSuffix(totalIndex), derivation.elementNode)
  arrayDictionary = arrayElement.attributes
  arrayDictionary['visible'] = str(derivation.visible).lower()
  arrayDictionary.update(groupDictionaryCopy)
  euclidean.removeTrueFromDictionary(arrayDictionary, 'visible')
  vertexMatrix = matrix.Matrix(matrix.getTranslateTetragridByTranslation(point))
  zAngle = (totalIndex * 50.0)
  rotationMatrix = getRotationMatrix(arrayDictionary, derivation, path, point, pointIndex)
  arrayElementMatrix = vertexMatrix.getSelfTimesOther(rotationMatrix.getSelfTimesOther(targetMatrix.tetragrid).tetragrid)
  arrayDictionary.update(arrayElementMatrix.getAttributes('matrix.'))
  arrayDictionary['_arrayIndex'] = totalIndex
  arrayDictionary['_arrayPoint'] = point
  totalIndex += 1

def addPathToGroup ( derivation , groupDictionaryCopy , path , targetMatrix , totalIndex ) : for ( pointIndex , point ) in enumerate ( path ) : arrayElement = derivation . target . getCopy ( derivation . elementNode . getIDSuffix ( totalIndex ) , derivation . elementNode ) arrayDictionary = arrayElement . attributes arrayDictionary [ 'visible' ] = str ( derivation . visible ) . lower ( ) arrayDictionary . update ( groupDictionaryCopy ) euclidean . removeTrueFromDictionary ( arrayDictionary , 'visible' ) vertexMatrix = matrix . Matrix ( matrix . getTranslateTetragridByTranslation ( point ) ) zAngle = ( totalIndex * 50.0 ) rotationMatrix = getRotationMatrix ( arrayDictionary , derivation , path , point , pointIndex ) arrayElementMatrix = vertexMatrix . getSelfTimesOther ( rotationMatrix . getSelfTimesOther ( targetMatrix . tetragrid ) . tetragrid ) arrayDictionary . update ( arrayElementMatrix . getAttributes ( 'matrix.' ) ) arrayDictionary [ '_arrayIndex' ] = totalIndex arrayDictionary [ '_arrayPoint' ] = point totalIndex += 1
add path to the array group .