// September 2015 // Levee Patroller / Dijk Patrouille // This source file is (c) by Deltares. This source file is open source but only available to select users. Do not redistribute without written permission of Stichting Deltares, Delft, The Netherlands. // This header has been automatically generated. class LeveeFailureErosionOuterRipRap_Straight extends LeveeFailure placeable; function SetFailureOptions() { /// Failure information: Mechanism = FM_ErosionOuterRipRap; LinkedTile.Mechanism = Mechanism; LinkedTile.CurrentState = STA_Relevant; NL_FailureName = "Erosie Buitentalud"; EN_FailureName = "Erosion Outer"; super.SetFailureOptions(); } function CreateObjects() { local DynamicMover M; // local DynVariableTimedMover Mv; local DynamicMeshActor sMA; /// ID is the same as the linked object: id = LinkedTile.Name; /// Create road: - DO NOT REMOVE! THIS ONE HAS BEEN PLACED MANUALLY AND NOT EXPORTED!! sMA = CreateMesh(RotateVector(0,-4096, 0), id$"ErosionRoad", StaticMesh'PrimDikeSM.Base.PrimDyke32Road'); RotationOffset(sMA, LinkedTile.Rotation, 0,0,0); /// Creating World Objects: /// For the record: The likely center is: 12855.00,-5464.02,64.00 /// For the record: The likely center rotation: 0,49152,0 /// Set relative rotation, the original failure was based on a rotation of 16384. So now we need to turn it back. SetFailureRelativeRotation(-16384); sMA = CreateMesh(Location, id$"StaticMeshActor", StaticMesh'PrimDikeSM.ErosionOuterStraight.ErosionOuterStraightBase'); RotationOffset(sMA, LinkedTile.Rotation, 0,0,0); M = CreateMover(RotateVector(0.00,0.00,-256.00), id$"EroOuterStraightMeasure3", StaticMesh'SecDikeSM.Measures.measure_sheet_outer_straight' , 2.00, 2); M.SetKeyPos( RotateVectorNoLocation(0.00,0.00,256.00), 1); M.SetKeyRot( rot(0,0,0), 1); RotationOffset(M, LinkedTile.Rotation, 0,0,0); M.bDisableSorting = true; /// Disable sorting for sheet. M = CreateMover(Location, id$"MudLayerStraightc", StaticMesh'PrimDikeSM.ErosionOuterStraight.StraightMudLayer' , 160.00, 2); M.SetKeyPos( RotateVectorNoLocation(-56.00,24.00,-160.00), 1); M.SetKeyRot( rot(0,0,0), 1); RotationOffset(M, LinkedTile.Rotation, 0,0,0); M = CreateMover(Location, id$"StraightStone16c", StaticMesh'PrimDikeSM.ErosionOuterStraight.StraightStone16' , 15.00, 3); M.SetKeyPos( RotateVectorNoLocation(-8.00,0.00,-8.00), 1); M.SetKeyRot( rot(0,0,0), 1); M.SetKeyPos( RotateVectorNoLocation(-2084.00,0.00,-2584.00), 2); M.SetKeyRot( rot(0,0,0), 2); RotationOffset(M, LinkedTile.Rotation, 0,0,0); M = CreateMover(Location, id$"StraightStone11c", StaticMesh'PrimDikeSM.ErosionOuterStraight.StraightStone11' , 15.00, 3); M.SetKeyPos( RotateVectorNoLocation(-8.00,0.00,-8.00), 1); M.SetKeyRot( rot(0,0,0), 1); M.SetKeyPos( RotateVectorNoLocation(-2084.00,0.00,-2584.00), 2); M.SetKeyRot( rot(0,0,0), 2); RotationOffset(M, LinkedTile.Rotation, 0,0,0); M = CreateMover(Location, id$"StraightStone17c", StaticMesh'PrimDikeSM.ErosionOuterStraight.StraightStone17' , 15.00, 3); M.SetKeyPos( RotateVectorNoLocation(-8.00,0.00,-8.00), 1); M.SetKeyRot( rot(0,0,0), 1); M.SetKeyPos( RotateVectorNoLocation(-2084.00,0.00,-2584.00), 2); M.SetKeyRot( rot(0,0,0), 2); RotationOffset(M, LinkedTile.Rotation, 0,0,0); M = CreateMover(Location, id$"StraightStone15c", StaticMesh'PrimDikeSM.ErosionOuterStraight.StraightStone15' , 15.00, 3); M.SetKeyPos( RotateVectorNoLocation(-8.00,0.00,-8.00), 1); M.SetKeyRot( rot(0,0,0), 1); M.SetKeyPos( RotateVectorNoLocation(-2084.00,0.00,-2584.00), 2); M.SetKeyRot( rot(0,0,0), 2); RotationOffset(M, LinkedTile.Rotation, 0,0,0); M = CreateMover(Location, id$"StraightStone12c", StaticMesh'PrimDikeSM.ErosionOuterStraight.StraightStone12' , 15.00, 3); M.SetKeyPos( RotateVectorNoLocation(-8.00,0.00,-8.00), 1); M.SetKeyRot( rot(0,0,0), 1); M.SetKeyPos( RotateVectorNoLocation(-2084.00,0.00,-2584.00), 2); M.SetKeyRot( rot(0,0,0), 2); RotationOffset(M, LinkedTile.Rotation, 0,0,0); M = CreateMover(Location, id$"StraightStone9c", StaticMesh'PrimDikeSM.ErosionOuterStraight.StraightStone9' , 15.00, 3); M.SetKeyPos( RotateVectorNoLocation(-8.00,0.00,-8.00), 1); M.SetKeyRot( rot(0,0,0), 1); M.SetKeyPos( RotateVectorNoLocation(-2084.00,0.00,-2584.00), 2); M.SetKeyRot( rot(0,0,0), 2); RotationOffset(M, LinkedTile.Rotation, 0,0,0); M = CreateMover(Location, id$"StraightStone8c", StaticMesh'PrimDikeSM.ErosionOuterStraight.StraightStone8' , 15.00, 3); M.SetKeyPos( RotateVectorNoLocation(-8.00,0.00,-8.00), 1); M.SetKeyRot( rot(0,0,0), 1); M.SetKeyPos( RotateVectorNoLocation(-2084.00,0.00,-2584.00), 2); M.SetKeyRot( rot(0,0,0), 2); RotationOffset(M, LinkedTile.Rotation, 0,0,0); M = CreateMover(Location, id$"StraightStone13c", StaticMesh'PrimDikeSM.ErosionOuterStraight.StraightStone13' , 15.00, 3); M.SetKeyPos( RotateVectorNoLocation(-8.00,0.00,-8.00), 1); M.SetKeyRot( rot(0,0,0), 1); M.SetKeyPos( RotateVectorNoLocation(-2084.00,0.00,-2584.00), 2); M.SetKeyRot( rot(0,0,0), 2); RotationOffset(M, LinkedTile.Rotation, 0,0,0); M = CreateMover(Location, id$"StraightStone7c", StaticMesh'PrimDikeSM.ErosionOuterStraight.StraightStone7' , 15.00, 3); M.SetKeyPos( RotateVectorNoLocation(-8.00,0.00,-8.00), 1); M.SetKeyRot( rot(0,0,0), 1); M.SetKeyPos( RotateVectorNoLocation(-2084.00,0.00,-2584.00), 2); M.SetKeyRot( rot(0,0,0), 2); RotationOffset(M, LinkedTile.Rotation, 0,0,0); M = CreateMover(Location, id$"StraightStone14c", StaticMesh'PrimDikeSM.ErosionOuterStraight.StraightStone14' , 15.00, 3); M.SetKeyPos( RotateVectorNoLocation(-8.00,0.00,-8.00), 1); M.SetKeyRot( rot(0,0,0), 1); M.SetKeyPos( RotateVectorNoLocation(-2084.00,0.00,-2584.00), 2); M.SetKeyRot( rot(0,0,0), 2); RotationOffset(M, LinkedTile.Rotation, 0,0,0); M = CreateMover(Location, id$"StraightStone10c", StaticMesh'PrimDikeSM.ErosionOuterStraight.StraightStone10' , 15.00, 2); M.SetKeyPos( RotateVectorNoLocation(-8.00,0.00,-8.00), 1); M.SetKeyRot( rot(0,0,0), 1); RotationOffset(M, LinkedTile.Rotation, 0,0,0); M = CreateMover(Location, id$"StraightStone5c", StaticMesh'PrimDikeSM.ErosionOuterStraight.StraightStone5' , 15.00, 3); M.SetKeyPos( RotateVectorNoLocation(-8.00,0.00,-8.00), 1); M.SetKeyRot( rot(0,0,0), 1); M.SetKeyPos( RotateVectorNoLocation(-2084.00,0.00,-2584.00), 2); M.SetKeyRot( rot(0,0,0), 2); RotationOffset(M, LinkedTile.Rotation, 0,0,0); M = CreateMover(Location, id$"StraightStone1c", StaticMesh'PrimDikeSM.ErosionOuterStraight.StraightStone1' , 15.00, 3); M.SetKeyPos( RotateVectorNoLocation(-8.00,0.00,-8.00), 1); M.SetKeyRot( rot(0,0,0), 1); M.SetKeyPos( RotateVectorNoLocation(-2084.00,0.00,-2584.00), 2); M.SetKeyRot( rot(0,0,0), 2); RotationOffset(M, LinkedTile.Rotation, 0,0,0); M = CreateMover(Location, id$"StraightStone4c", StaticMesh'PrimDikeSM.ErosionOuterStraight.StraightStone4' , 15.00, 3); M.SetKeyPos( RotateVectorNoLocation(-8.00,0.00,-8.00), 1); M.SetKeyRot( rot(0,0,0), 1); M.SetKeyPos( RotateVectorNoLocation(-2084.00,0.00,-2584.00), 2); M.SetKeyRot( rot(0,0,0), 2); RotationOffset(M, LinkedTile.Rotation, 0,0,0); M = CreateMover(Location, id$"StraightStone6c", StaticMesh'PrimDikeSM.ErosionOuterStraight.StraightStone6' , 15.00, 3); M.SetKeyPos( RotateVectorNoLocation(-8.00,0.00,-8.00), 1); M.SetKeyRot( rot(0,0,0), 1); M.SetKeyPos( RotateVectorNoLocation(-2084.00,0.00,-2584.00), 2); M.SetKeyRot( rot(0,0,0), 2); RotationOffset(M, LinkedTile.Rotation, 0,0,0); M = CreateMover(Location, id$"StraightStone2c", StaticMesh'PrimDikeSM.ErosionOuterStraight.StraightStone2' , 15.00, 3); M.SetKeyPos( RotateVectorNoLocation(-8.00,0.00,-8.00), 1); M.SetKeyRot( rot(0,0,0), 1); M.SetKeyPos( RotateVectorNoLocation(-2084.00,0.00,-2584.00), 2); M.SetKeyRot( rot(0,0,0), 2); RotationOffset(M, LinkedTile.Rotation, 0,0,0); M = CreateMover(Location, id$"StraightStone3c", StaticMesh'PrimDikeSM.ErosionOuterStraight.StraightStone3' , 15.00, 3); M.SetKeyPos( RotateVectorNoLocation(-8.00,0.00,-8.00), 1); M.SetKeyRot( rot(0,0,0), 1); M.SetKeyPos( RotateVectorNoLocation(-2084.00,0.00,-2584.00), 2); M.SetKeyRot( rot(0,0,0), 2); RotationOffset(M, LinkedTile.Rotation, 0,0,0); /// Call parent: Super.CreateObjects(); /// Set redmarker location position: RedMarkerLocation = RotateVectorInvertRelative(900.00,-2066.00,684.00); } function CreateTriggers() { local DScriptedTrigger sT; sT = Spawn(class'DScriptedTrigger'); /// Tag is the same as the linked object name: sT.Tag = GetFailureName(); FailureScript = sT; /// Store in public leveetile var. /// Position is the same as the linked object: sT.SetLocation(LinkedTile.Location); sT.Actions.insert(0, 38); sT.Actions[0] = new class'ACTION_WaitForTimer'; ACTION_WaitForTimer(sT.Actions[0]).PauseTime = 10.00 * speedfactor; sT.Actions[1] = new class'ACTION_IfActive'; ACTION_IfActive(sT.Actions[1]).FailureTag = GetName(id$""); sT.Actions[2] = new class'ACTION_TriggerEvent'; ACTION_TriggerEvent(sT.Actions[2]).Event = GetName(id$"StraightStone1c"); sT.Actions[3] = new class'ACTION_WaitForTimer'; ACTION_WaitForTimer(sT.Actions[3]).PauseTime = 1.00 * speedfactor; sT.Actions[4] = new class'ACTION_IfRelevant'; ACTION_IfRelevant(sT.Actions[4]).FailureTag = GetName(id$""); sT.Actions[5] = new class'ACTION_TriggerEvent'; ACTION_TriggerEvent(sT.Actions[5]).Event = GetName(id$"StraightStone2c"); sT.Actions[6] = new class'ACTION_WaitForTimer'; ACTION_WaitForTimer(sT.Actions[6]).PauseTime = 1.00 * speedfactor; sT.Actions[7] = new class'ACTION_TriggerEvent'; ACTION_TriggerEvent(sT.Actions[7]).Event = GetName(id$"StraightStone3c"); sT.Actions[8] = new class'ACTION_WaitForTimer'; ACTION_WaitForTimer(sT.Actions[8]).PauseTime = 630.00 * speedfactor; sT.Actions[9] = new class'ACTION_IfCritical'; ACTION_IfCritical(sT.Actions[9]).FailureTag = GetName(id$""); sT.Actions[10] = new class'ACTION_TriggerEvent'; ACTION_TriggerEvent(sT.Actions[10]).Event = GetName(id$"StraightStone4c"); sT.Actions[11] = new class'ACTION_WaitForTimer'; ACTION_WaitForTimer(sT.Actions[11]).PauseTime = 15.00 * speedfactor; sT.Actions[12] = new class'ACTION_TriggerEvent'; ACTION_TriggerEvent(sT.Actions[12]).Event = GetName(id$"MudLayerStraightc"); sT.Actions[13] = new class'ACTION_TriggerEvent'; ACTION_TriggerEvent(sT.Actions[13]).Event = GetName(id$"StraightStone5c"); sT.Actions[14] = new class'ACTION_WaitForTimer'; ACTION_WaitForTimer(sT.Actions[14]).PauseTime = 20.00 * speedfactor; sT.Actions[15] = new class'ACTION_TriggerEvent'; ACTION_TriggerEvent(sT.Actions[15]).Event = GetName(id$"StraightStone6c"); sT.Actions[16] = new class'ACTION_WaitForTimer'; ACTION_WaitForTimer(sT.Actions[16]).PauseTime = 20.00 * speedfactor; sT.Actions[17] = new class'ACTION_TriggerEvent'; ACTION_TriggerEvent(sT.Actions[17]).Event = GetName(id$"StraightStone7c"); sT.Actions[18] = new class'ACTION_WaitForTimer'; ACTION_WaitForTimer(sT.Actions[18]).PauseTime = 20.00 * speedfactor; sT.Actions[19] = new class'ACTION_TriggerEvent'; ACTION_TriggerEvent(sT.Actions[19]).Event = GetName(id$"StraightStone8c"); sT.Actions[20] = new class'ACTION_WaitForTimer'; ACTION_WaitForTimer(sT.Actions[20]).PauseTime = 20.00 * speedfactor; sT.Actions[21] = new class'ACTION_TriggerEvent'; ACTION_TriggerEvent(sT.Actions[21]).Event = GetName(id$"StraightStone9c"); sT.Actions[22] = new class'ACTION_WaitForTimer'; ACTION_WaitForTimer(sT.Actions[22]).PauseTime = 20.00 * speedfactor; sT.Actions[23] = new class'ACTION_TriggerEvent'; ACTION_TriggerEvent(sT.Actions[23]).Event = GetName(id$"StraightStone10c"); sT.Actions[24] = new class'ACTION_WaitForTimer'; ACTION_WaitForTimer(sT.Actions[24]).PauseTime = 20.00 * speedfactor; sT.Actions[25] = new class'ACTION_TriggerEvent'; ACTION_TriggerEvent(sT.Actions[25]).Event = GetName(id$"StraightStone11c"); sT.Actions[26] = new class'ACTION_WaitForTimer'; ACTION_WaitForTimer(sT.Actions[26]).PauseTime = 20.00 * speedfactor; sT.Actions[27] = new class'ACTION_TriggerEvent'; ACTION_TriggerEvent(sT.Actions[27]).Event = GetName(id$"StraightStone12c"); sT.Actions[28] = new class'ACTION_WaitForTimer'; ACTION_WaitForTimer(sT.Actions[28]).PauseTime = 20.00 * speedfactor; sT.Actions[29] = new class'ACTION_TriggerEvent'; ACTION_TriggerEvent(sT.Actions[29]).Event = GetName(id$"StraightStone13c"); sT.Actions[30] = new class'ACTION_WaitForTimer'; ACTION_WaitForTimer(sT.Actions[30]).PauseTime = 20.00 * speedfactor; sT.Actions[31] = new class'ACTION_TriggerEvent'; ACTION_TriggerEvent(sT.Actions[31]).Event = GetName(id$"StraightStone14c"); sT.Actions[32] = new class'ACTION_WaitForTimer'; ACTION_WaitForTimer(sT.Actions[32]).PauseTime = 20.00 * speedfactor; sT.Actions[33] = new class'ACTION_TriggerEvent'; ACTION_TriggerEvent(sT.Actions[33]).Event = GetName(id$"StraightStone15c"); sT.Actions[34] = new class'ACTION_WaitForTimer'; ACTION_WaitForTimer(sT.Actions[34]).PauseTime = 20.00 * speedfactor; sT.Actions[35] = new class'ACTION_TriggerEvent'; ACTION_TriggerEvent(sT.Actions[35]).Event = GetName(id$"StraightStone16c"); sT.Actions[36] = new class'ACTION_WaitForTimer'; ACTION_WaitForTimer(sT.Actions[36]).PauseTime = 20.00 * speedfactor; sT.Actions[37] = new class'ACTION_TriggerEvent'; ACTION_TriggerEvent(sT.Actions[37]).Event = GetName(id$"StraightStone17c"); } function CreateSignals() { local SignalRipPitching signal0; local SignalReportRipPitching signal0report0,signal0report1; /// Signals information: Signals.Insert(0,1); /// local SignalRipPitching signal0; signal0 = New class'SignalRipPitching'; signal0.CrossCutLocation=CUT_OuterSlope; signal0.FirstState=STA_Reportable; signal0.RevetmentType=REV_PitchingStone; signal0.SignalReports.insert(0,2); signal0report0 = New class'SignalReportRipPitching'; signal0report0.ElementsLoose = GEO_Yes; signal0report0.ElementsMissingOrMoved = GEO_Yes; signal0report0.FlushingSoil = GEO_No; signal0report0.FlushingSoilQuantity = QUA_None; signal0report0.GeoState = STA_Relevant; signal0report0.LengthOfDamage = SIZE_Medium; signal0report0.LengthOfDamageMax = SIZE_Large; signal0report0.WidthOfDamage = SIZE_Small; signal0report0.WidthOfDamageMax = SIZE_MediumLarge; signal0.SignalReports[0] = signal0report0; Signals[0] = signal0; signal0report1 = New class'SignalReportRipPitching'; signal0report1.ElementsLoose = GEO_Yes; signal0report1.ElementsMissingOrMoved = GEO_Yes; signal0report1.FlushingSoil = GEO_Yes; signal0report1.FlushingSoilQuantity = QUA_Much; signal0report1.GeoState = STA_Critical; signal0report1.LengthOfDamage = SIZE_Medium; signal0report1.LengthOfDamageMax = SIZE_Large; signal0report1.WidthOfDamage = SIZE_Small; signal0report1.WidthOfDamageMax = SIZE_MediumLarge; signal0.SignalReports[1] = signal0report1; Signals[0] = signal0; } function CreateMeasures() { local Measure Msr; /// Creating measures: Measures.Insert(0,1); Msr = New class'Measure'; Msr.SetPropertyText("EventMeasureTaken", id$"EroOuterStraightMeasure3"); Msr.bMeasureEffective = True; Msr.MeasureType = MEA_CoverOuterSlopeWithFoil; Measures[0] = Msr; } defaultproperties { FailureSize = TS_32M; }