Click or drag to resize

PointBatchPrimitiveSetPartial Method (IEnumerableCartesian, IEnumerableColor, IEnumerableInt32)

Updates a subset of positions and/or colors in a point batch.

Namespace:  AGI.Foundation.Graphics
Assembly:  AGI.Foundation.Graphics (in AGI.Foundation.Graphics.dll) Version: 24.1.418.0 (24.1.418.0)
public void SetPartial(
	IEnumerable<Cartesian> positions,
	IEnumerable<Color> colors,
	IEnumerable<int> indices


Type: System.Collections.GenericIEnumerableCartesian
A collection of new positions used to update a subset of positions in the point batch.
Type: System.Collections.GenericIEnumerableColor
A collection of new colors used to update a subset of colors in the point batch. There must be one color for each position in positions.
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.
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 and colors are null. Or indices is null.
ArgumentExceptionpositions, colors, and indices must have the same number of elements.
ArgumentException A collection of colors was provided, but the primitive didn't have per-position colors defined with Set.

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