nn::nex::DataSet::IndicateContinuityBreak Member Function

Syntax

void IndicateContinuityBreak(
     qByte byBreak,
     qBool bReliable = true
);

Parameters

Name Description
in byBreak Specifies the manner in which continuity has been lost.
CONTINUITY_BREAK_TELEPORT notifies the system that the object has instantaneously moved.
CONTINUITY_BREAK_STOP notifies the system that the object has suddenly stopped.
CONTINUITY_BREAK_SUDDEN_CHANGE notifies the system that the object's motion has suddenly changed.
in bReliable Specifies whether to send changes in datasets by using reliable communication.
If true, send via reliable communication. If false,send via unreliable communication.

Return Values

None.

Description

Notifies that dataset values have changed in a non-continuous manner.

Note: The data definition language (DDL) compiler generates this function only when the extrapolation_filter property is attached to this dataset in the DDL declaration.

The system can carry out dead reckoning more smoothly when notified that values of a dataset have changed in a non-continuous manner. This type of non-continuous change in values occurs at times, such as, when a player enters a warpzone in a game and instantaneously jumps to another location, or when a ball appearing in a game strikes a wall and bounces off it.

When the values of the dataset keep on changing in a continuous manner, an update message is only sent when the estimation error goes above a set value. (For details, see the section on dead reckoning in the NEX Programmer's Manual.) When notified of a non-continuous change in values, the next several calls to the DuplicatedObject::Update function will always send update-related information related to the duplica without considering estimation error. This update information is always sent on a reliable channel, regardless of whether the method for sending dataset updates set in the DDL property specifies the use of a unreliable channel (arrival of the network packet is not guaranteed) or a reliable channel (arrival of the network packet is guaranteed).

Once the IndicateContinuityBreak function is called, the next several calls to the DuplicatedObject::Update function are affected. For this reason, the IndicateContinuityBreak function only makes sense if called on a dataset belonging to a duplication master (DuplicatedObject::IsADuplicationMaster()). Only a duplication master can call the DuplicatedObject::Update function.

SYSTEMERROR_GEN_INVALID_OPERATION is signaled if extrapolation_filter is not defined in DDL properties.SYSTEMERROR_GEN_OUT_OF_RANGE is signaled if an invalid value is specified for byBreak. SYSTEMERROR_OBJDUP_INVALID_ON_DUPLICA is signaled if this function is called on a dataset belonging to a duplica (DuplicatedObject::IsADuplica).

See Also

SetModel

Revision History

2011/01/28
Initial version.

CONFIDENTIAL