Click or drag to resize

MarkerBatchPrimitive Class

Renders one or more markers in the 3D scene. Markers are 2D images that always face the viewer which can be sized in pixels or meters. Markers are also referred to as sprites or billboards.

For best performance, avoid creating lots of batches with only a few markers each. See the Batching Performance topic.

Inheritance Hierarchy
SystemObject
  AGI.Foundation.GraphicsPrimitive
    AGI.Foundation.GraphicsMarkerBatchPrimitive

Namespace:  AGI.Foundation.Graphics
Assembly:  AGI.Foundation.Graphics (in AGI.Foundation.Graphics.dll) Version: 24.3.420.0 (24.3.420.0)
Syntax
public sealed class MarkerBatchPrimitive : Primitive

The MarkerBatchPrimitive type exposes the following members.

Constructors
  NameDescription
Public methodMarkerBatchPrimitive
Initializes a default marker batch primitive. This is equivalent to constructing a marker batch with a MarkerBatchSizeSource of FromTexture, a MarkerBatchSortOrder of ByTexture, a SetHint of Frequent, and a MarkerBatchRenderingMethod of Automatic.
Public methodMarkerBatchPrimitive(MarkerBatchSizeSource)
Initializes a marker batch primitive with the specified sizeSource. This is equivalent to constructing a marker batch with the specified sizeSource, a MarkerBatchSortOrder of ByTexture, a SetHint of Frequent, and a MarkerBatchRenderingMethod of Automatic.
Public methodMarkerBatchPrimitive(SetHint)
Initializes a marker batch primitive with the specified setHint. This is equivalent to constructing a marker batch with a MarkerBatchSizeSource of FromTexture, a MarkerBatchSortOrder of ByTexture, the specified setHint, and a MarkerBatchRenderingMethod of Automatic.
Public methodMarkerBatchPrimitive(MarkerBatchSizeSource, MarkerBatchSortOrder)
Initializes a marker batch primitive with the specified sizeSource and sortOrder. This is equivalent to constructing a marker batch with the specified sizeSource, the specified sortOrder, a SetHint of Frequent, and a MarkerBatchRenderingMethod of Automatic.
Public methodMarkerBatchPrimitive(MarkerBatchSizeSource, MarkerBatchSortOrder, SetHint)
Initializes a marker batch primitive with the specified sizeSource, sortOrder, and setHint. This is equivalent to constructing a marker batch with the specified arguments and a MarkerBatchRenderingMethod of Automatic.
Public methodMarkerBatchPrimitive(MarkerBatchSizeSource, MarkerBatchSortOrder, SetHint, MarkerBatchRenderingMethod)
Initializes a marker batch primitive with the specified arguments.
Top
Properties
  NameDescription
Public propertyAutomaticallyComputeBoundingSphere
Gets or sets if the primitive's BoundingSphere is automatically computed.
(Inherited from Primitive.)
Public propertyBoundingSphere
Gets or sets the bounding sphere that encompasses the primitive. The center is defined in the primitive's ReferenceFrame.
(Inherited from Primitive.)
Public propertyBoundingSphereScale
Gets or sets the scale applied to the radius of this primitive's bounding sphere.
Public propertyCentralBodyClipped
Gets or sets whether the markers are clipped by the central body.
Public propertyClampToPixel
Gets or sets whether the screen space position of each marker is clamped to a pixel.
Public propertyColor
Gets or sets the colors that affects every marker in the batch.
(Overrides PrimitiveColor.)
Public propertyDisplay
Gets or sets if the primitive should be rendered. Both this and DisplayCondition must evaluate to true for the primitive to be rendered.
(Inherited from Primitive.)
Public propertyDisplayCondition
Gets or sets the display condition that determines if the primitive should be rendered. Both this and Display must evaluate to true for the primitive to be rendered.
(Inherited from Primitive.)
Public propertyDistanceDisplayConditionPerMarker
Gets or sets a DistanceDisplayCondition that is evaluated per marker in the marker batch during rendering. This is different than DisplayCondition, which is evaluated once for the entire marker batch. When DistanceDisplayConditionPerMarker is null, no per marker display condition is evaluated.
Public propertyEyeOffset
Gets or sets the per-batch eye offset, which is applied to each marker in the batch.
Public propertyOrigin
Gets or sets the per-batch origin, which is applied to each marker in the batch.
Public propertyPerItemPickingEnabled
Gets or sets whether individual marker indices will be included in the PickResults returned from the Scene's Pick method. Each marker index that is picked will be returned as a BatchPrimitiveIndex.
Public propertyPixelOffset
Gets or sets the per-batch pixel offset, which is applied to each marker in the batch.
Public propertyReferenceFrame
Gets or sets the reference frame this primitive is defined and rendered in.
(Inherited from Primitive.)
Public propertyRenderingMethod
Gets the rendering method used to render the marker batch.
Public propertyRenderPass
Gets or sets the pass during which the marker batch is rendered.
Public propertyRotation
Gets or sets the per-batch rotation angle, in radians, which is applied to each marker in the batch.
Public propertySetHint
Gets the primitive's SetHint. See the Set Hint topic for more information on selecting an appropriate value to construct the primitive with.
Public propertySize
Gets or sets the per-batch size, which is applied to each marker in the batch.
Public propertySizeSource
Gets the source used for the size of markers in the batch.
Public propertySizeUnit
Gets or sets the unit that each marker's size is defined in.
Public propertySortOrder
Gets the order in which markers in the marker batch are sorted before rendering.
Public propertyTag
Gets or sets custom data associated with this primitive.
(Inherited from Primitive.)
Public propertyTexture
Gets or sets the per-batch texture, which is applied to each marker in the batch.
Public propertyTextureCoordinate
Gets or sets the per-batch texture coordinate, which is applied to each marker in the batch.
Public propertyTextureFilter
Gets or sets the filter used for per-marker or per-batch textures.
Public propertyTranslucency
Gets or sets the translucency that affects every marker in the batch. Translucency is between 0 and 1, where 0 is opaque and 1 is transparent.
(Overrides PrimitiveTranslucency.)
Public propertyWireframe
Gets or sets whether the primitive is rendered in wireframe. This is useful for debugging.
Top
Methods
  NameDescription
Public methodAlignToAxis
Sets the up vector of the markers to point towards the axis of centralBody. It will be aligned with the tangent vector of the surface that points towards the axis. Setting axis to the north axis of the centralBody will have the same effect as calling MarkerBatchPrimitive.AlignToNorth.
Public methodAlignToNorth
Sets the up vector of the markers to point towards the north axis of centralBody. It will be aligned with the tangent vector of the surface that points north.
Public methodAlignToScreen
Sets the up vector of the markers to always be aligned to the up vector of the camera. This is the default alignment.
Public methodDispose (Inherited from Primitive.)
Public methodEquals
Determines whether the specified object is equal to the current object.
(Inherited from Object.)
Public methodGetHashCode
Serves as the default hash function.
(Inherited from Object.)
Public methodGetType
Gets the Type of the current instance.
(Inherited from Object.)
Public methodSet(IEnumerableCartesian)
Defines the positions of markers in a marker batch. The markers are rendered in the primitive's ReferenceFrame.
Public methodSet(IEnumerableCartesian, MarkerBatchPrimitiveOptionalParameters)
Defines the positions and optional per-marker parameters of markers in a marker batch. The markers are rendered in the primitive's ReferenceFrame.
Public methodSet(IEnumerableCartesian, MarkerBatchPrimitiveOptionalParameters, RenderPassHint)
Defines the positions and optional per-marker parameters of markers in a marker batch. The markers are rendered in the primitive's ReferenceFrame. renderPassHint is provided for efficiency.
Public methodSetCartographic(CentralBody, IEnumerableCartographic)
For convenience. Defines the positions of markers in a marker batch using Cartographic positions. Longitude and latitude are in radians, and altitude is in meters. This is equivalent to converting each position in positions to Cartesian and calling Set(IEnumerableCartesian).
Public methodSetCartographic(CentralBody, IEnumerableCartographic, MarkerBatchPrimitiveOptionalParameters)
For convenience. Defines the positions and optional per-marker parameters of markers in a marker batch using Cartographic positions. Longitude and latitude are in radians, and altitude is in meters. This is equivalent to converting each position in positions to Cartesian and calling Set(IEnumerableCartesian, MarkerBatchPrimitiveOptionalParameters).
Public methodSetCartographic(CentralBody, IEnumerableCartographic, MarkerBatchPrimitiveOptionalParameters, RenderPassHint)
For convenience. Defines the positions and optional per-marker parameters of markers in a marker batch using Cartographic positions. Longitude and latitude are in radians, and altitude is in meters. renderPassHint is provided for efficiency. This is equivalent to converting each position in positions to Cartesian and calling Set(IEnumerableCartesian, MarkerBatchPrimitiveOptionalParameters, RenderPassHint).
Public methodSetPartial(IEnumerableCartesian, IEnumerableInt32)
Updates a subset of marker positions in a marker batch.
Public methodSetPartial(IEnumerableCartesian, MarkerBatchPrimitiveOptionalParameters, IEnumerableInt32)
Updates a subset of marker positions and/or per-marker parameters in a marker batch.
Public methodSetPartial(IEnumerableCartesian, IEnumerableInt32, IndicesOrderHint)
Updates a subset of marker positions in a marker batch.
Public methodSetPartial(IEnumerableCartesian, MarkerBatchPrimitiveOptionalParameters, IEnumerableInt32, IndicesOrderHint, RenderPassHint)
Updates a subset of marker positions and/or per-marker parameters in a marker batch.
Public methodSetPartialCartographic(CentralBody, IEnumerableCartographic, IEnumerableInt32)
Public methodSetPartialCartographic(CentralBody, IEnumerableCartographic, MarkerBatchPrimitiveOptionalParameters, IEnumerableInt32)
Public methodSetPartialCartographic(CentralBody, IEnumerableCartographic, IEnumerableInt32, IndicesOrderHint)
Public methodSetPartialCartographic(CentralBody, IEnumerableCartographic, MarkerBatchPrimitiveOptionalParameters, IEnumerableInt32, IndicesOrderHint, RenderPassHint)
For convenience. Updates a subset of positions and/or optional per-marker parameters of markers in a marker batch using Cartographic positions. Longitude and latitude are in radians, and altitude is in meters. renderPassHint is provided for efficiency. This is equivalent to converting each position in positions to Cartesian and calling SetPartial(IEnumerableCartesian, MarkerBatchPrimitiveOptionalParameters, IEnumerableInt32, IndicesOrderHint, RenderPassHint).
Public methodStatic memberSupported
Determines whether or not the video card supports the marker batch primitive with the given renderingMethod.
Public methodToString
Returns a string that represents the current object.
(Inherited from Object.)
Top
See Also