org.rubato.rubettes.bigbang.model.graph
Class BigBangOperationGraph

java.lang.Object
  extended by edu.uci.ics.jung.graph.AbstractGraph<V,E>
      extended by edu.uci.ics.jung.graph.AbstractTypedGraph<V,E>
          extended by edu.uci.ics.jung.graph.DirectedSparseMultigraph<CompositionState,AbstractOperation>
              extended by org.rubato.rubettes.bigbang.model.graph.BigBangOperationGraph
All Implemented Interfaces:
edu.uci.ics.jung.graph.DirectedGraph<CompositionState,AbstractOperation>, edu.uci.ics.jung.graph.Graph<CompositionState,AbstractOperation>, edu.uci.ics.jung.graph.Hypergraph<CompositionState,AbstractOperation>, edu.uci.ics.jung.graph.MultiGraph<CompositionState,AbstractOperation>, java.io.Serializable

public class BigBangOperationGraph
extends edu.uci.ics.jung.graph.DirectedSparseMultigraph<CompositionState,AbstractOperation>

See Also:
Serialized Form

Constructor Summary
BigBangOperationGraph()
           
 
Method Summary
 CompositionState addOrInsertOperation(AbstractOperation edit, boolean inPreviewMode)
          If the insertionState is selected, insert the given operation.
 BigBangOperationGraph clone(BigBangModel model)
           
 void deselectCompositionStates()
           
static BigBangOperationGraph fromXML(BigBangModel model, XMLReader reader, org.w3c.dom.Element element)
           
 CompositionState getCompositionStateAt(int index)
           
 java.util.List<AbstractOperation> getCurrentlyExecutedOperationsInOrder()
           
 double getCurrentTotalAnimationTime()
           
 CompositionState getFirstState()
           
 java.lang.Integer getInsertionState()
           
 AbstractOperation getLastAddedOperation()
           
 CompositionState getLastState()
           
 double getOperationStartingTime(AbstractOperation edit)
           
 CompositionState getSelectedCompositionState()
           
 java.lang.Integer getSelectedCompositionStateIndex()
           
 AbstractOperation getSelectedOperation()
           
 AbstractOperation removeLastAddedOperation()
           
 boolean removeOperation(AbstractOperation operation)
           
 void selectCompositionState(CompositionState state)
          sets the composition state to be shown.
 void selectCompositionStateAt(java.lang.Integer index)
           
 void selectOperation(AbstractOperation operation)
           
 void setDurations(double duration)
           
 void setInsertionState(java.lang.Integer stateIndex)
           
 void splitSelectedAndParallelOperations(double position)
          Splits the currently selected operation and all parallel operations at the given position
 void toXML(XMLWriter writer)
           
 void update()
           
 
Methods inherited from class edu.uci.ics.jung.graph.DirectedSparseMultigraph
addEdge, addVertex, containsEdge, containsVertex, findEdge, getDest, getEdgeCount, getEdges, getEndpoints, getFactory, getIncidentEdges, getInEdges, getNeighbors, getOutEdges, getPredecessors, getSource, getSuccessors, getVertexCount, getVertices, isDest, isSource, removeEdge, removeVertex
 
Methods inherited from class edu.uci.ics.jung.graph.AbstractTypedGraph
getDefaultEdgeType, getEdgeCount, getEdges, getEdgeType
 
Methods inherited from class edu.uci.ics.jung.graph.AbstractGraph
addEdge, addEdge, addEdge, addEdge, addEdge, degree, findEdgeSet, getIncidentCount, getIncidentVertices, getNeighborCount, getOpposite, getPredecessorCount, getSuccessorCount, inDegree, isIncident, isNeighbor, isPredecessor, isSuccessor, outDegree, toString
 
Methods inherited from class java.lang.Object
equals, getClass, hashCode, notify, notifyAll, wait, wait, wait
 
Methods inherited from interface edu.uci.ics.jung.graph.Graph
addEdge, addEdge, getOpposite, getPredecessorCount, getSuccessorCount, inDegree, isPredecessor, isSuccessor, outDegree
 
Methods inherited from interface edu.uci.ics.jung.graph.Hypergraph
addEdge, addEdge, degree, findEdgeSet, getDefaultEdgeType, getEdgeCount, getEdges, getEdgeType, getIncidentCount, getIncidentVertices, getNeighborCount, isIncident, isNeighbor
 

Constructor Detail

BigBangOperationGraph

public BigBangOperationGraph()
Method Detail

update

public void update()

selectCompositionState

public void selectCompositionState(CompositionState state)
sets the composition state to be shown. can be null, which means that the final state is shown


selectCompositionStateAt

public void selectCompositionStateAt(java.lang.Integer index)

deselectCompositionStates

public void deselectCompositionStates()

getSelectedCompositionState

public CompositionState getSelectedCompositionState()

getSelectedCompositionStateIndex

public java.lang.Integer getSelectedCompositionStateIndex()

selectOperation

public void selectOperation(AbstractOperation operation)

getSelectedOperation

public AbstractOperation getSelectedOperation()

setInsertionState

public void setInsertionState(java.lang.Integer stateIndex)

getInsertionState

public java.lang.Integer getInsertionState()

addOrInsertOperation

public CompositionState addOrInsertOperation(AbstractOperation edit,
                                             boolean inPreviewMode)
If the insertionState is selected, insert the given operation. Otherwise add.

Returns:
the state to be selected afterwards

splitSelectedAndParallelOperations

public void splitSelectedAndParallelOperations(double position)
Splits the currently selected operation and all parallel operations at the given position

Parameters:
position - in seconds

removeOperation

public boolean removeOperation(AbstractOperation operation)
Returns:
true if composition states needed to be consolidated

removeLastAddedOperation

public AbstractOperation removeLastAddedOperation()

getFirstState

public CompositionState getFirstState()

getCompositionStateAt

public CompositionState getCompositionStateAt(int index)

getLastState

public CompositionState getLastState()

setDurations

public void setDurations(double duration)

getLastAddedOperation

public AbstractOperation getLastAddedOperation()

getCurrentlyExecutedOperationsInOrder

public java.util.List<AbstractOperation> getCurrentlyExecutedOperationsInOrder()

getCurrentTotalAnimationTime

public double getCurrentTotalAnimationTime()

getOperationStartingTime

public double getOperationStartingTime(AbstractOperation edit)

clone

public BigBangOperationGraph clone(BigBangModel model)

toXML

public void toXML(XMLWriter writer)

fromXML

public static BigBangOperationGraph fromXML(BigBangModel model,
                                            XMLReader reader,
                                            org.w3c.dom.Element element)