namespace Unity.MLAgents.Sensors
{
///
/// Interface for generating observations from a physical joint or constraint.
///
[UnityEngine.Scripting.APIUpdating.MovedFrom("Unity.MLAgents.Extensions.Sensors")]
public interface IJointExtractor
{
///
/// Determine the number of observations that would be generated for the particular joint
/// using the provided PhysicsSensorSettings.
///
/// The settings used to configure the physics sensor.
/// Number of floats that will be written.
int NumObservations(PhysicsSensorSettings settings);
///
/// Write the observations to the ObservationWriter, starting at the specified offset.
///
/// The settings used to configure the physics sensor.
/// The writer to which observations are written.
/// The starting index in the writer to begin writing observations.
/// Number of floats that were written.
int Write(PhysicsSensorSettings settings, ObservationWriter writer, int offset);
}
}