Click or drag to resize

MarkerBatchPrimitiveSetPartial Method (IEnumerableCartesian, IEnumerableInt32, IndicesOrderHint)

Updates a subset of marker positions in a marker batch.

Namespace:  AGI.Foundation.Graphics
Assembly:  AGI.Foundation.Graphics (in AGI.Foundation.Graphics.dll) Version: 24.3.420.0 (24.3.420.0)
Syntax
public void SetPartial(
	IEnumerable<Cartesian> positions,
	IEnumerable<int> indices,
	IndicesOrderHint indicesOrderHint
)

Parameters

positions
Type: System.Collections.GenericIEnumerableCartesian
A collection of new positions used to update a subset of positions in the marker batch.
indices
Type: System.Collections.GenericIEnumerableInt32
A collection of zero-based indices that map a corresponding position in positions to a position already in the primitive. For example, if a primitive is first given 5 positions with a call to Set, positions 1 and 3 can be modified with SetPartial by passing in positions containing two new positions and an indices collection with two elements, e.g. [1, 3]. The first position in positions will modify the position at index 1 in the primitive and the second will modify the position at index 3.
indicesOrderHint
Type: AGI.Foundation.Graphics.AdvancedIndicesOrderHint
An optimization hint indicating how indices are sorted.
Exceptions
ExceptionCondition
InvalidOperationException The primitive's SetHint property is not Partial. Construct the primitive using Partial to order to call this method.
InvalidOperationException Cannot call this method until the primitive is first defined with Set. It is not possible to partially update an empty primitive.
ArgumentNullExceptionpositions or indices is null.
ArgumentExceptionpositions must contain at least one element.
Remarks

To call SetPartial, the primitive must be constructed with Partial so the primitive builds the data structures necessary for partial updates. See the Set Hint topic for more information on selecting an appropriate value.

If the primitive's AutomaticallyComputeBoundingSphere property is , the primitive's BoundingSphere is computed based the primitive's unmodified positions and the updated positions from the positions collection. Otherwise, it is the caller's responsibility to update the primitive's BoundingSphere to a sphere that encompasses all the positions in the primitive.

See Also