public void add ( MultiVertexGeometryImpl src , int beginIndex , int endIndex ) { int endIndexC = endIndex < 0 ? src . getPointCount ( ) : endIndex ; if ( beginIndex < 0 || beginIndex > src . getPointCount ( ) || endIndexC < beginIndex ) throw new IllegalArgumentException ( ) ; if ( beginIndex == endIndexC ) return ; mergeVertexDescription ( src . getDescription ( ) ) ; int count = endIndexC - beginIndex ; int oldPointCount = m_pointCount ; resize ( m_pointCount + count ) ; _verifyAllStreams ( ) ; for ( int iattrib = 0 , nattrib = src . getDescription ( ) . getAttributeCount ( ) ; iattrib < nattrib ; iattrib ++ ) { int semantics = src . getDescription ( ) . _getSemanticsImpl ( iattrib ) ; int ncomps = VertexDescription . getComponentCount ( semantics ) ; AttributeStreamBase stream = getAttributeStreamRef ( semantics ) ; AttributeStreamBase srcStream = src . getAttributeStreamRef ( semantics ) ; stream . insertRange ( oldPointCount * ncomps , srcStream , beginIndex * ncomps , count * ncomps , true , 1 , oldPointCount * ncomps ) ; } }
Appends points from another MultiVertexGeometryImpl at the end of this one .