com.hdcookbook.grin
Class SEDoubleUseChecker

java.lang.Object
  extended by com.hdcookbook.grin.AbstractSEShowVisitor
      extended by com.hdcookbook.grin.SEDoubleUseChecker
All Implemented Interfaces:
SEShowVisitor

public class SEDoubleUseChecker
extends AbstractSEShowVisitor

Utility class used by SEShow to check a constraint on the show graph. This constraint is that it shall never be possible for a feature to be visible twice simulataneously. This is checked on the active features of each segment, with special handling for assemblies.

Author:
Bill Foote (http://jovial.com)

Constructor Summary
SEDoubleUseChecker()
           
 
Method Summary
 void reportAnyProblems()
          Report any problems we've seen visiting the show graph.
 void visitAssembly(SEAssembly feature)
           
 void visitBox(SEBox feature)
           
 void visitClipped(SEClipped feature)
           
 void visitFade(SEFade feature)
           
 void visitFixedImage(SEFixedImage feature)
           
 void visitGroup(SEGroup feature)
           
 void visitGuaranteeFill(SEGuaranteeFill feature)
           
 void visitImageSequence(SEImageSequence feature)
           
 void visitInterpolatedModel(SEInterpolatedModel feature)
           
 void visitSegment(SESegment segment)
           
 void visitSetTarget(SESetTarget feature)
           
 void visitShow(SEShow show)
           
 void visitSrcOver(SESrcOver feature)
           
 void visitText(SEText feature)
           
 void visitTranslator(SETranslator feature)
           
 void visitUserDefinedFeature(Feature feature)
           
 void visitUserDefinedModifier(Modifier modifier)
           
 
Methods inherited from class com.hdcookbook.grin.AbstractSEShowVisitor
visitActivatePartCommand, visitActivateSegmentCommand, visitCommandRCHandler, visitMenuAssembly, visitResetFeatureCommand, visitRunNamedCommand, visitScalingModel, visitSegmentDoneCommand, visitSetVisualRCStateCommand, visitShowCommand, visitSyncDisplayCommand, visitTimer, visitTranslatorModel, visitUserDefinedCommand, visitVisualRCHandler
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

SEDoubleUseChecker

public SEDoubleUseChecker()
Method Detail

reportAnyProblems

public void reportAnyProblems()
                       throws java.io.IOException
Report any problems we've seen visiting the show graph. Errors are reported by throwing an IOException.

Throws:
java.io.IOException

visitShow

public void visitShow(SEShow show)
Specified by:
visitShow in interface SEShowVisitor
Overrides:
visitShow in class AbstractSEShowVisitor

visitSegment

public void visitSegment(SESegment segment)
Specified by:
visitSegment in interface SEShowVisitor
Overrides:
visitSegment in class AbstractSEShowVisitor

visitAssembly

public void visitAssembly(SEAssembly feature)
Specified by:
visitAssembly in interface SEShowVisitor
Overrides:
visitAssembly in class AbstractSEShowVisitor

visitBox

public void visitBox(SEBox feature)
Specified by:
visitBox in interface SEShowVisitor
Overrides:
visitBox in class AbstractSEShowVisitor

visitClipped

public void visitClipped(SEClipped feature)
Specified by:
visitClipped in interface SEShowVisitor
Overrides:
visitClipped in class AbstractSEShowVisitor

visitFade

public void visitFade(SEFade feature)
Specified by:
visitFade in interface SEShowVisitor
Overrides:
visitFade in class AbstractSEShowVisitor

visitFixedImage

public void visitFixedImage(SEFixedImage feature)
Specified by:
visitFixedImage in interface SEShowVisitor
Overrides:
visitFixedImage in class AbstractSEShowVisitor

visitGroup

public void visitGroup(SEGroup feature)
Specified by:
visitGroup in interface SEShowVisitor
Overrides:
visitGroup in class AbstractSEShowVisitor

visitGuaranteeFill

public void visitGuaranteeFill(SEGuaranteeFill feature)
Specified by:
visitGuaranteeFill in interface SEShowVisitor
Overrides:
visitGuaranteeFill in class AbstractSEShowVisitor

visitImageSequence

public void visitImageSequence(SEImageSequence feature)
Specified by:
visitImageSequence in interface SEShowVisitor
Overrides:
visitImageSequence in class AbstractSEShowVisitor

visitUserDefinedFeature

public void visitUserDefinedFeature(Feature feature)
Specified by:
visitUserDefinedFeature in interface SEShowVisitor
Overrides:
visitUserDefinedFeature in class AbstractSEShowVisitor

visitUserDefinedModifier

public void visitUserDefinedModifier(Modifier modifier)
Specified by:
visitUserDefinedModifier in interface SEShowVisitor
Overrides:
visitUserDefinedModifier in class AbstractSEShowVisitor

visitSetTarget

public void visitSetTarget(SESetTarget feature)
Specified by:
visitSetTarget in interface SEShowVisitor
Overrides:
visitSetTarget in class AbstractSEShowVisitor

visitSrcOver

public void visitSrcOver(SESrcOver feature)
Specified by:
visitSrcOver in interface SEShowVisitor
Overrides:
visitSrcOver in class AbstractSEShowVisitor

visitText

public void visitText(SEText feature)
Specified by:
visitText in interface SEShowVisitor
Overrides:
visitText in class AbstractSEShowVisitor

visitTranslator

public void visitTranslator(SETranslator feature)
Specified by:
visitTranslator in interface SEShowVisitor
Overrides:
visitTranslator in class AbstractSEShowVisitor

visitInterpolatedModel

public void visitInterpolatedModel(SEInterpolatedModel feature)
Specified by:
visitInterpolatedModel in interface SEShowVisitor
Overrides:
visitInterpolatedModel in class AbstractSEShowVisitor