## Uses of Interface
org.cpsolver.studentsct.model.SctAssignment

- Packages that use SctAssignment
  Package | Description
  --- | ---
  org.cpsolver.studentsct | Student Sectioning Solver.
  org.cpsolver.studentsct.extension | Student Sectioning: Various Extensions.
  org.cpsolver.studentsct.model | Student Sectioning: Model.
  org.cpsolver.studentsct.online | Online Student Sectioning Solver.
  org.cpsolver.studentsct.report | Student Sectioning: Various Reports.

- - ### Uses of SctAssignment in org.cpsolver.studentsct

    Methods in org.cpsolver.studentsct with parameters of type SctAssignment
    Modifier and Type | Method and Description
    --- | ---
    `double` | StudentPreferencePenalties.`getPenalty(SctAssignment assignment)` Return penalty of an assignment.

  - ### Uses of SctAssignment in org.cpsolver.studentsct.extension

    Methods in org.cpsolver.studentsct.extension that return SctAssignment
    Modifier and Type | Method and Description
    --- | ---
    `SctAssignment` | StudentQuality.Conflict.`getS1()` First section
    `SctAssignment` | TimeOverlapsCounter.Conflict.`getS1()` First section
    `SctAssignment` | StudentQuality.Conflict.`getS2()` Second section
    `SctAssignment` | TimeOverlapsCounter.Conflict.`getS2()` Second section

    Methods in org.cpsolver.studentsct.extension that return types with arguments of type SctAssignment
    Modifier and Type | Method and Description
    --- | ---
    `Iterator<SctAssignment>` | StudentQuality.Nothing.`iterator()`
    `Iterable<? extends SctAssignment>` | StudentQuality.Type.`other(StudentQuality.Context cx, Enrollment e)`
    `Iterable<? extends SctAssignment>` | StudentQuality.Quality.`other(StudentQuality.Context cx, Enrollment e)` Enumerate other section assignments applicable for the given enrollment (e.g., student unavailabilities)

    Methods in org.cpsolver.studentsct.extension with parameters of type SctAssignment
    Modifier and Type | Method and Description
    --- | ---
    `boolean` | TimeOverlapsCounter.`inConflict(SctAssignment a1, SctAssignment a2)` Return true if the given two assignments are overlapping.
    `boolean` | StudentQuality.Type.`inConflict(StudentQuality.Context cx, SctAssignment a1, SctAssignment a2)`
    `boolean` | StudentQuality.Quality.`inConflict(StudentQuality.Context cx, SctAssignment a1, SctAssignment a2)` When applicable, is there a conflict between two sections
    `int` | StudentQuality.Type.`penalty(StudentQuality.Context cx, SctAssignment a1, SctAssignment a2)`
    `int` | StudentQuality.Quality.`penalty(StudentQuality.Context cx, SctAssignment a1, SctAssignment a2)` When in conflict, what is the penalisation
    `int` | TimeOverlapsCounter.`share(SctAssignment a1, SctAssignment a2)` If the two sections are overlapping, return the number of slots of the overlap.

    Constructors in org.cpsolver.studentsct.extension with parameters of type SctAssignment
    Constructor and Description
    `Conflict(Student student, int share, Enrollment e1, SctAssignment a1, Enrollment e2, SctAssignment a2)` Constructor
    `Conflict(Student student, StudentQuality.Type type, int penalty, Enrollment e1, SctAssignment a1, Enrollment e2, SctAssignment a2)` Constructor
    `Conflict(Student student, StudentQuality.Type type, int penalty, Enrollment e1, SctAssignment a1, SctAssignment a2)`

  - ### Uses of SctAssignment in org.cpsolver.studentsct.model

    Classes in org.cpsolver.studentsct.model that implement SctAssignment
    Modifier and Type | Class and Description
    --- | ---
    `class` | `FreeTimeRequest` Representation of a request of a student for free time.
    `class` | `Section` Representation of a class.
    `class` | `Unavailability` Representation of an unavailability.

    Methods in org.cpsolver.studentsct.model that return types with arguments of type SctAssignment
    Modifier and Type | Method and Description
    --- | ---
    `Set<SctAssignment>` | Enrollment.`getAssignments()` List of assignments (selected sections)

    Methods in org.cpsolver.studentsct.model with parameters of type SctAssignment
    Modifier and Type | Method and Description
    --- | ---
    `int` | FreeTimeRequest.`compareById(SctAssignment a)` Sections first, then by `Request.getId()`
    `int` | SctAssignment.`compareById(SctAssignment a)` Compare assignments by unique ids.
    `int` | Section.`compareById(SctAssignment a)` Sections first, then by `Request.getId()`
    `int` | Unavailability.`compareById(SctAssignment a)`
    `boolean` | FreeTimeRequest.`isOverlapping(SctAssignment assignment)` True, if this assignment is overlapping in time and space with the given assignment.
    `boolean` | SctAssignment.`isOverlapping(SctAssignment assignment)` True, if this assignment is overlapping in time and space with the given assignment.
    `boolean` | Section.`isOverlapping(SctAssignment assignment)` True, if this section overlaps with the given assignment in time and space
    `boolean` | Unavailability.`isOverlapping(SctAssignment assignment)`

    Method parameters in org.cpsolver.studentsct.model with type arguments of type SctAssignment
    Modifier and Type | Method and Description
    --- | ---
    `Enrollment` | CourseRequest.`createEnrollment(Assignment<Request,Enrollment> assignment, Set<? extends SctAssignment> sections)` Create enrollment for the given list of sections.
    `Enrollment` | CourseRequest.`createEnrollment(Course course, Set<? extends SctAssignment> sections, Reservation reservation)` Create enrollment for the given list of sections.
    `Enrollment` | CourseRequest.`createEnrollment(Set<? extends SctAssignment> sections, Reservation reservation)` Create enrollment for the given list of sections.
    `boolean` | FreeTimeRequest.`isOverlapping(Set<? extends SctAssignment> assignments)` True, if this assignment is overlapping in time and space with the given set of assignments.
    `boolean` | SctAssignment.`isOverlapping(Set<? extends SctAssignment> assignments)` True, if this assignment is overlapping in time and space with the given set of assignments.
    `boolean` | Section.`isOverlapping(Set<? extends SctAssignment> assignments)` True, if this section overlaps with one of the given set of assignments in time and space
    `boolean` | Unavailability.`isOverlapping(Set<? extends SctAssignment> assignments)`

    Constructor parameters in org.cpsolver.studentsct.model with type arguments of type SctAssignment
    Constructor and Description
    `Enrollment(Request request, int priority, boolean noReservationPenalty, Course course, Config config, Set<? extends SctAssignment> assignments, Reservation reservation)` Constructor
    `Enrollment(Request request, int priority, Config config, Set<? extends SctAssignment> assignments, Assignment<Request,Enrollment> assignment)` Constructor
    `Enrollment(Request request, int priority, Course course, Config config, Set<? extends SctAssignment> assignments, Reservation reservation)` Constructor

  - ### Uses of SctAssignment in org.cpsolver.studentsct.online

    Classes in org.cpsolver.studentsct.online that implement SctAssignment
    Modifier and Type | Class and Description
    --- | ---
    `class` | `OnlineSection` An online section.

  - ### Uses of SctAssignment in org.cpsolver.studentsct.report

    Methods in org.cpsolver.studentsct.report with parameters of type SctAssignment
    Modifier and Type | Method and Description
    --- | ---
    `protected String` | AccommodationConflictsTable.`rooms(SctAssignment section)`