Axiom.Core.ProgressiveMesh.PMTriangle.ReplaceVertex C# (CSharp) Method

ReplaceVertex() private method

private ReplaceVertex ( PMFaceVertex vold, PMFaceVertex vnew ) : void
vold PMFaceVertex
vnew PMFaceVertex
return void
			internal void ReplaceVertex( PMFaceVertex vold, PMFaceVertex vnew )
			{
				Debug.Assert( vold == vertex[ 0 ] || vold == vertex[ 1 ] || vold == vertex[ 2 ] );
				Debug.Assert( vnew != vertex[ 0 ] && vnew != vertex[ 1 ] && vnew != vertex[ 2 ] );
				if ( vold == vertex[ 0 ] )
				{
					vertex[ 0 ] = vnew;
				}
				else if ( vold == vertex[ 1 ] )
				{
					vertex[ 1 ] = vnew;
				}
				else
				{
					vertex[ 2 ] = vnew;
				}
				vold.commonVertex.faces.Remove( this );
				vnew.commonVertex.faces.Add( this );
				for ( int i = 0; i < 3; i++ )
				{
					vold.commonVertex.RemoveIfNonNeighbor( vertex[ i ].commonVertex );
					vertex[ i ].commonVertex.RemoveIfNonNeighbor( vold.commonVertex );
				}
				for ( int i = 0; i < 3; i++ )
				{
					Debug.Assert( vertex[ i ].commonVertex.faces.Contains( this ) );
					for ( int j = 0; j < 3; j++ )
						if ( i != j )
							vertex[ i ].commonVertex.AddIfNonNeighbor( vertex[ j ].commonVertex );
				}
				ComputeNormal();
			}
			internal bool HasCommonVertex( PMVertex v )