// (c) MIT 2003.  All rights reserved.

////////////////////////////////////////////////////////////////////////////////
//
// FILE:	MCleanUpSurfaceMutator.java
//
// AUTHOR:	Manoj D. Muzumdar
//		archon@ai.mit.edu
//
// DATE:	Mar 99
//
// COPYRIGHT:	Massachusetts Institute of Technology
//		All rights reserved.
//
// PURPOSE:     Mechanical engineering 
//
// HISTORY:     Mar 99  archon  created
//
////////////////////////////////////////////////////////////////////////////////

package rec.meche;

import java.util.*;
import rec.sys.*;
import rec.core.widgets.*;

public class MCleanUpSurfaceMutator implements SurfaceMutator
{
  public MCleanUpSurfaceMutator()
  {
  }

  //////////////////////////////////////////////////////////////////////////////

  public void mutateSurface( Surface s )
  {
    Iterator iter = s.getWidgetsIterator();

    if( iter == null )
      return;

    while( iter.hasNext() ) {

      Widget vw = (Widget)iter.next();

      if( vw instanceof Squiggle ) {

	s.removeWidget( vw );

	continue;
      }

      if( vw instanceof WLine ) {

	s.removeWidget( vw );
	s.addWidget( new WMBar( (WLine)vw ) );

	continue;
      }

      if( vw instanceof WPolygon ) {

	s.removeWidget( vw );
	s.addWidget( new WMMass( (WPolygon)vw ) );

	continue;
      }

      if( vw instanceof WCircle && ((WCircle)vw).getRadius() <= 15.0 ) {

	s.removeWidget( vw );
	s.addWidget( new WMFixedPivot( (WCircle)vw ) );

	continue;
      }
    }
  }
}

////////////////////////////////////////////////////////////////////////////////
