## Uses of Class
org.cpsolver.instructor.model.Section

- Packages that use Section
  Package | Description
  --- | ---
  org.cpsolver.instructor.constraints | Instructor Scheduling: Constraints.
  org.cpsolver.instructor.model | Instructor Scheduling: Model.

- - ### Uses of Section in org.cpsolver.instructor.constraints

    Methods in org.cpsolver.instructor.constraints with parameters of type Section
    Modifier and Type | Method and Description
    --- | ---
    `abstract boolean` | GroupConstraint.PairCheck.`isSatisfied(GroupConstraint.Distribution distribution, Assignment<TeachingRequest.Variable,TeachingAssignment> assignment, Instructor instructor, Section s1, Section s2)`
    `boolean` | GroupConstraint.SimpleCheck.`isSatisfied(GroupConstraint.Distribution distribution, Assignment<TeachingRequest.Variable,TeachingAssignment> assignment, Instructor instructor, Section s1, Section s2)`
    `abstract boolean` | GroupConstraint.SimpleCheck.`isSatisfied(GroupConstraint.Distribution d, Section s1, Section s2)`
    `boolean` | GroupConstraint.SimpleTimeCheck.`isSatisfied(GroupConstraint.Distribution d, Section s1, Section s2)`
    `abstract boolean` | GroupConstraint.PairCheck.`isViolated(GroupConstraint.Distribution distribution, Assignment<TeachingRequest.Variable,TeachingAssignment> assignment, Instructor instructor, Section s1, Section s2)`
    `boolean` | GroupConstraint.SimpleCheck.`isViolated(GroupConstraint.Distribution distribution, Assignment<TeachingRequest.Variable,TeachingAssignment> assignment, Instructor instructor, Section s1, Section s2)`
    `boolean` | GroupConstraint.SimpleCheck.`isViolated(GroupConstraint.Distribution d, Section s1, Section s2)`
    `boolean` | GroupConstraint.SimpleTimeCheck.`isViolated(GroupConstraint.Distribution d, Section s1, Section s2)`

  - ### Uses of Section in org.cpsolver.instructor.model

    Methods in org.cpsolver.instructor.model that return types with arguments of type Section
    Modifier and Type | Method and Description
    --- | ---
    `List<Section>` | TeachingRequest.`getSections()` Sections of the request that was provided in the constructor
    `List<Section>` | TeachingRequest.Variable.`getSections()` Sections of the request that was provided in the constructor

    Methods in org.cpsolver.instructor.model with parameters of type Section
    Modifier and Type | Method and Description
    --- | ---
    `boolean` | Section.`isBackToBack(Section section)` Check if this section is back to back with some other section
    `boolean` | Section.`isOverlapping(Section section)` Check if this section overlaps in time with some other section
    `boolean` | Section.`isSameRoom(Section section)` Check if this section is placed in the same room as the other section
    `boolean` | Section.`isSameSectionType(Section section)` Check if this section has the same instructional type as the other section
    `double` | Section.`percSameDays(Section section)` Check if this section has the same days as some other section
    `int` | Section.`share(Section section)` If this section can overlap in time with the other section, compute the number of overlapping time slots

    Method parameters in org.cpsolver.instructor.model with type arguments of type Section
    Modifier and Type | Method and Description
    --- | ---
    `double` | Section.`countBackToBacks(Collection<Section> sections, double diffRoomWeight, double diffTypeWeight)` Check if this section is back-to-back with some other section in the list
    `double` | Section.`countSameDays(Collection<Section> sections, double diffRoomWeight, double diffTypeWeight)` Check if this section has the same days with some other section in the list
    `double` | Section.`countSameRooms(Collection<Section> sections, double diffTypeWeight)` Check if this section has the same room with some other section in the list
    `boolean` | Section.`isOverlapping(Collection<Section> sections)` Check if this section overlaps in time with at least one of the given sections
    `int` | Section.`share(Collection<Section> sections)` If this section can overlap in time with any of the given section, compute the number of overlapping time slots

    Constructor parameters in org.cpsolver.instructor.model with type arguments of type Section
    Constructor and Description
    `TeachingRequest(long requestId, int nrVariables, Course course, float load, Collection<Section> sections, int sameCoursePreference, int sameCommonPreference)` Constructor