public interface IPillarTimeWindowGeoNode extends IPillarNode
IPillarNode
in order to allow setting
the Pillar
to a forcedStayNode
or an anchorNode
.IOptimizationElement.OptimizationElementFlavour
Modifier and Type | Method and Description |
---|---|
Optional<Long> |
getConnectionRelatedLateMargin(long connectionMillis)
Gets the connection related late margin.
|
double |
getConnectionRelatedMarginFactor()
Gets the connection related margin factor.
|
Duration |
getConnectionRelatedMaxLateMargin()
Gets the connection related max late margin.
|
boolean |
getLastKnownAsRouteStart()
Gets the last known as route start.
|
boolean |
isApplyPartialConnectionRelatedLateMargin()
Checks if is apply partial connection related late margin.
|
boolean |
isAutoTransformable2StartAnchor()
Checks if this
Pillar will automatically transform into an anchorNode if it is the first Pillar and
cannot be reached in time.. |
boolean |
isDoElementShiftConnectionRelatedLateMargin()
Checks if is do element shift connection related late margin.
|
boolean |
isForcedStayNode()
|
boolean |
isOverwritingRouteStart()
|
boolean |
isOverwritingRouteTermination()
Checks if the
ILogicEntityRoute has
to end at this AnchorNode . |
void |
resetConnectionRelatedMargin() |
void |
setAutoTransformable2StartAnchor(boolean isAutoTransformable2StartAnchor)
When this
Pillar is the first pillar and cannot be reached in time, it will
automatically transform into an anchorNode if set to true . |
boolean |
setConnectionRelatedLateMargin(double connectionFactor,
Duration maxMargin,
boolean shiftElement,
boolean applyPartial)
Sets the connection related late margin.
|
void |
setIsForcedStayNode(boolean isForcedStayNode)
Sets
PillarTimeWindowGeoNode.isForcedStayNode and AbstractNode.isStayNode to the input value. |
void |
setIsOverwritingRouteStart(boolean isOverwritingRouteStart,
boolean isAdjustable)
|
attachResource, getAttachedResourceId, getLastKnownAsRouteTermination, isOnlyScheduledInCompany, isOverwritingRouteStartOrTermination, isResourceAttached, isSchedulableAfterWorkingHours, isSchedulableBeforeWorkingHours, isTimeAdjustableAnchor, setIsOnlyScheduledInCompany, setIsOverwritingRouteTermination, setIsSchedulableOutsideWorkingHours
addConstraint, addNode2NodeRelation, addQualification, addSubsequentSlaveNode, addSubsequentSlaveNodes, addViolation, decrementCurrentAutoFilterProtectedExecutions, detachNodeRelations, detachResourceConstraints, detachResourceConstraints, getAutoFilterViolationCollector, getBaseJointVisitDuration, getBaseJointVisitDurationMillis, getBaseVisitDuration, getBaseVisitDurationMillis, getConstraints, getCurrentLeftAutoFilterProtectedExecutions, getFirstNodeInRouteImportance, getFixCost, getImportance, getIndividualOfferedNodeMultiplier, getJointVisitDuration, getJointVisitDurationMillis, getLastKnownAttachedAndRemovedResIds, getLastNodeInRouteImportance, getLoad, getLockdownTime, getMinVisitDurationMillis, getNode2NodeRelations, getNodeColor, getNodeDepot, getOriginalDutyHours, getQualifications, getStayAtStartDuration, getSubsequentSlaveNodes, getTempImplausibleScore, getTotalLoadDimension, getUnloadAllDimension, getViolations, getVisitDurationMillis, hasFullJobLevelRelations, hasRelations, hasRouteDependentVisitDuration, isAllowMoveToReduceFlexTime, isAutoFilterProtected, isCausingIdleTimeCost, isDutyHoursIncludesVisitDuration, isOfferedNode, isOptimizable, isOptional, isPillarNode, isReturnStart, isStayNode, isUnassigned, isUnloadAll, isUseJointVisitDuration, isWaitOnEarlyArrival, isWaitOnEarlyArrivalFirstNode, isWorkNode, removeConstraint, removeNode2NodeRelations, resetDutyHoursTempActivation, resetLockdownTime, resetSubsequentSlaveNodes, setAllowMoveToReduceFlexTime, setAutoFilterConstraints, setConstraints, setFirstNodeInRouteImportance, setFixCost, setHasRouteDependentVisitDuration, setImportance, setIndividualOfferedNodeMultiplier, setIsCausingIdleTimeCost, setIsDutyHoursIncludesVisitDuration, setIsOfferedNode, setIsOptional, setIsReturnStart, setIsStayNode, setIsWorkNode, setJointVisitDuration, setLastNodeInRouteImportance, setLoad, setLockdownTime, setMinAutoFilterProtectedExecutions, setMinimalVisitDuration, setNodeColor, setNodeDepot, setOptimizable, setOptimizable, setUnassigned, setUnloadAll, setUnloadAllDimension, setVisitDuration, setVisitDurationMillis, setWaitOnEarlyArrival, setWaitOnEarlyArrivalFirstNode, tempIncreaseImplausibleScore, tempSetActiveDutyHours
forceSetId, getConstraintAliasId, getDistMatrixId, getDutyHours, getExtraInfo, getFlavour, getId, getLatitude, getLocationId, getLongitude, getNodeConnection, getNodeConnectionKeySet, getNodeConnections, getPosition, getPreferredHoursInteractionController, hasRealGeoLocation, putNodeConnection, putNodeConnectionFromElement, removeNodeConnection, setConstraintAliasId, setDistMatrixId, setDutyHours, setExtraInfo, setId, setLatitude, setLocationId, setLongitude, setPosition
void setIsForcedStayNode(boolean isForcedStayNode)
PillarTimeWindowGeoNode.isForcedStayNode
and AbstractNode.isStayNode
to the input value.isForcedStayNode
- the boolean to be setboolean isForcedStayNode()
boolean isOverwritingRouteStart()
boolean isOverwritingRouteTermination()
ILogicEntityRoute
has
to end at this AnchorNode
.
If a job has to be done at this AnchorPillar
, then another Pillar
has to be
added again.
isOverwritingRouteTermination
in interface IPillarNode
void setIsOverwritingRouteStart(boolean isOverwritingRouteStart, boolean isAdjustable)
Route start
, forcing the IResource
to visit this AnchorNode
first.
An AnchorNode
essentially is an IPillarNode
that is specifically set to start
or end
an ILogicEntityRoute
. Any driving time or distance for the Resource
between the AnchorNode
and its home is not counted. An example would be a truck driver who has to park his
truck in a specific truck deposit and travels on his own time to/from home.
The boolean isAdjustable
defines whether the Pillar
can still be moved a
bit, allowing the AnchorNode
to be shifted towards the INode
following it on the Route
.
isOverwritingRouteStart
- the boolean, if true
turning the Pillar
in an
AnchorNode
isAdjustable
- the boolean allowing the AnchorNode
to be shifted slightlyboolean isAutoTransformable2StartAnchor()
Pillar
will automatically transform into an anchorNode
if it is the first Pillar
and
cannot be reached in time..anchorNode
void setAutoTransformable2StartAnchor(boolean isAutoTransformable2StartAnchor)
Pillar
is the first pillar and cannot be reached in time, it will
automatically transform into an anchorNode
if set to true
.isAutoTransformable2StartAnchor
- the boolean, might transform into an anchorNode
if true
boolean getLastKnownAsRouteStart()
boolean setConnectionRelatedLateMargin(double connectionFactor, Duration maxMargin, boolean shiftElement, boolean applyPartial)
connectionFactor
- the connectionFactormaxMargin
- the max marginshiftElement
- the shift elementapplyPartial
- the apply partialOptional<Long> getConnectionRelatedLateMargin(long connectionMillis)
connectionMillis
- the connection millisboolean isDoElementShiftConnectionRelatedLateMargin()
boolean isApplyPartialConnectionRelatedLateMargin()
Duration getConnectionRelatedMaxLateMargin()
double getConnectionRelatedMarginFactor()
void resetConnectionRelatedMargin()
Copyright © 2017–2023 DNA Evolutions GmbH. All rights reserved.