using UnityEngine.Perception.GroundTruth.DataModel;
namespace UnityEngine.Perception.GroundTruth
{
public abstract class ConsumerEndpoint : MonoBehaviour
{
///
/// Called when the simulation begins. Provides simulation wide metadata to
/// the consumer.
///
/// Metadata describing the active simulation
public abstract void OnSimulationStarted(SimulationMetadata metadata);
public virtual void OnSensorRegistered(SensorDefinition sensor) { }
public virtual void OnAnnotationRegistered(AnnotationDefinition annotationDefinition) { }
public virtual void OnMetricRegistered(MetricDefinition metricDefinition) { }
///
/// Called at the end of each frame. Contains all of the generated data for the
/// frame. This method is called after the frame has entirely finished processing.
///
/// The frame data.
public abstract void OnFrameGenerated(Frame frame);
///
/// Called at the end of the simulation. Contains metadata describing the entire
/// simulation process.
///
/// Metadata describing the entire simulation process
public abstract void OnSimulationCompleted(CompletionMetadata metadata);
}
}