## Uses of Class
org.cpsolver.coursett.model.TimeLocation

- Packages that use TimeLocation
  Package | Description
  --- | ---
  org.cpsolver.coursett.constraint | University Course Timetabling: Constraints.
  org.cpsolver.coursett.model | University Course Timetabling: Model.
  org.cpsolver.instructor.constraints | Instructor Scheduling: Constraints.
  org.cpsolver.instructor.model | Instructor Scheduling: Model.
  org.cpsolver.studentsct | Student Sectioning Solver.
  org.cpsolver.studentsct.model | Student Sectioning: Model.
  org.cpsolver.studentsct.online.selection | Online Student Sectioning Solver: Selection Weights and Heuristics.

- - ### Uses of TimeLocation in org.cpsolver.coursett.constraint

    Methods in org.cpsolver.coursett.constraint with parameters of type TimeLocation
    Modifier and Type | Method and Description
    --- | ---
    `protected int` | MaxHalfDaysFlexibleConstraint.`getHalfDay(TimeLocation time)` Returns index of the half day
    `boolean` | RoomConstraint.RoomConstraintContext.`inConflict(Lecture lecture, TimeLocation time)`
    `boolean` | InstructorConstraint.`isAvailable(Lecture lecture, TimeLocation time)`
    `boolean` | RoomConstraint.`isAvailable(Lecture lecture, TimeLocation time, Long scheduler)`
    `protected boolean` | FlexibleConstraint.`shareWeeksAndDay(TimeLocation t, BitSet week, int dayCode)` Used to determine the daycode and week of a timelocation

  - ### Uses of TimeLocation in org.cpsolver.coursett.model

    Methods in org.cpsolver.coursett.model that return TimeLocation
    Modifier and Type | Method and Description
    --- | ---
    `TimeLocation` | Placement.`getTimeLocation()` Time location

    Methods in org.cpsolver.coursett.model that return types with arguments of type TimeLocation
    Modifier and Type | Method and Description
    --- | ---
    `List<TimeLocation>` | Lecture.`timeLocations()` All time locations

    Methods in org.cpsolver.coursett.model with parameters of type TimeLocation
    Modifier and Type | Method and Description
    --- | ---
    `boolean` | TimeLocation.`hasIntersection(TimeLocation anotherLocation)` true if overlap
    `boolean` | RoomSharingModel.`isAvailable(TimeLocation timeLocation, Long departmentId)`
    `int` | TimeLocation.`nrSharedDays(TimeLocation anotherLocation)` number of overlapping days
    `int` | TimeLocation.`nrSharedHours(TimeLocation anotherLocation)` number of overlapping time slots (ignoring days)
    `int` | Lecture.`nrValues(TimeLocation time)`
    `boolean` | TimeLocation.`shareDays(TimeLocation anotherLocation)` true if days overlap
    `boolean` | TimeLocation.`shareHours(TimeLocation anotherLocation)` true if hours overlap
    `boolean` | TimeLocation.`shareWeeks(TimeLocation anotherLocation)` true if weeks overlap

    Constructors in org.cpsolver.coursett.model with parameters of type TimeLocation
    Constructor and Description
    `Placement(Lecture lecture, TimeLocation timeLocation, List<RoomLocation> roomLocations)`
    `Placement(Lecture lecture, TimeLocation timeLocation, RoomLocation roomLocation)` Constructor

    Constructor parameters in org.cpsolver.coursett.model with type arguments of type TimeLocation
    Constructor and Description
    `Lecture(Long id, Long solverGroupId, Long schedulingSubpartId, String name, Collection<TimeLocation> timeLocations, Collection<RoomLocation> roomLocations, int nrRooms, Placement initialPlacement, int minClassLimit, int maxClassLimit, double room2limitRatio)` Constructor

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

    Methods in org.cpsolver.instructor.constraints with parameters of type TimeLocation
    Modifier and Type | Method and Description
    --- | ---
    `abstract boolean` | GroupConstraint.SimpleTimeCheck.`isSatisfied(GroupConstraint.Distribution d, TimeLocation t1, TimeLocation t2)`
    `boolean` | GroupConstraint.SimpleTimeCheck.`isViolated(GroupConstraint.Distribution d, TimeLocation t1, TimeLocation t2)`
    `protected static boolean` | GroupConstraint.`shareWeeksAndDay(TimeLocation t, BitSet week, int dayCode)` Returns true if the time overlaps with the provided week date pattern and days of the week.

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

    Subclasses of TimeLocation in org.cpsolver.instructor.model
    Modifier and Type | Class and Description
    --- | ---
    `class` | `EnrolledClass` Enrolled class to be used as an instructor unavailability.

    Methods in org.cpsolver.instructor.model that return TimeLocation
    Modifier and Type | Method and Description
    --- | ---
    `TimeLocation` | Section.`getTime()` Section time that was provided in the constructor

    Methods in org.cpsolver.instructor.model that return types with arguments of type TimeLocation
    Modifier and Type | Method and Description
    --- | ---
    `List<Preference<TimeLocation>>` | Instructor.`getTimePreferences()` Return instructor preferences

    Methods in org.cpsolver.instructor.model with parameters of type TimeLocation
    Modifier and Type | Method and Description
    --- | ---
    `PreferenceCombination` | Instructor.`getTimePreference(TimeLocation time)` Compute time preference for a given time.
    `int` | Section.`share(TimeLocation time)` Compute the number of overlapping time slots between this section and the given time
    `int` | TeachingRequest.`share(TimeLocation time)` Count the number of overlapping time slots between this request and the given time

    Method parameters in org.cpsolver.instructor.model with type arguments of type TimeLocation
    Modifier and Type | Method and Description
    --- | ---
    `void` | Instructor.`addTimePreference(Preference<TimeLocation> pref)` Add instructor time preference

    Constructors in org.cpsolver.instructor.model with parameters of type TimeLocation
    Constructor and Description
    `Section(long id, String externalId, String type, String name, TimeLocation time, String room, boolean allowOverlap, boolean common)` Constructor

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

    Methods in org.cpsolver.studentsct with parameters of type TimeLocation
    Modifier and Type | Method and Description
    --- | ---
    `double` | StudentPreferencePenalties.`getPenalty(TimeLocation time)` Return penalty of the given time.

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

    Methods in org.cpsolver.studentsct.model that return TimeLocation
    Modifier and Type | Method and Description
    --- | ---
    `TimeLocation` | Choice.`getTime()` Time location of the choice
    `TimeLocation` | FreeTimeRequest.`getTime()` Return requested time to be free
    `TimeLocation` | SctAssignment.`getTime()` Time assignment
    `TimeLocation` | Section.`getTime()` Time placement of the section.
    `TimeLocation` | Unavailability.`getTime()`

    Methods in org.cpsolver.studentsct.model with parameters of type TimeLocation
    Modifier and Type | Method and Description
    --- | ---
    `int` | Student.`countFreeTimeOverlaps(TimeLocation time)` Count number of free time slots overlapping with the given time

    Constructors in org.cpsolver.studentsct.model with parameters of type TimeLocation
    Constructor and Description
    `Choice(Offering offering, String instructionalType, TimeLocation time, List<Instructor> instructors)` Constructor
    `Choice(Offering offering, String instructionalType, TimeLocation time, String instructorIds, String instructorNames)` Deprecated.
    `FreeTimeRequest(long id, int priority, boolean alternative, Student student, TimeLocation time)` Constructor

  - ### Uses of TimeLocation in org.cpsolver.studentsct.online.selection

    Methods in org.cpsolver.studentsct.online.selection with parameters of type TimeLocation
    Modifier and Type | Method and Description
    --- | ---
    `double` | OnlineSectioningCriterion.TimeToAvoid.`overlap(TimeLocation time)`
    `static boolean` | ResectioningWeights.`sameTime(Section s, TimeLocation t)`

    Constructors in org.cpsolver.studentsct.online.selection with parameters of type TimeLocation
    Constructor and Description
    `TimeToAvoid(TimeLocation time, int penalty, int priority)`