Click or drag to resize

MarkerBatchPrimitiveSetPartial Method (IEnumerableCartesian, MarkerBatchPrimitiveOptionalParameters, IEnumerableInt32)

Updates a subset of marker positions and/or per-marker parameters 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,
	MarkerBatchPrimitiveOptionalParameters optionalParameters,
	IEnumerable<int> indices
)

Parameters

positions
Type: System.Collections.GenericIEnumerableCartesian
A collection of new positions used to update a subset of positions in the marker batch.
optionalParameters
Type: AGI.Foundation.GraphicsMarkerBatchPrimitiveOptionalParameters
Optional per-marker parameters corresponding to positions. Each per-marker parameter must have the same number of elements as positions.
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.
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.
ArgumentNullExceptionindices is null.
ArgumentException Every specified collection from positions and optionalParameters must have the same number of elements and at least one element each.
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