taskjuggler 0.0.7 → 0.0.8
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- data/CHANGELOG +119 -0
- data/benchmarks/allocatedSlots.tjp +1602 -0
- data/benchmarks/booking.tjp +40 -30
- data/{test/TestSuite/ReportGenerator/Errors → benchmarks}/css/tjmanual.css +0 -0
- data/{test/TestSuite/Scheduler/Correct → benchmarks}/css/tjreport.css +1 -0
- data/benchmarks/gantt.tjp +57 -0
- data/benchmarks/htmltaskreport.tjp +26 -1
- data/{test/TestSuite/ReportGenerator/Errors → benchmarks}/icons/details.png +0 -0
- data/{test/TestSuite/ReportGenerator/Errors → benchmarks}/icons/flag-green.png +0 -0
- data/{test/TestSuite/ReportGenerator/Errors → benchmarks}/icons/flag-red.png +0 -0
- data/{test/TestSuite/ReportGenerator/Errors → benchmarks}/icons/flag-yellow.png +0 -0
- data/{test/TestSuite/ReportGenerator/Errors → benchmarks}/icons/resource.png +0 -0
- data/{test/TestSuite/ReportGenerator/Errors → benchmarks}/icons/resourcegroup.png +0 -0
- data/{test/TestSuite/ReportGenerator/Errors → benchmarks}/icons/task.png +0 -0
- data/{test/TestSuite/ReportGenerator/Errors → benchmarks}/icons/taskgroup.png +0 -0
- data/{test/TestSuite/ReportGenerator/Errors → benchmarks}/icons/trend-down.png +0 -0
- data/{test/TestSuite/ReportGenerator/Errors → benchmarks}/icons/trend-flat.png +0 -0
- data/{test/TestSuite/ReportGenerator/Errors → benchmarks}/icons/trend-up.png +0 -0
- data/benchmarks/profile.clt +36082 -0
- data/benchmarks/profile.html +58182 -0
- data/benchmarks/runbench.rb +6 -0
- data/{test/TestSuite/ReportGenerator/Errors → benchmarks}/scripts/wz_tooltip.js +0 -0
- data/doc/AppConfig.html +85 -37
- data/doc/Arguments.html +11 -1
- data/doc/CHANGELOG.html +131 -2
- data/doc/COPYING.html +11 -1
- data/doc/Object.html +12 -3
- data/doc/README.html +11 -1
- data/doc/RuntimeConfig.html +11 -1
- data/doc/String.html +11 -1
- data/doc/StringIO.html +11 -1
- data/doc/TaskJuggler.html +250 -219
- data/doc/TaskJuggler/Account.html +11 -1
- data/doc/TaskJuggler/AccountAttribute.html +11 -1
- data/doc/TaskJuggler/AccountScenario.html +11 -1
- data/doc/TaskJuggler/Allocation.html +11 -1
- data/doc/TaskJuggler/AllocationAttribute.html +11 -1
- data/doc/TaskJuggler/AttributeBase.html +11 -1
- data/doc/TaskJuggler/AttributeDefinition.html +11 -1
- data/doc/TaskJuggler/BatchProcessor.html +11 -1
- data/doc/TaskJuggler/Booking.html +11 -1
- data/doc/TaskJuggler/BookingListAttribute.html +11 -1
- data/doc/TaskJuggler/BooleanAttribute.html +11 -1
- data/doc/TaskJuggler/CSVFile.html +12 -2
- data/doc/TaskJuggler/CellSettingPattern.html +11 -1
- data/doc/TaskJuggler/CellSettingPatternList.html +11 -1
- data/doc/TaskJuggler/Charge.html +11 -1
- data/doc/TaskJuggler/ChargeListAttribute.html +11 -1
- data/doc/TaskJuggler/ChargeSet.html +11 -1
- data/doc/TaskJuggler/ChargeSetListAttribute.html +11 -1
- data/doc/TaskJuggler/CollisionDetector.html +1063 -0
- data/doc/TaskJuggler/ColumnListAttribute.html +11 -1
- data/doc/TaskJuggler/ColumnTable.html +11 -1
- data/doc/TaskJuggler/Daemon.html +11 -1
- data/doc/TaskJuggler/{OnShiftCache.html → DataCache.html} +127 -139
- data/doc/TaskJuggler/DataCacheEntry.html +711 -0
- data/doc/TaskJuggler/DateAttribute.html +11 -1
- data/doc/TaskJuggler/DefinitionListAttribute.html +11 -1
- data/doc/TaskJuggler/DependencyListAttribute.html +11 -1
- data/doc/TaskJuggler/DurationAttribute.html +16 -5
- data/doc/TaskJuggler/FileList.html +11 -1
- data/doc/TaskJuggler/FileRecord.html +11 -1
- data/doc/TaskJuggler/FixnumAttribute.html +19 -9
- data/doc/TaskJuggler/FlagListAttribute.html +29 -19
- data/doc/TaskJuggler/FloatAttribute.html +23 -13
- data/doc/TaskJuggler/FormatListAttribute.html +19 -9
- data/doc/TaskJuggler/GanttChart.html +94 -133
- data/doc/TaskJuggler/GanttContainer.html +11 -1
- data/doc/TaskJuggler/GanttHeader.html +11 -1
- data/doc/TaskJuggler/GanttHeaderScaleItem.html +11 -1
- data/doc/TaskJuggler/GanttLine.html +11 -1
- data/doc/TaskJuggler/GanttLoadStack.html +11 -1
- data/doc/TaskJuggler/GanttMilestone.html +11 -1
- data/doc/TaskJuggler/GanttRouter.html +247 -596
- data/doc/TaskJuggler/GanttTaskBar.html +11 -1
- data/doc/TaskJuggler/HTMLDocument.html +11 -1
- data/doc/TaskJuggler/HTMLGraphics.html +11 -1
- data/doc/TaskJuggler/Interval.html +11 -1
- data/doc/TaskJuggler/IntervalListAttribute.html +33 -23
- data/doc/TaskJuggler/JobInfo.html +11 -1
- data/doc/TaskJuggler/Journal.html +11 -1
- data/doc/TaskJuggler/JournalEntry.html +11 -1
- data/doc/TaskJuggler/JournalEntryList.html +11 -1
- data/doc/TaskJuggler/KeywordArray.html +11 -1
- data/doc/TaskJuggler/KeywordDocumentation.html +16 -6
- data/doc/TaskJuggler/Limits.html +11 -1
- data/doc/TaskJuggler/Limits/Limit.html +11 -1
- data/doc/TaskJuggler/LimitsAttribute.html +24 -14
- data/doc/TaskJuggler/ListAttributeBase.html +11 -1
- data/doc/TaskJuggler/Log.html +11 -1
- data/doc/TaskJuggler/LogFile.html +11 -1
- data/doc/TaskJuggler/LogicalAttribute.html +11 -1
- data/doc/TaskJuggler/LogicalExpression.html +11 -1
- data/doc/TaskJuggler/LogicalExpressionAttribute.html +19 -9
- data/doc/TaskJuggler/LogicalFlag.html +11 -1
- data/doc/TaskJuggler/LogicalFunction.html +11 -1
- data/doc/TaskJuggler/LogicalOperation.html +11 -1
- data/doc/TaskJuggler/Macro.html +11 -1
- data/doc/TaskJuggler/MacroTable.html +11 -1
- data/doc/TaskJuggler/ManagerResponsibilities.html +11 -1
- data/doc/TaskJuggler/ManagerStatusRecord.html +11 -1
- data/doc/TaskJuggler/Message.html +11 -1
- data/doc/TaskJuggler/MessageHandler.html +11 -1
- data/doc/TaskJuggler/Navigator.html +12 -2
- data/doc/TaskJuggler/NavigatorElement.html +11 -1
- data/doc/TaskJuggler/NikuProject.html +11 -1
- data/doc/TaskJuggler/NikuReport.html +11 -1
- data/doc/TaskJuggler/NikuResource.html +11 -1
- data/doc/TaskJuggler/NodeListAttribute.html +17 -7
- data/doc/TaskJuggler/PlaceHolderCell.html +722 -0
- data/doc/TaskJuggler/ProcessIntercom.html +11 -1
- data/doc/TaskJuggler/ProcessIntercomIface.html +11 -1
- data/doc/TaskJuggler/Project.html +587 -500
- data/doc/TaskJuggler/ProjectBroker.html +11 -1
- data/doc/TaskJuggler/ProjectBrokerIface.html +11 -1
- data/doc/TaskJuggler/ProjectFileParser.html +205 -192
- data/doc/TaskJuggler/ProjectFileScanner.html +230 -207
- data/doc/TaskJuggler/ProjectRecord.html +11 -1
- data/doc/TaskJuggler/ProjectServer.html +11 -1
- data/doc/TaskJuggler/ProjectServerIface.html +11 -1
- data/doc/TaskJuggler/PropertyAttribute.html +19 -9
- data/doc/TaskJuggler/PropertyList.html +95 -83
- data/doc/TaskJuggler/PropertySet.html +11 -1
- data/doc/TaskJuggler/PropertyTreeNode.html +11 -1
- data/doc/TaskJuggler/Query.html +234 -232
- data/doc/TaskJuggler/RTFHandlers.html +11 -1
- data/doc/TaskJuggler/RTFNavigator.html +11 -1
- data/doc/TaskJuggler/RTFQuery.html +11 -1
- data/doc/TaskJuggler/RTFReport.html +11 -1
- data/doc/TaskJuggler/RTFReportLink.html +11 -1
- data/doc/TaskJuggler/RTFWithQuerySupport.html +11 -1
- data/doc/TaskJuggler/RealFormat.html +12 -2
- data/doc/TaskJuggler/RealFormatAttribute.html +15 -5
- data/doc/TaskJuggler/ReferenceAttribute.html +38 -28
- data/doc/TaskJuggler/Report.html +96 -113
- data/doc/TaskJuggler/ReportBase.html +161 -152
- data/doc/TaskJuggler/ReportContext.html +11 -1
- data/doc/TaskJuggler/ReportServer.html +59 -48
- data/doc/TaskJuggler/ReportServerIface.html +51 -41
- data/doc/TaskJuggler/ReportServerRecord.html +11 -1
- data/doc/TaskJuggler/ReportServlet.html +11 -1
- data/doc/TaskJuggler/ReportTable.html +46 -25
- data/doc/TaskJuggler/ReportTableCell.html +296 -275
- data/doc/TaskJuggler/ReportTableColumn.html +14 -4
- data/doc/TaskJuggler/ReportTableLegend.html +11 -1
- data/doc/TaskJuggler/ReportTableLine.html +19 -7
- data/doc/TaskJuggler/Resource.html +12 -2
- data/doc/TaskJuggler/ResourceListAttribute.html +40 -30
- data/doc/TaskJuggler/ResourceListRE.html +11 -1
- data/doc/TaskJuggler/ResourceScenario.html +708 -565
- data/doc/TaskJuggler/RichText.html +54 -36
- data/doc/TaskJuggler/RichTextAttribute.html +31 -21
- data/doc/TaskJuggler/RichTextDocument.html +11 -1
- data/doc/TaskJuggler/RichTextElement.html +11 -1
- data/doc/TaskJuggler/RichTextFunctionExample.html +11 -1
- data/doc/TaskJuggler/RichTextFunctionHandler.html +11 -1
- data/doc/TaskJuggler/RichTextImage.html +11 -1
- data/doc/TaskJuggler/RichTextIntermediate.html +81 -71
- data/doc/TaskJuggler/RichTextParser.html +88 -33
- data/doc/TaskJuggler/RichTextScanner.html +45 -35
- data/doc/TaskJuggler/RichTextSnip.html +11 -1
- data/doc/TaskJuggler/RichTextSyntaxRules.html +436 -389
- data/doc/TaskJuggler/Scenario.html +11 -1
- data/doc/TaskJuggler/ScenarioData.html +11 -1
- data/doc/TaskJuggler/ScenarioListAttribute.html +23 -13
- data/doc/TaskJuggler/Scoreboard.html +92 -73
- data/doc/TaskJuggler/SheetHandlerBase.html +11 -1
- data/doc/TaskJuggler/SheetReceiver.html +11 -1
- data/doc/TaskJuggler/SheetSender.html +11 -1
- data/doc/TaskJuggler/Shift.html +11 -1
- data/doc/TaskJuggler/ShiftAssignment.html +11 -1
- data/doc/TaskJuggler/ShiftAssignments.html +11 -1
- data/doc/TaskJuggler/ShiftAssignmentsAttribute.html +24 -14
- data/doc/TaskJuggler/ShiftScenario.html +11 -1
- data/doc/TaskJuggler/SimpleQueryExpander.html +11 -1
- data/doc/TaskJuggler/SortListAttribute.html +21 -11
- data/doc/TaskJuggler/SourceFileInfo.html +11 -1
- data/doc/TaskJuggler/StatusSheetReceiver.html +11 -1
- data/doc/TaskJuggler/StatusSheetReport.html +11 -1
- data/doc/TaskJuggler/StatusSheetSender.html +112 -11
- data/doc/TaskJuggler/StringAttribute.html +23 -13
- data/doc/TaskJuggler/SymbolAttribute.html +19 -9
- data/doc/TaskJuggler/SyntaxReference.html +80 -71
- data/doc/TaskJuggler/TOCEntry.html +11 -1
- data/doc/TaskJuggler/TSResourceRecord.html +11 -1
- data/doc/TaskJuggler/TSTaskRecord.html +11 -1
- data/doc/TaskJuggler/TableColumnDefinition.html +11 -1
- data/doc/TaskJuggler/TableOfContents.html +11 -1
- data/doc/TaskJuggler/TableReport.html +422 -411
- data/doc/TaskJuggler/Task.html +11 -1
- data/doc/TaskJuggler/TaskDependency.html +11 -1
- data/doc/TaskJuggler/TaskListAttribute.html +33 -23
- data/doc/TaskJuggler/TaskListRE.html +11 -1
- data/doc/TaskJuggler/TaskScenario.html +2007 -1919
- data/doc/TaskJuggler/TextFormatter.html +11 -1
- data/doc/TaskJuggler/TextParser.html +421 -612
- data/doc/TaskJuggler/TextParser/Pattern.html +410 -211
- data/doc/TaskJuggler/TextParser/Rule.html +224 -152
- data/doc/TaskJuggler/TextParser/StackElement.html +190 -28
- data/doc/TaskJuggler/TextParser/State.html +989 -0
- data/doc/TaskJuggler/TextParser/StateTransition.html +782 -0
- data/doc/TaskJuggler/TextParser/TextParserResultArray.html +25 -14
- data/doc/TaskJuggler/TextParser/TokenDoc.html +11 -1
- data/doc/TaskJuggler/TextReport.html +11 -1
- data/doc/TaskJuggler/TextScanner.html +285 -273
- data/doc/TaskJuggler/TextScanner/BufferStreamHandle.html +17 -7
- data/doc/TaskJuggler/TextScanner/FileStreamHandle.html +24 -14
- data/doc/TaskJuggler/TextScanner/MacroStackEntry.html +11 -1
- data/doc/TaskJuggler/TextScanner/StreamHandle.html +64 -52
- data/doc/TaskJuggler/TimeSheet.html +11 -1
- data/doc/TaskJuggler/TimeSheetReceiver.html +11 -1
- data/doc/TaskJuggler/TimeSheetRecord.html +11 -1
- data/doc/TaskJuggler/TimeSheetReport.html +11 -1
- data/doc/TaskJuggler/TimeSheetSender.html +11 -1
- data/doc/TaskJuggler/TimeSheetSummary.html +11 -1
- data/doc/TaskJuggler/TimeSheets.html +11 -1
- data/doc/TaskJuggler/Tj3AppBase.html +11 -1
- data/doc/TaskJuggler/Tj3Client.html +11 -1
- data/doc/TaskJuggler/Tj3Daemon.html +11 -1
- data/doc/TaskJuggler/Tj3SheetAppBase.html +11 -1
- data/doc/TaskJuggler/Tj3SsReceiver.html +11 -1
- data/doc/TaskJuggler/Tj3SsSender.html +11 -1
- data/doc/TaskJuggler/Tj3TsReceiver.html +11 -1
- data/doc/TaskJuggler/Tj3TsSender.html +11 -1
- data/doc/TaskJuggler/Tj3TsSummary.html +11 -1
- data/doc/TaskJuggler/TjException.html +11 -1
- data/doc/TaskJuggler/TjTime.html +474 -324
- data/doc/TaskJuggler/TjpExample.html +11 -1
- data/doc/TaskJuggler/TjpExportRE.html +11 -1
- data/doc/TaskJuggler/TjpSyntaxRules.html +3731 -3662
- data/doc/TaskJuggler/URLParameter.html +11 -1
- data/doc/TaskJuggler/UserManual.html +11 -1
- data/doc/TaskJuggler/VimSyntax.html +11 -1
- data/doc/TaskJuggler/WebServer.html +11 -1
- data/doc/TaskJuggler/WorkingHours.html +295 -221
- data/doc/TaskJuggler/WorkingHoursAttribute.html +11 -1
- data/doc/TaskJuggler/XMLBlob.html +11 -1
- data/doc/TaskJuggler/XMLComment.html +11 -1
- data/doc/TaskJuggler/XMLDocument.html +11 -1
- data/doc/TaskJuggler/XMLElement.html +11 -1
- data/doc/TaskJuggler/XMLNamedText.html +11 -1
- data/doc/TaskJuggler/XMLText.html +11 -1
- data/doc/index.html +694 -624
- data/doc/lib/AppConfig_rb.html +1 -1
- data/doc/lib/Attributes_rb.html +1 -1
- data/doc/lib/Booking_rb.html +1 -1
- data/doc/lib/DataCache_rb.html +69 -0
- data/doc/lib/KeywordDocumentation_rb.html +1 -1
- data/doc/lib/ProjectFileParser_rb.html +1 -1
- data/doc/lib/ProjectFileScanner_rb.html +1 -1
- data/doc/lib/Project_rb.html +1 -1
- data/doc/lib/PropertyList_rb.html +1 -1
- data/doc/lib/Query_rb.html +1 -1
- data/doc/lib/RealFormat_rb.html +1 -1
- data/doc/lib/ResourceScenario_rb.html +1 -1
- data/doc/lib/Resource_rb.html +1 -1
- data/doc/lib/RichTextParser_rb.html +1 -1
- data/doc/lib/RichTextScanner_rb.html +1 -1
- data/doc/lib/RichTextSyntaxRules_rb.html +1 -1
- data/doc/lib/RichText_rb.html +1 -1
- data/doc/lib/Scoreboard_rb.html +1 -1
- data/doc/lib/StatusSheetSender_rb.html +1 -1
- data/doc/lib/SyntaxReference_rb.html +1 -1
- data/doc/lib/TaskJuggler_rb.html +1 -1
- data/doc/lib/TaskScenario_rb.html +3 -1
- data/doc/lib/TextParser/Pattern_rb.html +3 -1
- data/doc/lib/TextParser/Rule_rb.html +3 -1
- data/doc/lib/TextParser/StackElement_rb.html +3 -1
- data/doc/lib/TextParser/State_rb.html +65 -0
- data/doc/lib/TextParser_rb.html +1 -1
- data/doc/lib/TextScanner_rb.html +1 -1
- data/doc/lib/Tj3Config_rb.html +1 -1
- data/doc/lib/TjTime_rb.html +1 -1
- data/doc/lib/TjpSyntaxRules_rb.html +1 -1
- data/doc/lib/WorkingHours_rb.html +3 -1
- data/doc/lib/daemon/ReportServer_rb.html +1 -1
- data/doc/lib/reports/CSVFile_rb.html +1 -1
- data/doc/lib/reports/CollisionDetector_rb.html +67 -0
- data/doc/lib/reports/GanttChart_rb.html +1 -1
- data/doc/lib/reports/GanttRouter_rb.html +3 -1
- data/doc/lib/reports/Navigator_rb.html +1 -1
- data/doc/lib/reports/ReportBase_rb.html +1 -1
- data/doc/lib/reports/ReportTableCell_rb.html +1 -1
- data/doc/lib/reports/ReportTableColumn_rb.html +1 -1
- data/doc/lib/reports/ReportTableLine_rb.html +1 -1
- data/doc/lib/reports/ReportTable_rb.html +1 -1
- data/doc/lib/reports/Report_rb.html +1 -1
- data/doc/lib/reports/TableReport_rb.html +1 -1
- data/doc/lib/taskjuggler3_rb.html +1 -1
- data/examples/tutorial.tjp +1 -2
- data/lib/AppConfig.rb +10 -4
- data/lib/Attributes.rb +4 -4
- data/lib/DataCache.rb +124 -0
- data/lib/KeywordDocumentation.rb +5 -5
- data/lib/Project.rb +54 -10
- data/lib/ProjectFileParser.rb +10 -9
- data/lib/ProjectFileScanner.rb +38 -25
- data/lib/PropertyList.rb +6 -4
- data/lib/Query.rb +0 -8
- data/lib/RealFormat.rb +1 -1
- data/lib/Resource.rb +1 -1
- data/lib/ResourceScenario.rb +96 -31
- data/lib/RichText.rb +17 -5
- data/lib/RichTextParser.rb +22 -9
- data/lib/RichTextScanner.rb +34 -34
- data/lib/RichTextSyntaxRules.rb +41 -36
- data/lib/Scoreboard.rb +16 -7
- data/lib/StatusSheetSender.rb +63 -0
- data/lib/SyntaxReference.rb +9 -10
- data/lib/TaskJuggler.rb +28 -4
- data/lib/TaskScenario.rb +66 -19
- data/lib/TextParser.rb +219 -384
- data/lib/TextParser/Pattern.rb +168 -49
- data/lib/TextParser/Rule.rb +33 -17
- data/lib/TextParser/StackElement.rb +42 -2
- data/lib/TextParser/State.rb +175 -0
- data/lib/TextScanner.rb +19 -15
- data/lib/Tj3Config.rb +1 -1
- data/lib/TjTime.rb +111 -3
- data/lib/TjpSyntaxRules.rb +122 -66
- data/lib/WorkingHours.rb +91 -186
- data/lib/daemon/ReportServer.rb +3 -2
- data/lib/reports/CSVFile.rb +1 -1
- data/lib/reports/CollisionDetector.rb +177 -0
- data/lib/reports/GanttChart.rb +25 -41
- data/lib/reports/GanttRouter.rb +104 -233
- data/lib/reports/Navigator.rb +1 -1
- data/lib/reports/Report.rb +9 -33
- data/lib/reports/ReportBase.rb +0 -1
- data/lib/reports/ReportTable.rb +19 -8
- data/lib/reports/ReportTableCell.rb +61 -25
- data/lib/reports/ReportTableColumn.rb +2 -2
- data/lib/reports/ReportTableLine.rb +4 -2
- data/lib/reports/TableReport.rb +1 -0
- data/lib/taskjuggler3.rb +0 -1
- data/manual/Installation +7 -3
- data/manual/Intro +12 -10
- data/manual/The_TaskJuggler_Syntax +4 -4
- data/test/TestSuite/CSV-Reports/celltext-Reference.csv +14 -14
- data/test/TestSuite/CSV-Reports/genrefs +1 -1
- data/test/TestSuite/CSV-Reports/resourcereport-Reference.csv +4 -4
- data/test/TestSuite/CSV-Reports/resourcereport_with_tasks-Reference.csv +22 -22
- data/test/TestSuite/CSV-Reports/sortByTree-Reference.csv +14 -14
- data/test/TestSuite/CSV-Reports/sortBy_duration.down-Reference.csv +14 -14
- data/test/TestSuite/CSV-Reports/sortBy_effort.up-Reference.csv +14 -14
- data/test/TestSuite/CSV-Reports/sortBy_plan.start.down-Reference.csv +14 -14
- data/test/TestSuite/CSV-Reports/taskreport-Reference.csv +14 -14
- data/test/TestSuite/CSV-Reports/taskreport_with_resources-Reference.csv +32 -24
- data/test/TestSuite/CSV-Reports/weekly-Reference.csv +13 -0
- data/test/TestSuite/CSV-Reports/weekly.tjp +9 -0
- data/test/TestSuite/HTML-Reports/css/tjreport.css +7 -2
- data/test/TestSuite/HTML-Reports/depArrows.html +839 -830
- data/test/TestSuite/HTML-Reports/depArrows.tjp +12 -12
- data/test/TestSuite/HTML-Reports/profile.html +37581 -0
- data/test/TestSuite/ReportGenerator/Errors/no_report_defined.tjp +7 -0
- data/test/TestSuite/ReportGenerator/Errors/rtp_report_recursion.tjp +1 -1
- data/test/TestSuite/StatusSheets/TimeSheets/2002-03-01/missing-reports +2 -0
- data/test/TestSuite/StatusSheets/run +2 -0
- data/test/TestSuite/Syntax/Correct/Booking.tjp +13 -5
- data/test/TestSuite/Syntax/Correct/ResourceRoot.tjp +21 -0
- data/test/TestSuite/Syntax/Correct/RollupResource.tjp +21 -0
- data/test/TestSuite/Syntax/Correct/TaskRoot.tjp +1 -1
- data/test/TestSuite/Syntax/Errors/empty.tjp +1 -1
- data/test/TestSuite/Syntax/Errors/include_before_project.tjp +2 -0
- data/test/TestSuite/Syntax/Errors/no_reduce.tjp +6 -0
- data/test/TestSuite/Syntax/Errors/unsupported_token.tjp +1 -1
- data/test/TestSuite/TimeSheets/run +1 -1
- data/test/test_CSV-Reports.rb +2 -4
- data/test/test_CollisionDetector.rb +85 -0
- data/test/test_Project.rb +2 -2
- data/test/test_ProjectFileScanner.rb +73 -31
- data/test/test_Query.rb +2 -2
- data/test/test_ReportGenerator.rb +1 -1
- data/test/test_RichText.rb +4 -4
- data/test/test_WorkingHours.rb +150 -11
- metadata +75 -67
- data/test/TestSuite/ReportGenerator/Errors/css/tjreport.css +0 -407
- data/test/TestSuite/ReportGenerator/Errors/rtp_report_recursion.html +0 -26
- data/test/TestSuite/Scheduler/Correct/Allocate.html +0 -3210
- data/test/TestSuite/Scheduler/Correct/Container.html +0 -349
- data/test/TestSuite/Scheduler/Correct/Limits.html +0 -4964
- data/test/TestSuite/Scheduler/Correct/Shift.html +0 -1719
- data/test/TestSuite/Scheduler/Correct/Shift2.html +0 -476
- data/test/TestSuite/Scheduler/Correct/css/tjmanual.css +0 -66
- data/test/TestSuite/Scheduler/Correct/icons/details.png +0 -0
- data/test/TestSuite/Scheduler/Correct/icons/flag-green.png +0 -0
- data/test/TestSuite/Scheduler/Correct/icons/flag-red.png +0 -0
- data/test/TestSuite/Scheduler/Correct/icons/flag-yellow.png +0 -0
- data/test/TestSuite/Scheduler/Correct/icons/resource.png +0 -0
- data/test/TestSuite/Scheduler/Correct/icons/resourcegroup.png +0 -0
- data/test/TestSuite/Scheduler/Correct/icons/task.png +0 -0
- data/test/TestSuite/Scheduler/Correct/icons/taskgroup.png +0 -0
- data/test/TestSuite/Scheduler/Correct/icons/trend-down.png +0 -0
- data/test/TestSuite/Scheduler/Correct/icons/trend-flat.png +0 -0
- data/test/TestSuite/Scheduler/Correct/icons/trend-up.png +0 -0
- data/test/TestSuite/Scheduler/Correct/scripts/wz_tooltip.js +0 -1301
- data/test/TestSuite/Scheduler/Errors/css/tjmanual.css +0 -66
- data/test/TestSuite/Scheduler/Errors/css/tjreport.css +0 -407
- data/test/TestSuite/Scheduler/Errors/icons/details.png +0 -0
- data/test/TestSuite/Scheduler/Errors/icons/flag-green.png +0 -0
- data/test/TestSuite/Scheduler/Errors/icons/flag-red.png +0 -0
- data/test/TestSuite/Scheduler/Errors/icons/flag-yellow.png +0 -0
- data/test/TestSuite/Scheduler/Errors/icons/resource.png +0 -0
- data/test/TestSuite/Scheduler/Errors/icons/resourcegroup.png +0 -0
- data/test/TestSuite/Scheduler/Errors/icons/task.png +0 -0
- data/test/TestSuite/Scheduler/Errors/icons/taskgroup.png +0 -0
- data/test/TestSuite/Scheduler/Errors/icons/trend-down.png +0 -0
- data/test/TestSuite/Scheduler/Errors/icons/trend-flat.png +0 -0
- data/test/TestSuite/Scheduler/Errors/icons/trend-up.png +0 -0
- data/test/TestSuite/Scheduler/Errors/scripts/wz_tooltip.js +0 -1301
- data/test/TestSuite/StatusSheets/resrep.tji +0 -7
- data/test/TestSuite/StatusSheets/tj3d.log +0 -312
- data/test/TestSuite/Syntax/Correct/Managers.html +0 -263
- data/test/TestSuite/TimeSheets/acceptable_intervals +0 -1
- data/test/TestSuite/TimeSheets/statussheets.log +0 -1
|
@@ -149,12 +149,18 @@
|
|
|
149
149
|
|
|
150
150
|
<li><a href="../TaskJuggler/ChargeSetListAttribute.html">TaskJuggler::ChargeSetListAttribute</a></li>
|
|
151
151
|
|
|
152
|
+
<li><a href="../TaskJuggler/CollisionDetector.html">TaskJuggler::CollisionDetector</a></li>
|
|
153
|
+
|
|
152
154
|
<li><a href="../TaskJuggler/ColumnListAttribute.html">TaskJuggler::ColumnListAttribute</a></li>
|
|
153
155
|
|
|
154
156
|
<li><a href="../TaskJuggler/ColumnTable.html">TaskJuggler::ColumnTable</a></li>
|
|
155
157
|
|
|
156
158
|
<li><a href="../TaskJuggler/Daemon.html">TaskJuggler::Daemon</a></li>
|
|
157
159
|
|
|
160
|
+
<li><a href="../TaskJuggler/DataCache.html">TaskJuggler::DataCache</a></li>
|
|
161
|
+
|
|
162
|
+
<li><a href="../TaskJuggler/DataCacheEntry.html">TaskJuggler::DataCacheEntry</a></li>
|
|
163
|
+
|
|
158
164
|
<li><a href="../TaskJuggler/DateAttribute.html">TaskJuggler::DateAttribute</a></li>
|
|
159
165
|
|
|
160
166
|
<li><a href="../TaskJuggler/DefinitionListAttribute.html">TaskJuggler::DefinitionListAttribute</a></li>
|
|
@@ -261,7 +267,7 @@
|
|
|
261
267
|
|
|
262
268
|
<li><a href="../TaskJuggler/NodeListAttribute.html">TaskJuggler::NodeListAttribute</a></li>
|
|
263
269
|
|
|
264
|
-
<li><a href="../TaskJuggler/
|
|
270
|
+
<li><a href="../TaskJuggler/PlaceHolderCell.html">TaskJuggler::PlaceHolderCell</a></li>
|
|
265
271
|
|
|
266
272
|
<li><a href="../TaskJuggler/ProcessIntercom.html">TaskJuggler::ProcessIntercom</a></li>
|
|
267
273
|
|
|
@@ -441,6 +447,10 @@
|
|
|
441
447
|
|
|
442
448
|
<li><a href="../TaskJuggler/TextParser/StackElement.html">TaskJuggler::TextParser::StackElement</a></li>
|
|
443
449
|
|
|
450
|
+
<li><a href="../TaskJuggler/TextParser/State.html">TaskJuggler::TextParser::State</a></li>
|
|
451
|
+
|
|
452
|
+
<li><a href="../TaskJuggler/TextParser/StateTransition.html">TaskJuggler::TextParser::StateTransition</a></li>
|
|
453
|
+
|
|
444
454
|
<li><a href="../TaskJuggler/TextParser/TextParserResultArray.html">TaskJuggler::TextParser::TextParserResultArray</a></li>
|
|
445
455
|
|
|
446
456
|
<li><a href="../TaskJuggler/TextParser/TokenDoc.html">TaskJuggler::TextParser::TokenDoc</a></li>
|
|
@@ -153,12 +153,18 @@
|
|
|
153
153
|
|
|
154
154
|
<li><a href="../TaskJuggler/ChargeSetListAttribute.html">TaskJuggler::ChargeSetListAttribute</a></li>
|
|
155
155
|
|
|
156
|
+
<li><a href="../TaskJuggler/CollisionDetector.html">TaskJuggler::CollisionDetector</a></li>
|
|
157
|
+
|
|
156
158
|
<li><a href="../TaskJuggler/ColumnListAttribute.html">TaskJuggler::ColumnListAttribute</a></li>
|
|
157
159
|
|
|
158
160
|
<li><a href="../TaskJuggler/ColumnTable.html">TaskJuggler::ColumnTable</a></li>
|
|
159
161
|
|
|
160
162
|
<li><a href="../TaskJuggler/Daemon.html">TaskJuggler::Daemon</a></li>
|
|
161
163
|
|
|
164
|
+
<li><a href="../TaskJuggler/DataCache.html">TaskJuggler::DataCache</a></li>
|
|
165
|
+
|
|
166
|
+
<li><a href="../TaskJuggler/DataCacheEntry.html">TaskJuggler::DataCacheEntry</a></li>
|
|
167
|
+
|
|
162
168
|
<li><a href="../TaskJuggler/DateAttribute.html">TaskJuggler::DateAttribute</a></li>
|
|
163
169
|
|
|
164
170
|
<li><a href="../TaskJuggler/DefinitionListAttribute.html">TaskJuggler::DefinitionListAttribute</a></li>
|
|
@@ -265,7 +271,7 @@
|
|
|
265
271
|
|
|
266
272
|
<li><a href="../TaskJuggler/NodeListAttribute.html">TaskJuggler::NodeListAttribute</a></li>
|
|
267
273
|
|
|
268
|
-
<li><a href="../TaskJuggler/
|
|
274
|
+
<li><a href="../TaskJuggler/PlaceHolderCell.html">TaskJuggler::PlaceHolderCell</a></li>
|
|
269
275
|
|
|
270
276
|
<li><a href="../TaskJuggler/ProcessIntercom.html">TaskJuggler::ProcessIntercom</a></li>
|
|
271
277
|
|
|
@@ -445,6 +451,10 @@
|
|
|
445
451
|
|
|
446
452
|
<li><a href="../TaskJuggler/TextParser/StackElement.html">TaskJuggler::TextParser::StackElement</a></li>
|
|
447
453
|
|
|
454
|
+
<li><a href="../TaskJuggler/TextParser/State.html">TaskJuggler::TextParser::State</a></li>
|
|
455
|
+
|
|
456
|
+
<li><a href="../TaskJuggler/TextParser/StateTransition.html">TaskJuggler::TextParser::StateTransition</a></li>
|
|
457
|
+
|
|
448
458
|
<li><a href="../TaskJuggler/TextParser/TextParserResultArray.html">TaskJuggler::TextParser::TextParserResultArray</a></li>
|
|
449
459
|
|
|
450
460
|
<li><a href="../TaskJuggler/TextParser/TokenDoc.html">TaskJuggler::TextParser::TokenDoc</a></li>
|
data/doc/TaskJuggler/Charge.html
CHANGED
|
@@ -153,12 +153,18 @@
|
|
|
153
153
|
|
|
154
154
|
<li><a href="../TaskJuggler/ChargeSetListAttribute.html">TaskJuggler::ChargeSetListAttribute</a></li>
|
|
155
155
|
|
|
156
|
+
<li><a href="../TaskJuggler/CollisionDetector.html">TaskJuggler::CollisionDetector</a></li>
|
|
157
|
+
|
|
156
158
|
<li><a href="../TaskJuggler/ColumnListAttribute.html">TaskJuggler::ColumnListAttribute</a></li>
|
|
157
159
|
|
|
158
160
|
<li><a href="../TaskJuggler/ColumnTable.html">TaskJuggler::ColumnTable</a></li>
|
|
159
161
|
|
|
160
162
|
<li><a href="../TaskJuggler/Daemon.html">TaskJuggler::Daemon</a></li>
|
|
161
163
|
|
|
164
|
+
<li><a href="../TaskJuggler/DataCache.html">TaskJuggler::DataCache</a></li>
|
|
165
|
+
|
|
166
|
+
<li><a href="../TaskJuggler/DataCacheEntry.html">TaskJuggler::DataCacheEntry</a></li>
|
|
167
|
+
|
|
162
168
|
<li><a href="../TaskJuggler/DateAttribute.html">TaskJuggler::DateAttribute</a></li>
|
|
163
169
|
|
|
164
170
|
<li><a href="../TaskJuggler/DefinitionListAttribute.html">TaskJuggler::DefinitionListAttribute</a></li>
|
|
@@ -265,7 +271,7 @@
|
|
|
265
271
|
|
|
266
272
|
<li><a href="../TaskJuggler/NodeListAttribute.html">TaskJuggler::NodeListAttribute</a></li>
|
|
267
273
|
|
|
268
|
-
<li><a href="../TaskJuggler/
|
|
274
|
+
<li><a href="../TaskJuggler/PlaceHolderCell.html">TaskJuggler::PlaceHolderCell</a></li>
|
|
269
275
|
|
|
270
276
|
<li><a href="../TaskJuggler/ProcessIntercom.html">TaskJuggler::ProcessIntercom</a></li>
|
|
271
277
|
|
|
@@ -445,6 +451,10 @@
|
|
|
445
451
|
|
|
446
452
|
<li><a href="../TaskJuggler/TextParser/StackElement.html">TaskJuggler::TextParser::StackElement</a></li>
|
|
447
453
|
|
|
454
|
+
<li><a href="../TaskJuggler/TextParser/State.html">TaskJuggler::TextParser::State</a></li>
|
|
455
|
+
|
|
456
|
+
<li><a href="../TaskJuggler/TextParser/StateTransition.html">TaskJuggler::TextParser::StateTransition</a></li>
|
|
457
|
+
|
|
448
458
|
<li><a href="../TaskJuggler/TextParser/TextParserResultArray.html">TaskJuggler::TextParser::TextParserResultArray</a></li>
|
|
449
459
|
|
|
450
460
|
<li><a href="../TaskJuggler/TextParser/TokenDoc.html">TaskJuggler::TextParser::TokenDoc</a></li>
|
|
@@ -153,12 +153,18 @@
|
|
|
153
153
|
|
|
154
154
|
<li><a href="../TaskJuggler/ChargeSetListAttribute.html">TaskJuggler::ChargeSetListAttribute</a></li>
|
|
155
155
|
|
|
156
|
+
<li><a href="../TaskJuggler/CollisionDetector.html">TaskJuggler::CollisionDetector</a></li>
|
|
157
|
+
|
|
156
158
|
<li><a href="../TaskJuggler/ColumnListAttribute.html">TaskJuggler::ColumnListAttribute</a></li>
|
|
157
159
|
|
|
158
160
|
<li><a href="../TaskJuggler/ColumnTable.html">TaskJuggler::ColumnTable</a></li>
|
|
159
161
|
|
|
160
162
|
<li><a href="../TaskJuggler/Daemon.html">TaskJuggler::Daemon</a></li>
|
|
161
163
|
|
|
164
|
+
<li><a href="../TaskJuggler/DataCache.html">TaskJuggler::DataCache</a></li>
|
|
165
|
+
|
|
166
|
+
<li><a href="../TaskJuggler/DataCacheEntry.html">TaskJuggler::DataCacheEntry</a></li>
|
|
167
|
+
|
|
162
168
|
<li><a href="../TaskJuggler/DateAttribute.html">TaskJuggler::DateAttribute</a></li>
|
|
163
169
|
|
|
164
170
|
<li><a href="../TaskJuggler/DefinitionListAttribute.html">TaskJuggler::DefinitionListAttribute</a></li>
|
|
@@ -265,7 +271,7 @@
|
|
|
265
271
|
|
|
266
272
|
<li><a href="../TaskJuggler/NodeListAttribute.html">TaskJuggler::NodeListAttribute</a></li>
|
|
267
273
|
|
|
268
|
-
<li><a href="../TaskJuggler/
|
|
274
|
+
<li><a href="../TaskJuggler/PlaceHolderCell.html">TaskJuggler::PlaceHolderCell</a></li>
|
|
269
275
|
|
|
270
276
|
<li><a href="../TaskJuggler/ProcessIntercom.html">TaskJuggler::ProcessIntercom</a></li>
|
|
271
277
|
|
|
@@ -445,6 +451,10 @@
|
|
|
445
451
|
|
|
446
452
|
<li><a href="../TaskJuggler/TextParser/StackElement.html">TaskJuggler::TextParser::StackElement</a></li>
|
|
447
453
|
|
|
454
|
+
<li><a href="../TaskJuggler/TextParser/State.html">TaskJuggler::TextParser::State</a></li>
|
|
455
|
+
|
|
456
|
+
<li><a href="../TaskJuggler/TextParser/StateTransition.html">TaskJuggler::TextParser::StateTransition</a></li>
|
|
457
|
+
|
|
448
458
|
<li><a href="../TaskJuggler/TextParser/TextParserResultArray.html">TaskJuggler::TextParser::TextParserResultArray</a></li>
|
|
449
459
|
|
|
450
460
|
<li><a href="../TaskJuggler/TextParser/TokenDoc.html">TaskJuggler::TextParser::TokenDoc</a></li>
|
|
@@ -159,12 +159,18 @@
|
|
|
159
159
|
|
|
160
160
|
<li><a href="../TaskJuggler/ChargeSetListAttribute.html">TaskJuggler::ChargeSetListAttribute</a></li>
|
|
161
161
|
|
|
162
|
+
<li><a href="../TaskJuggler/CollisionDetector.html">TaskJuggler::CollisionDetector</a></li>
|
|
163
|
+
|
|
162
164
|
<li><a href="../TaskJuggler/ColumnListAttribute.html">TaskJuggler::ColumnListAttribute</a></li>
|
|
163
165
|
|
|
164
166
|
<li><a href="../TaskJuggler/ColumnTable.html">TaskJuggler::ColumnTable</a></li>
|
|
165
167
|
|
|
166
168
|
<li><a href="../TaskJuggler/Daemon.html">TaskJuggler::Daemon</a></li>
|
|
167
169
|
|
|
170
|
+
<li><a href="../TaskJuggler/DataCache.html">TaskJuggler::DataCache</a></li>
|
|
171
|
+
|
|
172
|
+
<li><a href="../TaskJuggler/DataCacheEntry.html">TaskJuggler::DataCacheEntry</a></li>
|
|
173
|
+
|
|
168
174
|
<li><a href="../TaskJuggler/DateAttribute.html">TaskJuggler::DateAttribute</a></li>
|
|
169
175
|
|
|
170
176
|
<li><a href="../TaskJuggler/DefinitionListAttribute.html">TaskJuggler::DefinitionListAttribute</a></li>
|
|
@@ -271,7 +277,7 @@
|
|
|
271
277
|
|
|
272
278
|
<li><a href="../TaskJuggler/NodeListAttribute.html">TaskJuggler::NodeListAttribute</a></li>
|
|
273
279
|
|
|
274
|
-
<li><a href="../TaskJuggler/
|
|
280
|
+
<li><a href="../TaskJuggler/PlaceHolderCell.html">TaskJuggler::PlaceHolderCell</a></li>
|
|
275
281
|
|
|
276
282
|
<li><a href="../TaskJuggler/ProcessIntercom.html">TaskJuggler::ProcessIntercom</a></li>
|
|
277
283
|
|
|
@@ -451,6 +457,10 @@
|
|
|
451
457
|
|
|
452
458
|
<li><a href="../TaskJuggler/TextParser/StackElement.html">TaskJuggler::TextParser::StackElement</a></li>
|
|
453
459
|
|
|
460
|
+
<li><a href="../TaskJuggler/TextParser/State.html">TaskJuggler::TextParser::State</a></li>
|
|
461
|
+
|
|
462
|
+
<li><a href="../TaskJuggler/TextParser/StateTransition.html">TaskJuggler::TextParser::StateTransition</a></li>
|
|
463
|
+
|
|
454
464
|
<li><a href="../TaskJuggler/TextParser/TextParserResultArray.html">TaskJuggler::TextParser::TextParserResultArray</a></li>
|
|
455
465
|
|
|
456
466
|
<li><a href="../TaskJuggler/TextParser/TokenDoc.html">TaskJuggler::TextParser::TokenDoc</a></li>
|
|
@@ -155,12 +155,18 @@
|
|
|
155
155
|
|
|
156
156
|
<li><a href="../TaskJuggler/ChargeSetListAttribute.html">TaskJuggler::ChargeSetListAttribute</a></li>
|
|
157
157
|
|
|
158
|
+
<li><a href="../TaskJuggler/CollisionDetector.html">TaskJuggler::CollisionDetector</a></li>
|
|
159
|
+
|
|
158
160
|
<li><a href="../TaskJuggler/ColumnListAttribute.html">TaskJuggler::ColumnListAttribute</a></li>
|
|
159
161
|
|
|
160
162
|
<li><a href="../TaskJuggler/ColumnTable.html">TaskJuggler::ColumnTable</a></li>
|
|
161
163
|
|
|
162
164
|
<li><a href="../TaskJuggler/Daemon.html">TaskJuggler::Daemon</a></li>
|
|
163
165
|
|
|
166
|
+
<li><a href="../TaskJuggler/DataCache.html">TaskJuggler::DataCache</a></li>
|
|
167
|
+
|
|
168
|
+
<li><a href="../TaskJuggler/DataCacheEntry.html">TaskJuggler::DataCacheEntry</a></li>
|
|
169
|
+
|
|
164
170
|
<li><a href="../TaskJuggler/DateAttribute.html">TaskJuggler::DateAttribute</a></li>
|
|
165
171
|
|
|
166
172
|
<li><a href="../TaskJuggler/DefinitionListAttribute.html">TaskJuggler::DefinitionListAttribute</a></li>
|
|
@@ -267,7 +273,7 @@
|
|
|
267
273
|
|
|
268
274
|
<li><a href="../TaskJuggler/NodeListAttribute.html">TaskJuggler::NodeListAttribute</a></li>
|
|
269
275
|
|
|
270
|
-
<li><a href="../TaskJuggler/
|
|
276
|
+
<li><a href="../TaskJuggler/PlaceHolderCell.html">TaskJuggler::PlaceHolderCell</a></li>
|
|
271
277
|
|
|
272
278
|
<li><a href="../TaskJuggler/ProcessIntercom.html">TaskJuggler::ProcessIntercom</a></li>
|
|
273
279
|
|
|
@@ -447,6 +453,10 @@
|
|
|
447
453
|
|
|
448
454
|
<li><a href="../TaskJuggler/TextParser/StackElement.html">TaskJuggler::TextParser::StackElement</a></li>
|
|
449
455
|
|
|
456
|
+
<li><a href="../TaskJuggler/TextParser/State.html">TaskJuggler::TextParser::State</a></li>
|
|
457
|
+
|
|
458
|
+
<li><a href="../TaskJuggler/TextParser/StateTransition.html">TaskJuggler::TextParser::StateTransition</a></li>
|
|
459
|
+
|
|
450
460
|
<li><a href="../TaskJuggler/TextParser/TextParserResultArray.html">TaskJuggler::TextParser::TextParserResultArray</a></li>
|
|
451
461
|
|
|
452
462
|
<li><a href="../TaskJuggler/TextParser/TokenDoc.html">TaskJuggler::TextParser::TokenDoc</a></li>
|
|
@@ -0,0 +1,1063 @@
|
|
|
1
|
+
<?xml version="1.0" encoding="utf-8"?>
|
|
2
|
+
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
|
|
3
|
+
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
|
|
4
|
+
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
|
|
5
|
+
<head>
|
|
6
|
+
<meta content="text/html; charset=utf-8" http-equiv="Content-Type" />
|
|
7
|
+
|
|
8
|
+
<title>Class: TaskJuggler::CollisionDetector</title>
|
|
9
|
+
|
|
10
|
+
<link rel="stylesheet" href="../rdoc.css" type="text/css" media="screen" />
|
|
11
|
+
|
|
12
|
+
<script src="../js/jquery.js" type="text/javascript"
|
|
13
|
+
charset="utf-8"></script>
|
|
14
|
+
<script src="../js/thickbox-compressed.js" type="text/javascript"
|
|
15
|
+
charset="utf-8"></script>
|
|
16
|
+
<script src="../js/quicksearch.js" type="text/javascript"
|
|
17
|
+
charset="utf-8"></script>
|
|
18
|
+
<script src="../js/darkfish.js" type="text/javascript"
|
|
19
|
+
charset="utf-8"></script>
|
|
20
|
+
|
|
21
|
+
</head>
|
|
22
|
+
<body class="class">
|
|
23
|
+
|
|
24
|
+
<div id="metadata">
|
|
25
|
+
<div id="home-metadata">
|
|
26
|
+
<div id="home-section" class="section">
|
|
27
|
+
<h3 class="section-header">
|
|
28
|
+
<a href="../index.html">Home</a>
|
|
29
|
+
<a href="../index.html#classes">Classes</a>
|
|
30
|
+
<a href="../index.html#methods">Methods</a>
|
|
31
|
+
</h3>
|
|
32
|
+
</div>
|
|
33
|
+
</div>
|
|
34
|
+
|
|
35
|
+
<div id="file-metadata">
|
|
36
|
+
<div id="file-list-section" class="section">
|
|
37
|
+
<h3 class="section-header">In Files</h3>
|
|
38
|
+
<div class="section-body">
|
|
39
|
+
<ul>
|
|
40
|
+
|
|
41
|
+
<li><a href="../lib/reports/CollisionDetector_rb.html?TB_iframe=true&height=550&width=785"
|
|
42
|
+
class="thickbox" title="lib/reports/CollisionDetector.rb">lib/reports/CollisionDetector.rb</a></li>
|
|
43
|
+
|
|
44
|
+
</ul>
|
|
45
|
+
</div>
|
|
46
|
+
</div>
|
|
47
|
+
|
|
48
|
+
|
|
49
|
+
</div>
|
|
50
|
+
|
|
51
|
+
<div id="class-metadata">
|
|
52
|
+
|
|
53
|
+
<!-- Parent Class -->
|
|
54
|
+
|
|
55
|
+
<div id="parent-class-section" class="section">
|
|
56
|
+
<h3 class="section-header">Parent</h3>
|
|
57
|
+
|
|
58
|
+
<p class="link"><a href="../Object.html">Object</a></p>
|
|
59
|
+
|
|
60
|
+
</div>
|
|
61
|
+
|
|
62
|
+
|
|
63
|
+
<!-- Namespace Contents -->
|
|
64
|
+
|
|
65
|
+
|
|
66
|
+
<!-- Method Quickref -->
|
|
67
|
+
|
|
68
|
+
<div id="method-list-section" class="section">
|
|
69
|
+
<h3 class="section-header">Methods</h3>
|
|
70
|
+
<ul class="link-list">
|
|
71
|
+
|
|
72
|
+
<li><a href="#method-c-new">::new</a></li>
|
|
73
|
+
|
|
74
|
+
<li><a href="#method-i-addBlockedZone">#addBlockedZone</a></li>
|
|
75
|
+
|
|
76
|
+
<li><a href="#method-i-addSegment">#addSegment</a></li>
|
|
77
|
+
|
|
78
|
+
<li><a href="#method-i-clip">#clip</a></li>
|
|
79
|
+
|
|
80
|
+
<li><a href="#method-i-collision%3F">#collision?</a></li>
|
|
81
|
+
|
|
82
|
+
<li><a href="#method-i-merge">#merge</a></li>
|
|
83
|
+
|
|
84
|
+
<li><a href="#method-i-mergeable%3F">#mergeable?</a></li>
|
|
85
|
+
|
|
86
|
+
<li><a href="#method-i-overlaps%3F">#overlaps?</a></li>
|
|
87
|
+
|
|
88
|
+
<li><a href="#method-i-to_html">#to_html</a></li>
|
|
89
|
+
|
|
90
|
+
</ul>
|
|
91
|
+
</div>
|
|
92
|
+
|
|
93
|
+
|
|
94
|
+
<!-- Included Modules -->
|
|
95
|
+
|
|
96
|
+
<div id="includes-section" class="section">
|
|
97
|
+
<h3 class="section-header">Included Modules</h3>
|
|
98
|
+
<ul class="link-list">
|
|
99
|
+
|
|
100
|
+
|
|
101
|
+
<li><span class="include">HTMLGraphics</span></li>
|
|
102
|
+
|
|
103
|
+
|
|
104
|
+
</ul>
|
|
105
|
+
</div>
|
|
106
|
+
|
|
107
|
+
</div>
|
|
108
|
+
|
|
109
|
+
<div id="project-metadata">
|
|
110
|
+
|
|
111
|
+
|
|
112
|
+
<div id="fileindex-section" class="section project-section">
|
|
113
|
+
<h3 class="section-header">Files</h3>
|
|
114
|
+
<ul>
|
|
115
|
+
|
|
116
|
+
<li class="file"><a href="../CHANGELOG.html">CHANGELOG</a></li>
|
|
117
|
+
|
|
118
|
+
<li class="file"><a href="../COPYING.html">COPYING</a></li>
|
|
119
|
+
|
|
120
|
+
<li class="file"><a href="../README.html">README</a></li>
|
|
121
|
+
|
|
122
|
+
</ul>
|
|
123
|
+
</div>
|
|
124
|
+
|
|
125
|
+
|
|
126
|
+
<div id="classindex-section" class="section project-section">
|
|
127
|
+
<h3 class="section-header">Class Index
|
|
128
|
+
<span class="search-toggle"><img src="../images/find.png"
|
|
129
|
+
height="16" width="16" alt="[+]"
|
|
130
|
+
title="show/hide quicksearch" /></span></h3>
|
|
131
|
+
<form action="#" method="get" accept-charset="utf-8" class="initially-hidden">
|
|
132
|
+
<fieldset>
|
|
133
|
+
<legend>Quicksearch</legend>
|
|
134
|
+
<input type="text" name="quicksearch" value=""
|
|
135
|
+
class="quicksearch-field" />
|
|
136
|
+
</fieldset>
|
|
137
|
+
</form>
|
|
138
|
+
|
|
139
|
+
<ul class="link-list">
|
|
140
|
+
|
|
141
|
+
<li><a href="../TaskJuggler.html">TaskJuggler</a></li>
|
|
142
|
+
|
|
143
|
+
<li><a href="../TaskJuggler/Account.html">TaskJuggler::Account</a></li>
|
|
144
|
+
|
|
145
|
+
<li><a href="../TaskJuggler/AccountAttribute.html">TaskJuggler::AccountAttribute</a></li>
|
|
146
|
+
|
|
147
|
+
<li><a href="../TaskJuggler/AccountScenario.html">TaskJuggler::AccountScenario</a></li>
|
|
148
|
+
|
|
149
|
+
<li><a href="../TaskJuggler/Allocation.html">TaskJuggler::Allocation</a></li>
|
|
150
|
+
|
|
151
|
+
<li><a href="../TaskJuggler/AllocationAttribute.html">TaskJuggler::AllocationAttribute</a></li>
|
|
152
|
+
|
|
153
|
+
<li><a href="../TaskJuggler/AttributeBase.html">TaskJuggler::AttributeBase</a></li>
|
|
154
|
+
|
|
155
|
+
<li><a href="../TaskJuggler/AttributeDefinition.html">TaskJuggler::AttributeDefinition</a></li>
|
|
156
|
+
|
|
157
|
+
<li><a href="../TaskJuggler/BatchProcessor.html">TaskJuggler::BatchProcessor</a></li>
|
|
158
|
+
|
|
159
|
+
<li><a href="../TaskJuggler/Booking.html">TaskJuggler::Booking</a></li>
|
|
160
|
+
|
|
161
|
+
<li><a href="../TaskJuggler/BookingListAttribute.html">TaskJuggler::BookingListAttribute</a></li>
|
|
162
|
+
|
|
163
|
+
<li><a href="../TaskJuggler/BooleanAttribute.html">TaskJuggler::BooleanAttribute</a></li>
|
|
164
|
+
|
|
165
|
+
<li><a href="../TaskJuggler/CSVFile.html">TaskJuggler::CSVFile</a></li>
|
|
166
|
+
|
|
167
|
+
<li><a href="../TaskJuggler/CellSettingPattern.html">TaskJuggler::CellSettingPattern</a></li>
|
|
168
|
+
|
|
169
|
+
<li><a href="../TaskJuggler/CellSettingPatternList.html">TaskJuggler::CellSettingPatternList</a></li>
|
|
170
|
+
|
|
171
|
+
<li><a href="../TaskJuggler/Charge.html">TaskJuggler::Charge</a></li>
|
|
172
|
+
|
|
173
|
+
<li><a href="../TaskJuggler/ChargeListAttribute.html">TaskJuggler::ChargeListAttribute</a></li>
|
|
174
|
+
|
|
175
|
+
<li><a href="../TaskJuggler/ChargeSet.html">TaskJuggler::ChargeSet</a></li>
|
|
176
|
+
|
|
177
|
+
<li><a href="../TaskJuggler/ChargeSetListAttribute.html">TaskJuggler::ChargeSetListAttribute</a></li>
|
|
178
|
+
|
|
179
|
+
<li><a href="../TaskJuggler/CollisionDetector.html">TaskJuggler::CollisionDetector</a></li>
|
|
180
|
+
|
|
181
|
+
<li><a href="../TaskJuggler/ColumnListAttribute.html">TaskJuggler::ColumnListAttribute</a></li>
|
|
182
|
+
|
|
183
|
+
<li><a href="../TaskJuggler/ColumnTable.html">TaskJuggler::ColumnTable</a></li>
|
|
184
|
+
|
|
185
|
+
<li><a href="../TaskJuggler/Daemon.html">TaskJuggler::Daemon</a></li>
|
|
186
|
+
|
|
187
|
+
<li><a href="../TaskJuggler/DataCache.html">TaskJuggler::DataCache</a></li>
|
|
188
|
+
|
|
189
|
+
<li><a href="../TaskJuggler/DataCacheEntry.html">TaskJuggler::DataCacheEntry</a></li>
|
|
190
|
+
|
|
191
|
+
<li><a href="../TaskJuggler/DateAttribute.html">TaskJuggler::DateAttribute</a></li>
|
|
192
|
+
|
|
193
|
+
<li><a href="../TaskJuggler/DefinitionListAttribute.html">TaskJuggler::DefinitionListAttribute</a></li>
|
|
194
|
+
|
|
195
|
+
<li><a href="../TaskJuggler/DependencyListAttribute.html">TaskJuggler::DependencyListAttribute</a></li>
|
|
196
|
+
|
|
197
|
+
<li><a href="../TaskJuggler/DurationAttribute.html">TaskJuggler::DurationAttribute</a></li>
|
|
198
|
+
|
|
199
|
+
<li><a href="../TaskJuggler/FileList.html">TaskJuggler::FileList</a></li>
|
|
200
|
+
|
|
201
|
+
<li><a href="../TaskJuggler/FileRecord.html">TaskJuggler::FileRecord</a></li>
|
|
202
|
+
|
|
203
|
+
<li><a href="../TaskJuggler/FixnumAttribute.html">TaskJuggler::FixnumAttribute</a></li>
|
|
204
|
+
|
|
205
|
+
<li><a href="../TaskJuggler/FlagListAttribute.html">TaskJuggler::FlagListAttribute</a></li>
|
|
206
|
+
|
|
207
|
+
<li><a href="../TaskJuggler/FloatAttribute.html">TaskJuggler::FloatAttribute</a></li>
|
|
208
|
+
|
|
209
|
+
<li><a href="../TaskJuggler/FormatListAttribute.html">TaskJuggler::FormatListAttribute</a></li>
|
|
210
|
+
|
|
211
|
+
<li><a href="../TaskJuggler/GanttChart.html">TaskJuggler::GanttChart</a></li>
|
|
212
|
+
|
|
213
|
+
<li><a href="../TaskJuggler/GanttContainer.html">TaskJuggler::GanttContainer</a></li>
|
|
214
|
+
|
|
215
|
+
<li><a href="../TaskJuggler/GanttHeader.html">TaskJuggler::GanttHeader</a></li>
|
|
216
|
+
|
|
217
|
+
<li><a href="../TaskJuggler/GanttHeaderScaleItem.html">TaskJuggler::GanttHeaderScaleItem</a></li>
|
|
218
|
+
|
|
219
|
+
<li><a href="../TaskJuggler/GanttLine.html">TaskJuggler::GanttLine</a></li>
|
|
220
|
+
|
|
221
|
+
<li><a href="../TaskJuggler/GanttLoadStack.html">TaskJuggler::GanttLoadStack</a></li>
|
|
222
|
+
|
|
223
|
+
<li><a href="../TaskJuggler/GanttMilestone.html">TaskJuggler::GanttMilestone</a></li>
|
|
224
|
+
|
|
225
|
+
<li><a href="../TaskJuggler/GanttRouter.html">TaskJuggler::GanttRouter</a></li>
|
|
226
|
+
|
|
227
|
+
<li><a href="../TaskJuggler/GanttTaskBar.html">TaskJuggler::GanttTaskBar</a></li>
|
|
228
|
+
|
|
229
|
+
<li><a href="../TaskJuggler/HTMLDocument.html">TaskJuggler::HTMLDocument</a></li>
|
|
230
|
+
|
|
231
|
+
<li><a href="../TaskJuggler/HTMLGraphics.html">TaskJuggler::HTMLGraphics</a></li>
|
|
232
|
+
|
|
233
|
+
<li><a href="../TaskJuggler/Interval.html">TaskJuggler::Interval</a></li>
|
|
234
|
+
|
|
235
|
+
<li><a href="../TaskJuggler/IntervalListAttribute.html">TaskJuggler::IntervalListAttribute</a></li>
|
|
236
|
+
|
|
237
|
+
<li><a href="../TaskJuggler/JobInfo.html">TaskJuggler::JobInfo</a></li>
|
|
238
|
+
|
|
239
|
+
<li><a href="../TaskJuggler/Journal.html">TaskJuggler::Journal</a></li>
|
|
240
|
+
|
|
241
|
+
<li><a href="../TaskJuggler/JournalEntry.html">TaskJuggler::JournalEntry</a></li>
|
|
242
|
+
|
|
243
|
+
<li><a href="../TaskJuggler/JournalEntryList.html">TaskJuggler::JournalEntryList</a></li>
|
|
244
|
+
|
|
245
|
+
<li><a href="../TaskJuggler/KeywordArray.html">TaskJuggler::KeywordArray</a></li>
|
|
246
|
+
|
|
247
|
+
<li><a href="../TaskJuggler/KeywordDocumentation.html">TaskJuggler::KeywordDocumentation</a></li>
|
|
248
|
+
|
|
249
|
+
<li><a href="../TaskJuggler/Limits.html">TaskJuggler::Limits</a></li>
|
|
250
|
+
|
|
251
|
+
<li><a href="../TaskJuggler/Limits/Limit.html">TaskJuggler::Limits::Limit</a></li>
|
|
252
|
+
|
|
253
|
+
<li><a href="../TaskJuggler/LimitsAttribute.html">TaskJuggler::LimitsAttribute</a></li>
|
|
254
|
+
|
|
255
|
+
<li><a href="../TaskJuggler/ListAttributeBase.html">TaskJuggler::ListAttributeBase</a></li>
|
|
256
|
+
|
|
257
|
+
<li><a href="../TaskJuggler/Log.html">TaskJuggler::Log</a></li>
|
|
258
|
+
|
|
259
|
+
<li><a href="../TaskJuggler/LogFile.html">TaskJuggler::LogFile</a></li>
|
|
260
|
+
|
|
261
|
+
<li><a href="../TaskJuggler/LogicalAttribute.html">TaskJuggler::LogicalAttribute</a></li>
|
|
262
|
+
|
|
263
|
+
<li><a href="../TaskJuggler/LogicalExpression.html">TaskJuggler::LogicalExpression</a></li>
|
|
264
|
+
|
|
265
|
+
<li><a href="../TaskJuggler/LogicalExpressionAttribute.html">TaskJuggler::LogicalExpressionAttribute</a></li>
|
|
266
|
+
|
|
267
|
+
<li><a href="../TaskJuggler/LogicalFlag.html">TaskJuggler::LogicalFlag</a></li>
|
|
268
|
+
|
|
269
|
+
<li><a href="../TaskJuggler/LogicalFunction.html">TaskJuggler::LogicalFunction</a></li>
|
|
270
|
+
|
|
271
|
+
<li><a href="../TaskJuggler/LogicalOperation.html">TaskJuggler::LogicalOperation</a></li>
|
|
272
|
+
|
|
273
|
+
<li><a href="../TaskJuggler/Macro.html">TaskJuggler::Macro</a></li>
|
|
274
|
+
|
|
275
|
+
<li><a href="../TaskJuggler/MacroTable.html">TaskJuggler::MacroTable</a></li>
|
|
276
|
+
|
|
277
|
+
<li><a href="../TaskJuggler/ManagerResponsibilities.html">TaskJuggler::ManagerResponsibilities</a></li>
|
|
278
|
+
|
|
279
|
+
<li><a href="../TaskJuggler/ManagerStatusRecord.html">TaskJuggler::ManagerStatusRecord</a></li>
|
|
280
|
+
|
|
281
|
+
<li><a href="../TaskJuggler/Message.html">TaskJuggler::Message</a></li>
|
|
282
|
+
|
|
283
|
+
<li><a href="../TaskJuggler/MessageHandler.html">TaskJuggler::MessageHandler</a></li>
|
|
284
|
+
|
|
285
|
+
<li><a href="../TaskJuggler/Navigator.html">TaskJuggler::Navigator</a></li>
|
|
286
|
+
|
|
287
|
+
<li><a href="../TaskJuggler/NavigatorElement.html">TaskJuggler::NavigatorElement</a></li>
|
|
288
|
+
|
|
289
|
+
<li><a href="../TaskJuggler/NikuProject.html">TaskJuggler::NikuProject</a></li>
|
|
290
|
+
|
|
291
|
+
<li><a href="../TaskJuggler/NikuReport.html">TaskJuggler::NikuReport</a></li>
|
|
292
|
+
|
|
293
|
+
<li><a href="../TaskJuggler/NikuResource.html">TaskJuggler::NikuResource</a></li>
|
|
294
|
+
|
|
295
|
+
<li><a href="../TaskJuggler/NodeListAttribute.html">TaskJuggler::NodeListAttribute</a></li>
|
|
296
|
+
|
|
297
|
+
<li><a href="../TaskJuggler/PlaceHolderCell.html">TaskJuggler::PlaceHolderCell</a></li>
|
|
298
|
+
|
|
299
|
+
<li><a href="../TaskJuggler/ProcessIntercom.html">TaskJuggler::ProcessIntercom</a></li>
|
|
300
|
+
|
|
301
|
+
<li><a href="../TaskJuggler/ProcessIntercomIface.html">TaskJuggler::ProcessIntercomIface</a></li>
|
|
302
|
+
|
|
303
|
+
<li><a href="../TaskJuggler/Project.html">TaskJuggler::Project</a></li>
|
|
304
|
+
|
|
305
|
+
<li><a href="../TaskJuggler/ProjectBroker.html">TaskJuggler::ProjectBroker</a></li>
|
|
306
|
+
|
|
307
|
+
<li><a href="../TaskJuggler/ProjectBrokerIface.html">TaskJuggler::ProjectBrokerIface</a></li>
|
|
308
|
+
|
|
309
|
+
<li><a href="../TaskJuggler/ProjectFileParser.html">TaskJuggler::ProjectFileParser</a></li>
|
|
310
|
+
|
|
311
|
+
<li><a href="../TaskJuggler/ProjectFileScanner.html">TaskJuggler::ProjectFileScanner</a></li>
|
|
312
|
+
|
|
313
|
+
<li><a href="../TaskJuggler/ProjectRecord.html">TaskJuggler::ProjectRecord</a></li>
|
|
314
|
+
|
|
315
|
+
<li><a href="../TaskJuggler/ProjectServer.html">TaskJuggler::ProjectServer</a></li>
|
|
316
|
+
|
|
317
|
+
<li><a href="../TaskJuggler/ProjectServerIface.html">TaskJuggler::ProjectServerIface</a></li>
|
|
318
|
+
|
|
319
|
+
<li><a href="../TaskJuggler/PropertyAttribute.html">TaskJuggler::PropertyAttribute</a></li>
|
|
320
|
+
|
|
321
|
+
<li><a href="../TaskJuggler/PropertyList.html">TaskJuggler::PropertyList</a></li>
|
|
322
|
+
|
|
323
|
+
<li><a href="../TaskJuggler/PropertySet.html">TaskJuggler::PropertySet</a></li>
|
|
324
|
+
|
|
325
|
+
<li><a href="../TaskJuggler/PropertyTreeNode.html">TaskJuggler::PropertyTreeNode</a></li>
|
|
326
|
+
|
|
327
|
+
<li><a href="../TaskJuggler/Query.html">TaskJuggler::Query</a></li>
|
|
328
|
+
|
|
329
|
+
<li><a href="../TaskJuggler/RTFHandlers.html">TaskJuggler::RTFHandlers</a></li>
|
|
330
|
+
|
|
331
|
+
<li><a href="../TaskJuggler/RTFNavigator.html">TaskJuggler::RTFNavigator</a></li>
|
|
332
|
+
|
|
333
|
+
<li><a href="../TaskJuggler/RTFQuery.html">TaskJuggler::RTFQuery</a></li>
|
|
334
|
+
|
|
335
|
+
<li><a href="../TaskJuggler/RTFReport.html">TaskJuggler::RTFReport</a></li>
|
|
336
|
+
|
|
337
|
+
<li><a href="../TaskJuggler/RTFReportLink.html">TaskJuggler::RTFReportLink</a></li>
|
|
338
|
+
|
|
339
|
+
<li><a href="../TaskJuggler/RTFWithQuerySupport.html">TaskJuggler::RTFWithQuerySupport</a></li>
|
|
340
|
+
|
|
341
|
+
<li><a href="../TaskJuggler/RealFormat.html">TaskJuggler::RealFormat</a></li>
|
|
342
|
+
|
|
343
|
+
<li><a href="../TaskJuggler/RealFormatAttribute.html">TaskJuggler::RealFormatAttribute</a></li>
|
|
344
|
+
|
|
345
|
+
<li><a href="../TaskJuggler/ReferenceAttribute.html">TaskJuggler::ReferenceAttribute</a></li>
|
|
346
|
+
|
|
347
|
+
<li><a href="../TaskJuggler/Report.html">TaskJuggler::Report</a></li>
|
|
348
|
+
|
|
349
|
+
<li><a href="../TaskJuggler/ReportBase.html">TaskJuggler::ReportBase</a></li>
|
|
350
|
+
|
|
351
|
+
<li><a href="../TaskJuggler/ReportContext.html">TaskJuggler::ReportContext</a></li>
|
|
352
|
+
|
|
353
|
+
<li><a href="../TaskJuggler/ReportServer.html">TaskJuggler::ReportServer</a></li>
|
|
354
|
+
|
|
355
|
+
<li><a href="../TaskJuggler/ReportServerIface.html">TaskJuggler::ReportServerIface</a></li>
|
|
356
|
+
|
|
357
|
+
<li><a href="../TaskJuggler/ReportServerRecord.html">TaskJuggler::ReportServerRecord</a></li>
|
|
358
|
+
|
|
359
|
+
<li><a href="../TaskJuggler/ReportServlet.html">TaskJuggler::ReportServlet</a></li>
|
|
360
|
+
|
|
361
|
+
<li><a href="../TaskJuggler/ReportTable.html">TaskJuggler::ReportTable</a></li>
|
|
362
|
+
|
|
363
|
+
<li><a href="../TaskJuggler/ReportTableCell.html">TaskJuggler::ReportTableCell</a></li>
|
|
364
|
+
|
|
365
|
+
<li><a href="../TaskJuggler/ReportTableColumn.html">TaskJuggler::ReportTableColumn</a></li>
|
|
366
|
+
|
|
367
|
+
<li><a href="../TaskJuggler/ReportTableLegend.html">TaskJuggler::ReportTableLegend</a></li>
|
|
368
|
+
|
|
369
|
+
<li><a href="../TaskJuggler/ReportTableLine.html">TaskJuggler::ReportTableLine</a></li>
|
|
370
|
+
|
|
371
|
+
<li><a href="../TaskJuggler/Resource.html">TaskJuggler::Resource</a></li>
|
|
372
|
+
|
|
373
|
+
<li><a href="../TaskJuggler/ResourceListAttribute.html">TaskJuggler::ResourceListAttribute</a></li>
|
|
374
|
+
|
|
375
|
+
<li><a href="../TaskJuggler/ResourceListRE.html">TaskJuggler::ResourceListRE</a></li>
|
|
376
|
+
|
|
377
|
+
<li><a href="../TaskJuggler/ResourceScenario.html">TaskJuggler::ResourceScenario</a></li>
|
|
378
|
+
|
|
379
|
+
<li><a href="../TaskJuggler/RichText.html">TaskJuggler::RichText</a></li>
|
|
380
|
+
|
|
381
|
+
<li><a href="../TaskJuggler/RichTextAttribute.html">TaskJuggler::RichTextAttribute</a></li>
|
|
382
|
+
|
|
383
|
+
<li><a href="../TaskJuggler/RichTextDocument.html">TaskJuggler::RichTextDocument</a></li>
|
|
384
|
+
|
|
385
|
+
<li><a href="../TaskJuggler/RichTextElement.html">TaskJuggler::RichTextElement</a></li>
|
|
386
|
+
|
|
387
|
+
<li><a href="../TaskJuggler/RichTextFunctionExample.html">TaskJuggler::RichTextFunctionExample</a></li>
|
|
388
|
+
|
|
389
|
+
<li><a href="../TaskJuggler/RichTextFunctionHandler.html">TaskJuggler::RichTextFunctionHandler</a></li>
|
|
390
|
+
|
|
391
|
+
<li><a href="../TaskJuggler/RichTextImage.html">TaskJuggler::RichTextImage</a></li>
|
|
392
|
+
|
|
393
|
+
<li><a href="../TaskJuggler/RichTextIntermediate.html">TaskJuggler::RichTextIntermediate</a></li>
|
|
394
|
+
|
|
395
|
+
<li><a href="../TaskJuggler/RichTextParser.html">TaskJuggler::RichTextParser</a></li>
|
|
396
|
+
|
|
397
|
+
<li><a href="../TaskJuggler/RichTextScanner.html">TaskJuggler::RichTextScanner</a></li>
|
|
398
|
+
|
|
399
|
+
<li><a href="../TaskJuggler/RichTextSnip.html">TaskJuggler::RichTextSnip</a></li>
|
|
400
|
+
|
|
401
|
+
<li><a href="../TaskJuggler/RichTextSyntaxRules.html">TaskJuggler::RichTextSyntaxRules</a></li>
|
|
402
|
+
|
|
403
|
+
<li><a href="../TaskJuggler/Scenario.html">TaskJuggler::Scenario</a></li>
|
|
404
|
+
|
|
405
|
+
<li><a href="../TaskJuggler/ScenarioData.html">TaskJuggler::ScenarioData</a></li>
|
|
406
|
+
|
|
407
|
+
<li><a href="../TaskJuggler/ScenarioListAttribute.html">TaskJuggler::ScenarioListAttribute</a></li>
|
|
408
|
+
|
|
409
|
+
<li><a href="../TaskJuggler/Scoreboard.html">TaskJuggler::Scoreboard</a></li>
|
|
410
|
+
|
|
411
|
+
<li><a href="../TaskJuggler/SheetHandlerBase.html">TaskJuggler::SheetHandlerBase</a></li>
|
|
412
|
+
|
|
413
|
+
<li><a href="../TaskJuggler/SheetReceiver.html">TaskJuggler::SheetReceiver</a></li>
|
|
414
|
+
|
|
415
|
+
<li><a href="../TaskJuggler/SheetSender.html">TaskJuggler::SheetSender</a></li>
|
|
416
|
+
|
|
417
|
+
<li><a href="../TaskJuggler/Shift.html">TaskJuggler::Shift</a></li>
|
|
418
|
+
|
|
419
|
+
<li><a href="../TaskJuggler/ShiftAssignment.html">TaskJuggler::ShiftAssignment</a></li>
|
|
420
|
+
|
|
421
|
+
<li><a href="../TaskJuggler/ShiftAssignments.html">TaskJuggler::ShiftAssignments</a></li>
|
|
422
|
+
|
|
423
|
+
<li><a href="../TaskJuggler/ShiftAssignmentsAttribute.html">TaskJuggler::ShiftAssignmentsAttribute</a></li>
|
|
424
|
+
|
|
425
|
+
<li><a href="../TaskJuggler/ShiftScenario.html">TaskJuggler::ShiftScenario</a></li>
|
|
426
|
+
|
|
427
|
+
<li><a href="../TaskJuggler/SimpleQueryExpander.html">TaskJuggler::SimpleQueryExpander</a></li>
|
|
428
|
+
|
|
429
|
+
<li><a href="../TaskJuggler/SortListAttribute.html">TaskJuggler::SortListAttribute</a></li>
|
|
430
|
+
|
|
431
|
+
<li><a href="../TaskJuggler/SourceFileInfo.html">TaskJuggler::SourceFileInfo</a></li>
|
|
432
|
+
|
|
433
|
+
<li><a href="../TaskJuggler/StatusSheetReceiver.html">TaskJuggler::StatusSheetReceiver</a></li>
|
|
434
|
+
|
|
435
|
+
<li><a href="../TaskJuggler/StatusSheetReport.html">TaskJuggler::StatusSheetReport</a></li>
|
|
436
|
+
|
|
437
|
+
<li><a href="../TaskJuggler/StatusSheetSender.html">TaskJuggler::StatusSheetSender</a></li>
|
|
438
|
+
|
|
439
|
+
<li><a href="../TaskJuggler/StringAttribute.html">TaskJuggler::StringAttribute</a></li>
|
|
440
|
+
|
|
441
|
+
<li><a href="../TaskJuggler/SymbolAttribute.html">TaskJuggler::SymbolAttribute</a></li>
|
|
442
|
+
|
|
443
|
+
<li><a href="../TaskJuggler/SyntaxReference.html">TaskJuggler::SyntaxReference</a></li>
|
|
444
|
+
|
|
445
|
+
<li><a href="../TaskJuggler/TOCEntry.html">TaskJuggler::TOCEntry</a></li>
|
|
446
|
+
|
|
447
|
+
<li><a href="../TaskJuggler/TSResourceRecord.html">TaskJuggler::TSResourceRecord</a></li>
|
|
448
|
+
|
|
449
|
+
<li><a href="../TaskJuggler/TSTaskRecord.html">TaskJuggler::TSTaskRecord</a></li>
|
|
450
|
+
|
|
451
|
+
<li><a href="../TaskJuggler/TableColumnDefinition.html">TaskJuggler::TableColumnDefinition</a></li>
|
|
452
|
+
|
|
453
|
+
<li><a href="../TaskJuggler/TableOfContents.html">TaskJuggler::TableOfContents</a></li>
|
|
454
|
+
|
|
455
|
+
<li><a href="../TaskJuggler/TableReport.html">TaskJuggler::TableReport</a></li>
|
|
456
|
+
|
|
457
|
+
<li><a href="../TaskJuggler/Task.html">TaskJuggler::Task</a></li>
|
|
458
|
+
|
|
459
|
+
<li><a href="../TaskJuggler/TaskDependency.html">TaskJuggler::TaskDependency</a></li>
|
|
460
|
+
|
|
461
|
+
<li><a href="../TaskJuggler/TaskListAttribute.html">TaskJuggler::TaskListAttribute</a></li>
|
|
462
|
+
|
|
463
|
+
<li><a href="../TaskJuggler/TaskListRE.html">TaskJuggler::TaskListRE</a></li>
|
|
464
|
+
|
|
465
|
+
<li><a href="../TaskJuggler/TaskScenario.html">TaskJuggler::TaskScenario</a></li>
|
|
466
|
+
|
|
467
|
+
<li><a href="../TaskJuggler/TextFormatter.html">TaskJuggler::TextFormatter</a></li>
|
|
468
|
+
|
|
469
|
+
<li><a href="../TaskJuggler/TextParser.html">TaskJuggler::TextParser</a></li>
|
|
470
|
+
|
|
471
|
+
<li><a href="../TaskJuggler/TextParser/Pattern.html">TaskJuggler::TextParser::Pattern</a></li>
|
|
472
|
+
|
|
473
|
+
<li><a href="../TaskJuggler/TextParser/Rule.html">TaskJuggler::TextParser::Rule</a></li>
|
|
474
|
+
|
|
475
|
+
<li><a href="../TaskJuggler/TextParser/StackElement.html">TaskJuggler::TextParser::StackElement</a></li>
|
|
476
|
+
|
|
477
|
+
<li><a href="../TaskJuggler/TextParser/State.html">TaskJuggler::TextParser::State</a></li>
|
|
478
|
+
|
|
479
|
+
<li><a href="../TaskJuggler/TextParser/StateTransition.html">TaskJuggler::TextParser::StateTransition</a></li>
|
|
480
|
+
|
|
481
|
+
<li><a href="../TaskJuggler/TextParser/TextParserResultArray.html">TaskJuggler::TextParser::TextParserResultArray</a></li>
|
|
482
|
+
|
|
483
|
+
<li><a href="../TaskJuggler/TextParser/TokenDoc.html">TaskJuggler::TextParser::TokenDoc</a></li>
|
|
484
|
+
|
|
485
|
+
<li><a href="../TaskJuggler/TextReport.html">TaskJuggler::TextReport</a></li>
|
|
486
|
+
|
|
487
|
+
<li><a href="../TaskJuggler/TextScanner.html">TaskJuggler::TextScanner</a></li>
|
|
488
|
+
|
|
489
|
+
<li><a href="../TaskJuggler/TextScanner/BufferStreamHandle.html">TaskJuggler::TextScanner::BufferStreamHandle</a></li>
|
|
490
|
+
|
|
491
|
+
<li><a href="../TaskJuggler/TextScanner/FileStreamHandle.html">TaskJuggler::TextScanner::FileStreamHandle</a></li>
|
|
492
|
+
|
|
493
|
+
<li><a href="../TaskJuggler/TextScanner/MacroStackEntry.html">TaskJuggler::TextScanner::MacroStackEntry</a></li>
|
|
494
|
+
|
|
495
|
+
<li><a href="../TaskJuggler/TextScanner/StreamHandle.html">TaskJuggler::TextScanner::StreamHandle</a></li>
|
|
496
|
+
|
|
497
|
+
<li><a href="../TaskJuggler/TimeSheet.html">TaskJuggler::TimeSheet</a></li>
|
|
498
|
+
|
|
499
|
+
<li><a href="../TaskJuggler/TimeSheetReceiver.html">TaskJuggler::TimeSheetReceiver</a></li>
|
|
500
|
+
|
|
501
|
+
<li><a href="../TaskJuggler/TimeSheetRecord.html">TaskJuggler::TimeSheetRecord</a></li>
|
|
502
|
+
|
|
503
|
+
<li><a href="../TaskJuggler/TimeSheetReport.html">TaskJuggler::TimeSheetReport</a></li>
|
|
504
|
+
|
|
505
|
+
<li><a href="../TaskJuggler/TimeSheetSender.html">TaskJuggler::TimeSheetSender</a></li>
|
|
506
|
+
|
|
507
|
+
<li><a href="../TaskJuggler/TimeSheetSummary.html">TaskJuggler::TimeSheetSummary</a></li>
|
|
508
|
+
|
|
509
|
+
<li><a href="../TaskJuggler/TimeSheets.html">TaskJuggler::TimeSheets</a></li>
|
|
510
|
+
|
|
511
|
+
<li><a href="../TaskJuggler/Tj3AppBase.html">TaskJuggler::Tj3AppBase</a></li>
|
|
512
|
+
|
|
513
|
+
<li><a href="../TaskJuggler/Tj3Client.html">TaskJuggler::Tj3Client</a></li>
|
|
514
|
+
|
|
515
|
+
<li><a href="../TaskJuggler/Tj3Daemon.html">TaskJuggler::Tj3Daemon</a></li>
|
|
516
|
+
|
|
517
|
+
<li><a href="../TaskJuggler/Tj3SheetAppBase.html">TaskJuggler::Tj3SheetAppBase</a></li>
|
|
518
|
+
|
|
519
|
+
<li><a href="../TaskJuggler/Tj3SsReceiver.html">TaskJuggler::Tj3SsReceiver</a></li>
|
|
520
|
+
|
|
521
|
+
<li><a href="../TaskJuggler/Tj3SsSender.html">TaskJuggler::Tj3SsSender</a></li>
|
|
522
|
+
|
|
523
|
+
<li><a href="../TaskJuggler/Tj3TsReceiver.html">TaskJuggler::Tj3TsReceiver</a></li>
|
|
524
|
+
|
|
525
|
+
<li><a href="../TaskJuggler/Tj3TsSender.html">TaskJuggler::Tj3TsSender</a></li>
|
|
526
|
+
|
|
527
|
+
<li><a href="../TaskJuggler/Tj3TsSummary.html">TaskJuggler::Tj3TsSummary</a></li>
|
|
528
|
+
|
|
529
|
+
<li><a href="../TaskJuggler/TjException.html">TaskJuggler::TjException</a></li>
|
|
530
|
+
|
|
531
|
+
<li><a href="../TaskJuggler/TjTime.html">TaskJuggler::TjTime</a></li>
|
|
532
|
+
|
|
533
|
+
<li><a href="../TaskJuggler/TjpExample.html">TaskJuggler::TjpExample</a></li>
|
|
534
|
+
|
|
535
|
+
<li><a href="../TaskJuggler/TjpExportRE.html">TaskJuggler::TjpExportRE</a></li>
|
|
536
|
+
|
|
537
|
+
<li><a href="../TaskJuggler/TjpSyntaxRules.html">TaskJuggler::TjpSyntaxRules</a></li>
|
|
538
|
+
|
|
539
|
+
<li><a href="../TaskJuggler/URLParameter.html">TaskJuggler::URLParameter</a></li>
|
|
540
|
+
|
|
541
|
+
<li><a href="../TaskJuggler/UserManual.html">TaskJuggler::UserManual</a></li>
|
|
542
|
+
|
|
543
|
+
<li><a href="../TaskJuggler/VimSyntax.html">TaskJuggler::VimSyntax</a></li>
|
|
544
|
+
|
|
545
|
+
<li><a href="../TaskJuggler/WebServer.html">TaskJuggler::WebServer</a></li>
|
|
546
|
+
|
|
547
|
+
<li><a href="../TaskJuggler/WorkingHours.html">TaskJuggler::WorkingHours</a></li>
|
|
548
|
+
|
|
549
|
+
<li><a href="../TaskJuggler/WorkingHoursAttribute.html">TaskJuggler::WorkingHoursAttribute</a></li>
|
|
550
|
+
|
|
551
|
+
<li><a href="../TaskJuggler/XMLBlob.html">TaskJuggler::XMLBlob</a></li>
|
|
552
|
+
|
|
553
|
+
<li><a href="../TaskJuggler/XMLComment.html">TaskJuggler::XMLComment</a></li>
|
|
554
|
+
|
|
555
|
+
<li><a href="../TaskJuggler/XMLDocument.html">TaskJuggler::XMLDocument</a></li>
|
|
556
|
+
|
|
557
|
+
<li><a href="../TaskJuggler/XMLElement.html">TaskJuggler::XMLElement</a></li>
|
|
558
|
+
|
|
559
|
+
<li><a href="../TaskJuggler/XMLNamedText.html">TaskJuggler::XMLNamedText</a></li>
|
|
560
|
+
|
|
561
|
+
<li><a href="../TaskJuggler/XMLText.html">TaskJuggler::XMLText</a></li>
|
|
562
|
+
|
|
563
|
+
<li><a href="../AppConfig.html">AppConfig</a></li>
|
|
564
|
+
|
|
565
|
+
<li><a href="../Arguments.html">Arguments</a></li>
|
|
566
|
+
|
|
567
|
+
<li><a href="../Object.html">Object</a></li>
|
|
568
|
+
|
|
569
|
+
<li><a href="../RuntimeConfig.html">RuntimeConfig</a></li>
|
|
570
|
+
|
|
571
|
+
<li><a href="../String.html">String</a></li>
|
|
572
|
+
|
|
573
|
+
<li><a href="../StringIO.html">StringIO</a></li>
|
|
574
|
+
|
|
575
|
+
</ul>
|
|
576
|
+
<div id="no-class-search-results" style="display: none;">No matching classes.</div>
|
|
577
|
+
</div>
|
|
578
|
+
|
|
579
|
+
|
|
580
|
+
</div>
|
|
581
|
+
</div>
|
|
582
|
+
|
|
583
|
+
<div id="documentation">
|
|
584
|
+
<h1 class="class">TaskJuggler::CollisionDetector</h1>
|
|
585
|
+
|
|
586
|
+
<div id="description">
|
|
587
|
+
|
|
588
|
+
</div>
|
|
589
|
+
|
|
590
|
+
<!-- Constants -->
|
|
591
|
+
|
|
592
|
+
|
|
593
|
+
<!-- Attributes -->
|
|
594
|
+
|
|
595
|
+
|
|
596
|
+
<!-- Methods -->
|
|
597
|
+
|
|
598
|
+
<div id="public-class-method-details" class="method-section section">
|
|
599
|
+
<h3 class="section-header">Public Class Methods</h3>
|
|
600
|
+
|
|
601
|
+
|
|
602
|
+
<div id="new-method" class="method-detail ">
|
|
603
|
+
<a name="method-c-new"></a>
|
|
604
|
+
|
|
605
|
+
<div class="method-heading">
|
|
606
|
+
|
|
607
|
+
<span class="method-name">new</span><span
|
|
608
|
+
class="method-args">(width, height)</span>
|
|
609
|
+
<span class="method-click-advice">click to toggle source</span>
|
|
610
|
+
|
|
611
|
+
</div>
|
|
612
|
+
|
|
613
|
+
<div class="method-description">
|
|
614
|
+
|
|
615
|
+
|
|
616
|
+
|
|
617
|
+
|
|
618
|
+
|
|
619
|
+
<div class="method-source-code"
|
|
620
|
+
id="new-source">
|
|
621
|
+
<pre>
|
|
622
|
+
<span class="ruby-comment cmt"># File lib/reports/CollisionDetector.rb, line 21</span>
|
|
623
|
+
21: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">initialize</span>(<span class="ruby-identifier">width</span>, <span class="ruby-identifier">height</span>)
|
|
624
|
+
22: <span class="ruby-ivar">@width</span> = <span class="ruby-identifier">width</span>
|
|
625
|
+
23: <span class="ruby-ivar">@height</span> = <span class="ruby-identifier">height</span>
|
|
626
|
+
24:
|
|
627
|
+
25: <span class="ruby-comment cmt"># The zones are stored as Arrays of line segments. Horizontal blocks are</span>
|
|
628
|
+
26: <span class="ruby-comment cmt"># stored separately from vertical blocks. Blocked segments for a</span>
|
|
629
|
+
27: <span class="ruby-comment cmt"># particular x coordinate are stored in @vLines, for y coordinates in</span>
|
|
630
|
+
28: <span class="ruby-comment cmt"># @hLines. Each entry is an Array of [ start, end ] values that describe</span>
|
|
631
|
+
29: <span class="ruby-comment cmt"># the blocked segments of that particular line. Start and end point are</span>
|
|
632
|
+
30: <span class="ruby-comment cmt"># part of the segment. A listed segment will not be overwritten during</span>
|
|
633
|
+
31: <span class="ruby-comment cmt"># routing.</span>
|
|
634
|
+
32: <span class="ruby-ivar">@hLines</span> = <span class="ruby-constant">Array</span>.<span class="ruby-identifier">new</span>(<span class="ruby-ivar">@height</span>) { <span class="ruby-operator">|</span><span class="ruby-identifier">i</span><span class="ruby-operator">|</span> <span class="ruby-identifier">i</span> = [] }
|
|
635
|
+
33: <span class="ruby-ivar">@vLines</span> = <span class="ruby-constant">Array</span>.<span class="ruby-identifier">new</span>(<span class="ruby-ivar">@width</span>) { <span class="ruby-operator">|</span><span class="ruby-identifier">i</span><span class="ruby-operator">|</span> <span class="ruby-identifier">i</span> = [] }
|
|
636
|
+
34: <span class="ruby-keyword kw">end</span></pre>
|
|
637
|
+
</div>
|
|
638
|
+
|
|
639
|
+
</div>
|
|
640
|
+
|
|
641
|
+
|
|
642
|
+
|
|
643
|
+
|
|
644
|
+
</div>
|
|
645
|
+
|
|
646
|
+
|
|
647
|
+
</div>
|
|
648
|
+
|
|
649
|
+
<div id="public-instance-method-details" class="method-section section">
|
|
650
|
+
<h3 class="section-header">Public Instance Methods</h3>
|
|
651
|
+
|
|
652
|
+
|
|
653
|
+
<div id="add-locked-one-method" class="method-detail ">
|
|
654
|
+
<a name="method-i-addBlockedZone"></a>
|
|
655
|
+
|
|
656
|
+
<div class="method-heading">
|
|
657
|
+
|
|
658
|
+
<span class="method-name">addBlockedZone</span><span
|
|
659
|
+
class="method-args">(x, y, w, h, horiz, vert)</span>
|
|
660
|
+
<span class="method-click-advice">click to toggle source</span>
|
|
661
|
+
|
|
662
|
+
</div>
|
|
663
|
+
|
|
664
|
+
<div class="method-description">
|
|
665
|
+
|
|
666
|
+
<p>
|
|
667
|
+
This function registers an area as don’t-cross-zone. The rectangular
|
|
668
|
+
zone is described by <em>x</em>, <em>y</em>, <em>w</em> and <em>h</em>. If
|
|
669
|
+
<em>horiz</em> is true, the zone will be blocked for horizontal lines, if
|
|
670
|
+
<em>vert</em> is true the zone will be blocked for vertical lines.
|
|
671
|
+
</p>
|
|
672
|
+
|
|
673
|
+
|
|
674
|
+
|
|
675
|
+
<div class="method-source-code"
|
|
676
|
+
id="add-locked-one-source">
|
|
677
|
+
<pre>
|
|
678
|
+
<span class="ruby-comment cmt"># File lib/reports/CollisionDetector.rb, line 40</span>
|
|
679
|
+
40: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">addBlockedZone</span>(<span class="ruby-identifier">x</span>, <span class="ruby-identifier">y</span>, <span class="ruby-identifier">w</span>, <span class="ruby-identifier">h</span>, <span class="ruby-identifier">horiz</span>, <span class="ruby-identifier">vert</span>)
|
|
680
|
+
41: <span class="ruby-comment cmt"># Clip the input rectangle to fit within the handled area of this router.</span>
|
|
681
|
+
42: <span class="ruby-identifier">x</span> = <span class="ruby-identifier">clip</span>(<span class="ruby-identifier">x</span>.<span class="ruby-identifier">to_i</span>, <span class="ruby-ivar">@width</span> <span class="ruby-operator">-</span> <span class="ruby-value">1</span>)
|
|
682
|
+
43: <span class="ruby-identifier">y</span> = <span class="ruby-identifier">clip</span>(<span class="ruby-identifier">y</span>.<span class="ruby-identifier">to_i</span>, <span class="ruby-ivar">@height</span> <span class="ruby-operator">-</span> <span class="ruby-value">1</span>)
|
|
683
|
+
44: <span class="ruby-identifier">w</span> = <span class="ruby-identifier">clip</span>(<span class="ruby-identifier">w</span>.<span class="ruby-identifier">to_i</span>, <span class="ruby-ivar">@width</span> <span class="ruby-operator">-</span> <span class="ruby-identifier">x</span>)
|
|
684
|
+
45: <span class="ruby-identifier">h</span> = <span class="ruby-identifier">clip</span>(<span class="ruby-identifier">h</span>.<span class="ruby-identifier">to_i</span>, <span class="ruby-ivar">@height</span> <span class="ruby-operator">-</span> <span class="ruby-identifier">y</span>)
|
|
685
|
+
46:
|
|
686
|
+
47: <span class="ruby-comment cmt"># We can ignore empty zones.</span>
|
|
687
|
+
48: <span class="ruby-keyword kw">return</span> <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">w</span> <span class="ruby-operator">==</span> <span class="ruby-value">0</span> <span class="ruby-operator">||</span> <span class="ruby-identifier">h</span> <span class="ruby-operator">==</span> <span class="ruby-value">0</span>
|
|
688
|
+
49:
|
|
689
|
+
50: <span class="ruby-comment cmt"># Break the rectangle into line segments and add them to the appropriate</span>
|
|
690
|
+
51: <span class="ruby-comment cmt"># line Arrays.</span>
|
|
691
|
+
52: <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">horiz</span>
|
|
692
|
+
53: <span class="ruby-identifier">y</span>.<span class="ruby-identifier">upto</span>(<span class="ruby-identifier">y</span> <span class="ruby-operator">+</span> <span class="ruby-identifier">h</span> <span class="ruby-operator">-</span> <span class="ruby-value">1</span>) <span class="ruby-keyword kw">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">i</span><span class="ruby-operator">|</span>
|
|
693
|
+
54: <span class="ruby-identifier">addSegment</span>(<span class="ruby-ivar">@hLines</span>[<span class="ruby-identifier">i</span>], [ <span class="ruby-identifier">x</span>, <span class="ruby-identifier">x</span> <span class="ruby-operator">+</span> <span class="ruby-identifier">w</span> <span class="ruby-operator">-</span> <span class="ruby-value">1</span> ])
|
|
694
|
+
55: <span class="ruby-keyword kw">end</span>
|
|
695
|
+
56: <span class="ruby-keyword kw">end</span>
|
|
696
|
+
57: <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">vert</span>
|
|
697
|
+
58: <span class="ruby-identifier">x</span>.<span class="ruby-identifier">upto</span>(<span class="ruby-identifier">x</span> <span class="ruby-operator">+</span> <span class="ruby-identifier">w</span> <span class="ruby-operator">-</span> <span class="ruby-value">1</span>) <span class="ruby-keyword kw">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">i</span><span class="ruby-operator">|</span>
|
|
698
|
+
59: <span class="ruby-identifier">addSegment</span>(<span class="ruby-ivar">@vLines</span>[<span class="ruby-identifier">i</span>], [ <span class="ruby-identifier">y</span>, <span class="ruby-identifier">y</span> <span class="ruby-operator">+</span> <span class="ruby-identifier">h</span> <span class="ruby-operator">-</span> <span class="ruby-value">1</span> ])
|
|
699
|
+
60: <span class="ruby-keyword kw">end</span>
|
|
700
|
+
61: <span class="ruby-keyword kw">end</span>
|
|
701
|
+
62: <span class="ruby-keyword kw">end</span></pre>
|
|
702
|
+
</div>
|
|
703
|
+
|
|
704
|
+
</div>
|
|
705
|
+
|
|
706
|
+
|
|
707
|
+
|
|
708
|
+
|
|
709
|
+
</div>
|
|
710
|
+
|
|
711
|
+
|
|
712
|
+
<div id="collision--method" class="method-detail ">
|
|
713
|
+
<a name="method-i-collision%3F"></a>
|
|
714
|
+
|
|
715
|
+
<div class="method-heading">
|
|
716
|
+
|
|
717
|
+
<span class="method-name">collision?</span><span
|
|
718
|
+
class="method-args">(pos, segment, horizontal)</span>
|
|
719
|
+
<span class="method-click-advice">click to toggle source</span>
|
|
720
|
+
|
|
721
|
+
</div>
|
|
722
|
+
|
|
723
|
+
<div class="method-description">
|
|
724
|
+
|
|
725
|
+
<p>
|
|
726
|
+
Find out if there is a block at line <em>pos</em> for the start/end
|
|
727
|
+
coordinates given by <em>segment</em>. If <em>horizontal</em> is true, we
|
|
728
|
+
are looking for a horizontal block, otherwise a vertical.
|
|
729
|
+
</p>
|
|
730
|
+
|
|
731
|
+
|
|
732
|
+
|
|
733
|
+
<div class="method-source-code"
|
|
734
|
+
id="collision--source">
|
|
735
|
+
<pre>
|
|
736
|
+
<span class="ruby-comment cmt"># File lib/reports/CollisionDetector.rb, line 67</span>
|
|
737
|
+
67: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">collision?</span>(<span class="ruby-identifier">pos</span>, <span class="ruby-identifier">segment</span>, <span class="ruby-identifier">horizontal</span>)
|
|
738
|
+
68: <span class="ruby-identifier">line</span> = (<span class="ruby-identifier">horizontal</span> <span class="ruby-operator">?</span> <span class="ruby-ivar">@hLines</span> <span class="ruby-operator">:</span> <span class="ruby-ivar">@vLines</span>)[<span class="ruby-identifier">pos</span>]
|
|
739
|
+
69:
|
|
740
|
+
70: <span class="ruby-comment cmt"># For complex charts, the segment lists can be rather long. We use a</span>
|
|
741
|
+
71: <span class="ruby-comment cmt"># binary search to be fairly efficient.</span>
|
|
742
|
+
72: <span class="ruby-identifier">l</span> = <span class="ruby-value">0</span>
|
|
743
|
+
73: <span class="ruby-identifier">u</span> = <span class="ruby-identifier">line</span>.<span class="ruby-identifier">length</span> <span class="ruby-operator">-</span> <span class="ruby-value">1</span>
|
|
744
|
+
74: <span class="ruby-keyword kw">while</span> <span class="ruby-identifier">l</span> <span class="ruby-operator"><=</span> <span class="ruby-identifier">u</span>
|
|
745
|
+
75: <span class="ruby-comment cmt"># Look at the element in the middle between l and u.</span>
|
|
746
|
+
76: <span class="ruby-identifier">p</span> = <span class="ruby-identifier">l</span> <span class="ruby-operator">+</span> ((<span class="ruby-identifier">u</span> <span class="ruby-operator">-</span> <span class="ruby-identifier">l</span>) <span class="ruby-operator">/</span> <span class="ruby-value">2</span>).<span class="ruby-identifier">to_i</span>
|
|
747
|
+
77: <span class="ruby-keyword kw">return</span> <span class="ruby-keyword kw">true</span> <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">overlaps?</span>(<span class="ruby-identifier">line</span>[<span class="ruby-identifier">p</span>], <span class="ruby-identifier">segment</span>)
|
|
748
|
+
78:
|
|
749
|
+
79: <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">segment</span>[<span class="ruby-value">0</span>] <span class="ruby-operator">></span> <span class="ruby-identifier">line</span>[<span class="ruby-identifier">p</span>][<span class="ruby-value">1</span>]
|
|
750
|
+
80: <span class="ruby-comment cmt"># The potential target is above p. Adjust lower bound.</span>
|
|
751
|
+
81: <span class="ruby-identifier">l</span> = <span class="ruby-identifier">p</span> <span class="ruby-operator">+</span> <span class="ruby-value">1</span>
|
|
752
|
+
82: <span class="ruby-keyword kw">else</span>
|
|
753
|
+
83: <span class="ruby-comment cmt"># The potential target is below p. Adjust upper bound.</span>
|
|
754
|
+
84: <span class="ruby-identifier">u</span> = <span class="ruby-identifier">p</span> <span class="ruby-operator">-</span> <span class="ruby-value">1</span>
|
|
755
|
+
85: <span class="ruby-keyword kw">end</span>
|
|
756
|
+
86: <span class="ruby-keyword kw">end</span>
|
|
757
|
+
87: <span class="ruby-keyword kw">false</span>
|
|
758
|
+
88: <span class="ruby-keyword kw">end</span></pre>
|
|
759
|
+
</div>
|
|
760
|
+
|
|
761
|
+
</div>
|
|
762
|
+
|
|
763
|
+
|
|
764
|
+
|
|
765
|
+
|
|
766
|
+
</div>
|
|
767
|
+
|
|
768
|
+
|
|
769
|
+
<div id="to-html-method" class="method-detail ">
|
|
770
|
+
<a name="method-i-to_html"></a>
|
|
771
|
+
|
|
772
|
+
<div class="method-heading">
|
|
773
|
+
|
|
774
|
+
<span class="method-name">to_html</span><span
|
|
775
|
+
class="method-args">()</span>
|
|
776
|
+
<span class="method-click-advice">click to toggle source</span>
|
|
777
|
+
|
|
778
|
+
</div>
|
|
779
|
+
|
|
780
|
+
<div class="method-description">
|
|
781
|
+
|
|
782
|
+
|
|
783
|
+
|
|
784
|
+
|
|
785
|
+
|
|
786
|
+
<div class="method-source-code"
|
|
787
|
+
id="to-html-source">
|
|
788
|
+
<pre>
|
|
789
|
+
<span class="ruby-comment cmt"># File lib/reports/CollisionDetector.rb, line 90</span>
|
|
790
|
+
90: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">to_html</span>
|
|
791
|
+
91: <span class="ruby-identifier">html</span> = []
|
|
792
|
+
92: <span class="ruby-comment cmt"># Change this to determine what zones you want to see.</span>
|
|
793
|
+
93: <span class="ruby-keyword kw">if</span> <span class="ruby-keyword kw">true</span>
|
|
794
|
+
94: <span class="ruby-comment cmt"># Show vertical blocks</span>
|
|
795
|
+
95: <span class="ruby-identifier">x</span> = <span class="ruby-value">0</span>
|
|
796
|
+
96: <span class="ruby-ivar">@vLines</span>.<span class="ruby-identifier">each</span> <span class="ruby-keyword kw">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">line</span><span class="ruby-operator">|</span>
|
|
797
|
+
97: <span class="ruby-identifier">line</span>.<span class="ruby-identifier">each</span> <span class="ruby-keyword kw">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">segment</span><span class="ruby-operator">|</span>
|
|
798
|
+
98: <span class="ruby-identifier">html</span> <span class="ruby-operator"><<</span> <span class="ruby-identifier">lineToHTML</span>(<span class="ruby-identifier">x</span>, <span class="ruby-identifier">segment</span>[<span class="ruby-value">0</span>], <span class="ruby-identifier">x</span>, <span class="ruby-identifier">segment</span>[<span class="ruby-value">1</span>], <span class="ruby-value str">'white'</span>)
|
|
799
|
+
99: <span class="ruby-keyword kw">end</span>
|
|
800
|
+
100: <span class="ruby-identifier">x</span> <span class="ruby-operator">+=</span> <span class="ruby-value">1</span>
|
|
801
|
+
101: <span class="ruby-keyword kw">end</span>
|
|
802
|
+
102: <span class="ruby-keyword kw">else</span>
|
|
803
|
+
103: <span class="ruby-comment cmt"># Show horizontal blocks</span>
|
|
804
|
+
104: <span class="ruby-identifier">y</span> = <span class="ruby-value">0</span>
|
|
805
|
+
105: <span class="ruby-ivar">@hLines</span>.<span class="ruby-identifier">each</span> <span class="ruby-keyword kw">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">line</span><span class="ruby-operator">|</span>
|
|
806
|
+
106: <span class="ruby-identifier">line</span>.<span class="ruby-identifier">each</span> <span class="ruby-keyword kw">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">segment</span><span class="ruby-operator">|</span>
|
|
807
|
+
107: <span class="ruby-identifier">html</span> <span class="ruby-operator"><<</span> <span class="ruby-identifier">lineToHTML</span>(<span class="ruby-identifier">segment</span>[<span class="ruby-value">0</span>], <span class="ruby-identifier">y</span>, <span class="ruby-identifier">segment</span>[<span class="ruby-value">1</span>], <span class="ruby-identifier">y</span>, <span class="ruby-value str">'white'</span>)
|
|
808
|
+
108: <span class="ruby-keyword kw">end</span>
|
|
809
|
+
109: <span class="ruby-identifier">y</span> <span class="ruby-operator">+=</span> <span class="ruby-value">1</span>
|
|
810
|
+
110: <span class="ruby-keyword kw">end</span>
|
|
811
|
+
111: <span class="ruby-keyword kw">end</span>
|
|
812
|
+
112: <span class="ruby-identifier">html</span>
|
|
813
|
+
113: <span class="ruby-keyword kw">end</span></pre>
|
|
814
|
+
</div>
|
|
815
|
+
|
|
816
|
+
</div>
|
|
817
|
+
|
|
818
|
+
|
|
819
|
+
|
|
820
|
+
|
|
821
|
+
</div>
|
|
822
|
+
|
|
823
|
+
|
|
824
|
+
</div>
|
|
825
|
+
|
|
826
|
+
<div id="private-instance-method-details" class="method-section section">
|
|
827
|
+
<h3 class="section-header">Private Instance Methods</h3>
|
|
828
|
+
|
|
829
|
+
|
|
830
|
+
<div id="add-egment-method" class="method-detail ">
|
|
831
|
+
<a name="method-i-addSegment"></a>
|
|
832
|
+
|
|
833
|
+
<div class="method-heading">
|
|
834
|
+
|
|
835
|
+
<span class="method-name">addSegment</span><span
|
|
836
|
+
class="method-args">(line, newSegment)</span>
|
|
837
|
+
<span class="method-click-advice">click to toggle source</span>
|
|
838
|
+
|
|
839
|
+
</div>
|
|
840
|
+
|
|
841
|
+
<div class="method-description">
|
|
842
|
+
|
|
843
|
+
<p>
|
|
844
|
+
This function adds a new segment to the line. In case the new segment
|
|
845
|
+
overlaps with or directly attaches to existing segments, these segments are
|
|
846
|
+
merged into a single segment.
|
|
847
|
+
</p>
|
|
848
|
+
|
|
849
|
+
|
|
850
|
+
|
|
851
|
+
<div class="method-source-code"
|
|
852
|
+
id="add-egment-source">
|
|
853
|
+
<pre>
|
|
854
|
+
<span class="ruby-comment cmt"># File lib/reports/CollisionDetector.rb, line 127</span>
|
|
855
|
+
127: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">addSegment</span>(<span class="ruby-identifier">line</span>, <span class="ruby-identifier">newSegment</span>)
|
|
856
|
+
128: <span class="ruby-comment cmt"># Search for overlaping or directly attaching segments in the list.</span>
|
|
857
|
+
129: <span class="ruby-identifier">i</span> = <span class="ruby-value">0</span>
|
|
858
|
+
130: <span class="ruby-keyword kw">while</span> (<span class="ruby-identifier">i</span> <span class="ruby-operator"><</span> <span class="ruby-identifier">line</span>.<span class="ruby-identifier">length</span>)
|
|
859
|
+
131: <span class="ruby-identifier">segment</span> = <span class="ruby-identifier">line</span>[<span class="ruby-identifier">i</span>]
|
|
860
|
+
132: <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">mergeable?</span>(<span class="ruby-identifier">newSegment</span>, <span class="ruby-identifier">segment</span>)
|
|
861
|
+
133: <span class="ruby-comment cmt"># Merge exiting segment into new one</span>
|
|
862
|
+
134: <span class="ruby-identifier">merge</span>(<span class="ruby-identifier">newSegment</span>, <span class="ruby-identifier">segment</span>)
|
|
863
|
+
135: <span class="ruby-comment cmt"># Remove the old one from the list and restart with the newly created</span>
|
|
864
|
+
136: <span class="ruby-comment cmt"># one at the same position.</span>
|
|
865
|
+
137: <span class="ruby-identifier">line</span>.<span class="ruby-identifier">delete_at</span>(<span class="ruby-identifier">i</span>)
|
|
866
|
+
138: <span class="ruby-keyword kw">next</span>
|
|
867
|
+
139: <span class="ruby-keyword kw">elsif</span> <span class="ruby-identifier">segment</span>[<span class="ruby-value">0</span>] <span class="ruby-operator">></span> <span class="ruby-identifier">newSegment</span>[<span class="ruby-value">1</span>]
|
|
868
|
+
140: <span class="ruby-comment cmt"># Segments are stored in ascending order. If the next segment starts</span>
|
|
869
|
+
141: <span class="ruby-comment cmt"># with a larger value, we insert the new segment before the larger</span>
|
|
870
|
+
142: <span class="ruby-comment cmt"># one.</span>
|
|
871
|
+
143: <span class="ruby-identifier">line</span>.<span class="ruby-identifier">insert</span>(<span class="ruby-identifier">i</span>, <span class="ruby-identifier">newSegment</span>)
|
|
872
|
+
144: <span class="ruby-keyword kw">return</span>
|
|
873
|
+
145: <span class="ruby-keyword kw">end</span>
|
|
874
|
+
146: <span class="ruby-identifier">i</span> <span class="ruby-operator">+=</span> <span class="ruby-value">1</span>
|
|
875
|
+
147: <span class="ruby-keyword kw">end</span>
|
|
876
|
+
148: <span class="ruby-comment cmt"># Append new segment</span>
|
|
877
|
+
149: <span class="ruby-identifier">line</span> <span class="ruby-operator"><<</span> <span class="ruby-identifier">newSegment</span>
|
|
878
|
+
150: <span class="ruby-keyword kw">end</span></pre>
|
|
879
|
+
</div>
|
|
880
|
+
|
|
881
|
+
</div>
|
|
882
|
+
|
|
883
|
+
|
|
884
|
+
|
|
885
|
+
|
|
886
|
+
</div>
|
|
887
|
+
|
|
888
|
+
|
|
889
|
+
<div id="clip-method" class="method-detail ">
|
|
890
|
+
<a name="method-i-clip"></a>
|
|
891
|
+
|
|
892
|
+
<div class="method-heading">
|
|
893
|
+
|
|
894
|
+
<span class="method-name">clip</span><span
|
|
895
|
+
class="method-args">(v, max)</span>
|
|
896
|
+
<span class="method-click-advice">click to toggle source</span>
|
|
897
|
+
|
|
898
|
+
</div>
|
|
899
|
+
|
|
900
|
+
<div class="method-description">
|
|
901
|
+
|
|
902
|
+
<p>
|
|
903
|
+
Simple utility function to limit <em>v</em> between 0 and <em>max</em>.
|
|
904
|
+
</p>
|
|
905
|
+
|
|
906
|
+
|
|
907
|
+
|
|
908
|
+
<div class="method-source-code"
|
|
909
|
+
id="clip-source">
|
|
910
|
+
<pre>
|
|
911
|
+
<span class="ruby-comment cmt"># File lib/reports/CollisionDetector.rb, line 118</span>
|
|
912
|
+
118: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">clip</span>(<span class="ruby-identifier">v</span>, <span class="ruby-identifier">max</span>)
|
|
913
|
+
119: <span class="ruby-identifier">v</span> = <span class="ruby-value">0</span> <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">v</span> <span class="ruby-operator"><</span> <span class="ruby-value">0</span>
|
|
914
|
+
120: <span class="ruby-identifier">v</span> = <span class="ruby-identifier">max</span> <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">v</span> <span class="ruby-operator">></span> <span class="ruby-identifier">max</span>
|
|
915
|
+
121: <span class="ruby-identifier">v</span>
|
|
916
|
+
122: <span class="ruby-keyword kw">end</span></pre>
|
|
917
|
+
</div>
|
|
918
|
+
|
|
919
|
+
</div>
|
|
920
|
+
|
|
921
|
+
|
|
922
|
+
|
|
923
|
+
|
|
924
|
+
</div>
|
|
925
|
+
|
|
926
|
+
|
|
927
|
+
<div id="merge-method" class="method-detail ">
|
|
928
|
+
<a name="method-i-merge"></a>
|
|
929
|
+
|
|
930
|
+
<div class="method-heading">
|
|
931
|
+
|
|
932
|
+
<span class="method-name">merge</span><span
|
|
933
|
+
class="method-args">(dst, seg)</span>
|
|
934
|
+
<span class="method-click-advice">click to toggle source</span>
|
|
935
|
+
|
|
936
|
+
</div>
|
|
937
|
+
|
|
938
|
+
<div class="method-description">
|
|
939
|
+
|
|
940
|
+
<p>
|
|
941
|
+
Merge the two segments described by <em>dst</em> and <em>src</em> into
|
|
942
|
+
<em>dst</em>.
|
|
943
|
+
</p>
|
|
944
|
+
|
|
945
|
+
|
|
946
|
+
|
|
947
|
+
<div class="method-source-code"
|
|
948
|
+
id="merge-source">
|
|
949
|
+
<pre>
|
|
950
|
+
<span class="ruby-comment cmt"># File lib/reports/CollisionDetector.rb, line 169</span>
|
|
951
|
+
169: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">merge</span>(<span class="ruby-identifier">dst</span>, <span class="ruby-identifier">seg</span>)
|
|
952
|
+
170: <span class="ruby-identifier">dst</span>[<span class="ruby-value">0</span>] = <span class="ruby-identifier">seg</span>[<span class="ruby-value">0</span>] <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">seg</span>[<span class="ruby-value">0</span>] <span class="ruby-operator"><</span> <span class="ruby-identifier">dst</span>[<span class="ruby-value">0</span>]
|
|
953
|
+
171: <span class="ruby-identifier">dst</span>[<span class="ruby-value">1</span>] = <span class="ruby-identifier">seg</span>[<span class="ruby-value">1</span>] <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">seg</span>[<span class="ruby-value">1</span>] <span class="ruby-operator">></span> <span class="ruby-identifier">dst</span>[<span class="ruby-value">1</span>]
|
|
954
|
+
172: <span class="ruby-keyword kw">end</span></pre>
|
|
955
|
+
</div>
|
|
956
|
+
|
|
957
|
+
</div>
|
|
958
|
+
|
|
959
|
+
|
|
960
|
+
|
|
961
|
+
|
|
962
|
+
</div>
|
|
963
|
+
|
|
964
|
+
|
|
965
|
+
<div id="mergeable--method" class="method-detail ">
|
|
966
|
+
<a name="method-i-mergeable%3F"></a>
|
|
967
|
+
|
|
968
|
+
<div class="method-heading">
|
|
969
|
+
|
|
970
|
+
<span class="method-name">mergeable?</span><span
|
|
971
|
+
class="method-args">(s1, s2)</span>
|
|
972
|
+
<span class="method-click-advice">click to toggle source</span>
|
|
973
|
+
|
|
974
|
+
</div>
|
|
975
|
+
|
|
976
|
+
<div class="method-description">
|
|
977
|
+
|
|
978
|
+
<p>
|
|
979
|
+
Return true if the two segments described by <em>s1</em> and <em>s2</em>
|
|
980
|
+
overlap each other or are directly attached to each other.
|
|
981
|
+
</p>
|
|
982
|
+
|
|
983
|
+
|
|
984
|
+
|
|
985
|
+
<div class="method-source-code"
|
|
986
|
+
id="mergeable--source">
|
|
987
|
+
<pre>
|
|
988
|
+
<span class="ruby-comment cmt"># File lib/reports/CollisionDetector.rb, line 162</span>
|
|
989
|
+
162: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">mergeable?</span>(<span class="ruby-identifier">s1</span>, <span class="ruby-identifier">s2</span>)
|
|
990
|
+
163: <span class="ruby-identifier">overlaps?</span>(<span class="ruby-identifier">s1</span>, <span class="ruby-identifier">s2</span>) <span class="ruby-operator">||</span>
|
|
991
|
+
164: (<span class="ruby-identifier">s1</span>[<span class="ruby-value">1</span>] <span class="ruby-operator">+</span> <span class="ruby-value">1</span> <span class="ruby-operator">==</span> <span class="ruby-identifier">s2</span>[<span class="ruby-value">0</span>]) <span class="ruby-operator">||</span>
|
|
992
|
+
165: (<span class="ruby-identifier">s2</span>[<span class="ruby-value">1</span>] <span class="ruby-operator">+</span> <span class="ruby-value">1</span> <span class="ruby-operator">==</span> <span class="ruby-identifier">s1</span>[<span class="ruby-value">0</span>])
|
|
993
|
+
166: <span class="ruby-keyword kw">end</span></pre>
|
|
994
|
+
</div>
|
|
995
|
+
|
|
996
|
+
</div>
|
|
997
|
+
|
|
998
|
+
|
|
999
|
+
|
|
1000
|
+
|
|
1001
|
+
</div>
|
|
1002
|
+
|
|
1003
|
+
|
|
1004
|
+
<div id="overlaps--method" class="method-detail ">
|
|
1005
|
+
<a name="method-i-overlaps%3F"></a>
|
|
1006
|
+
|
|
1007
|
+
<div class="method-heading">
|
|
1008
|
+
|
|
1009
|
+
<span class="method-name">overlaps?</span><span
|
|
1010
|
+
class="method-args">(s1, s2)</span>
|
|
1011
|
+
<span class="method-click-advice">click to toggle source</span>
|
|
1012
|
+
|
|
1013
|
+
</div>
|
|
1014
|
+
|
|
1015
|
+
<div class="method-description">
|
|
1016
|
+
|
|
1017
|
+
<p>
|
|
1018
|
+
Return true if the two segments described by <em>s1</em> and <em>s2</em>
|
|
1019
|
+
overlap each other. A segment is a [ start, end ] Array. The two points are
|
|
1020
|
+
part of the segment.
|
|
1021
|
+
</p>
|
|
1022
|
+
|
|
1023
|
+
|
|
1024
|
+
|
|
1025
|
+
<div class="method-source-code"
|
|
1026
|
+
id="overlaps--source">
|
|
1027
|
+
<pre>
|
|
1028
|
+
<span class="ruby-comment cmt"># File lib/reports/CollisionDetector.rb, line 155</span>
|
|
1029
|
+
155: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">overlaps?</span>(<span class="ruby-identifier">s1</span>, <span class="ruby-identifier">s2</span>)
|
|
1030
|
+
156: (<span class="ruby-identifier">s1</span>[<span class="ruby-value">0</span>] <span class="ruby-operator"><=</span> <span class="ruby-identifier">s2</span>[<span class="ruby-value">0</span>] <span class="ruby-operator">&&</span> <span class="ruby-identifier">s2</span>[<span class="ruby-value">0</span>] <span class="ruby-operator"><=</span> <span class="ruby-identifier">s1</span>[<span class="ruby-value">1</span>]) <span class="ruby-operator">||</span>
|
|
1031
|
+
157: (<span class="ruby-identifier">s2</span>[<span class="ruby-value">0</span>] <span class="ruby-operator"><=</span> <span class="ruby-identifier">s1</span>[<span class="ruby-value">0</span>] <span class="ruby-operator">&&</span> <span class="ruby-identifier">s1</span>[<span class="ruby-value">0</span>] <span class="ruby-operator"><=</span> <span class="ruby-identifier">s2</span>[<span class="ruby-value">1</span>])
|
|
1032
|
+
158: <span class="ruby-keyword kw">end</span></pre>
|
|
1033
|
+
</div>
|
|
1034
|
+
|
|
1035
|
+
</div>
|
|
1036
|
+
|
|
1037
|
+
|
|
1038
|
+
|
|
1039
|
+
|
|
1040
|
+
</div>
|
|
1041
|
+
|
|
1042
|
+
|
|
1043
|
+
</div>
|
|
1044
|
+
|
|
1045
|
+
|
|
1046
|
+
</div>
|
|
1047
|
+
|
|
1048
|
+
|
|
1049
|
+
<div id="rdoc-debugging-section-dump" class="debugging-section">
|
|
1050
|
+
|
|
1051
|
+
<p>Disabled; run with --debug to generate this.</p>
|
|
1052
|
+
|
|
1053
|
+
</div>
|
|
1054
|
+
|
|
1055
|
+
<div id="validator-badges">
|
|
1056
|
+
<p><small><a href="http://validator.w3.org/check/referer">[Validate]</a></small></p>
|
|
1057
|
+
<p><small>Generated with the <a href="http://deveiate.org/projects/Darkfish-Rdoc/">Darkfish
|
|
1058
|
+
Rdoc Generator</a> 1.1.6</small>.</p>
|
|
1059
|
+
</div>
|
|
1060
|
+
|
|
1061
|
+
</body>
|
|
1062
|
+
</html>
|
|
1063
|
+
|