VO Primitive
Defines and modifies programmable graphics primitives.
Syntax
VO <ScenarioPath> Primitive {Add | Modify | Delete | Import | Export} {PrimitiveID} [Type {PrimitiveType}] ({PrimitiveOption} <Value>)...
Related commands
Description
You must define each primitive by a unique ID number. This number can be negative, 0, or positive. No two primitives can share the same ID. Specify the {PrimitiveID} by one of the following methods:
{PrimitiveID} | Description |
---|---|
ID <UniqueID> | Specify a single primitive by its unique ID number.
When ADDing a primitive, you must specify a single UniqueID. |
ID All | Apply options to all primitives. |
StartID <StartID> EndID <EndID> | Specify all primitives within a range. The <EndID> must be greater or equal to the <StartID>. |
IDList <NumIDs> <ID1> <ID2>... | Define a list of primitives to be modified or deleted. |
When adding a primitive, use the VO_R Primitive command to request that STK generate, and return, a unique ID.
Valid values for {PrimitiveType} are as follows:
{PrimitiveType} | Value |
---|---|
Line | Defined using points |
Arc | Defined using points; follows the arc of the central body |
RhumbLine | Defined using points, with a line of constant bearing |
Polygon | Defined using points |
ArcPolygon | Defined using points; follows the arc of the central body |
SurfacePolygon | Defined using points; conforms to terrain |
Model | Defined by a single position |
Ellipse | Defined by a center point, major and minor axes, and bearing |
SurfaceEllipse | Defined by a center point, major and minor axes, and bearing; conforms to terrain |
Circle | Defined by a center point and radius |
SurfaceCircle | Defined by a center point and radius; conforms to terrain |
Rectangle | Defined by a center point, length, width, and bearing |
SurfaceRectangle | Defined by a center point, length, width, and bearing; conforms to terrain |
Sector | Defined by a center point, start and end bearings, and inner and outer radii |
SurfaceSector | Defined using points; conforms to terrain |
Corridor | Defined using points and a width |
Wall | Defined using an existing primitive (any type except Model and Wall) |
The Type {PrimitiveType} is required if the action is Add.
Options that define a primitive are required if the action is Add.
The following tables describe the {PrimitiveOption} <Value> pairs used to define or modify any type of primitive.
Import and Export
You can use these options to create a file containing the Primitives defined in the current scenario and then load those primitives into another scenario.
The format for these options is: VO <ScenarioPath> Primitive {Import | Export} "<FilePath>"
When Exporting, the specified directory must already exist. If the file exists, it will be overwritten; otherwise it will be created.
When importing, please be aware of the following issues:
- STK will not import primitives with duplicate IDs.
- If an imported primitive is attached to a BodyFrame and the body frame object does not exist in the scenario, then STK will not display the primitive.
- If an imported primitive includes time intervals and the time intervals are outside the scenario's analysis period, then STK will not display the primitive.
The following are examples using the Import and Export options.
VO * Primitive Export "C:\Users\Documents\STK 9\Prims6509.txt"
VO * Primitive Import "C:\Users\Documents\STK 9\Prims6509.txt"
Common Primitive Options
The following options are valid for all primitive types (except as noted).
{PrimitiveOption} | <Value> | Description |
---|---|---|
Show | {On | Off} | Show or Hide this primitive. |
CentralBody | <CBName> | Associate a primitive with a central body.
This option is not valid if you attach a primitive to an object, see BodyFrame option. |
BodyFrame | <TruncObjectPath> | Attach a primitive to a specific object. The primitive will move along with the object in its body frame. Once attached to an object, you can move a primitive to other objects using the command: VO * Primitive Modify ... BodyFrame <NewObjectPath>
When you attach a primitive to an object, it takes on the central body of that object, so the CentralBody <CBName> command option is invalid for these primitives. If an object has primitives attached to it, the primitives are deleted when the object is deleted. This option is not valid for Wall type primitives nor for SurfacePolygon, SurfaceCircle, SurfaceEllipse, SurfaceRectangle, and SurfaceSector type primitives. |
Color | {Color} | Indicates the color of the primitive. For valid {Color} options, see Common Color Options. |
WindowState Show {On | Off} WindowID {<WindowNum> | All} | Turn on or off the display of the selected primitives on the selected 3D windows. | |
IntervalType | {AlwaysOn | UseIntervals} | Indicate whether or not to use a list of intervals for displaying the primitive. |
AddIntervals | <NumberOfIntervals> ("<StartTime>" "<StopTime>")... | Define a list of intervals to be used to display primitives. |
ModifyInterval | "<StartTime>" "<StopTime>" ({Option} <Value>)... | Modify the properties of a primitive for the specified interval. The following {Option} <Value> pairs are valid for all primitive types:
The following options are valid for Line or PreCBLine primitives:
For valid {LineStyle} and {Color} options, see Common Options. For <Width>, enter a pixel width value between 1.0 and 10.0. This option is valid for Modify only. |
LoadIntervals | "<IntervalFile>" | Load intervals from an STK interval file. For help on creating the STK interval file, see Create & Import External Files - Interval List in STK Help.
"<IntervalFile>" can be the path to a file on your local drive or the path to a file on an SDF server. See Specifying Paths for "<SDFFilePath>" syntax information. |
DeleteIntervals | <NumberOfIntervals> ("<StartTime>" "<StopTime>")... | Delete the specified intervals from the list.
This option is valid for Modify only. |
DeleteAllIntervals | N/A | Delete all intervals for the primitive.
This option is valid for Modify only. |
Line Primitive Options
The Line primitive is defined using Points. Options available for Line {PrimitiveType} are described in the following table.
See also Common Primitive options above.
{PrimitiveOption} | <Value> | Description |
---|---|---|
Points | <NumPoints> {PointType} <Point1> [<Point2>...] | Define the points for a Line primitive. See Point Type Options below for {PointType} formats. |
ExtendPoints | <NumPoints> {PointType} <Point1> [<Point2>...] | Add points to a Line primitive. You must add points to a primitive using the same format in which they were defined. See Point Type Options below for {PointType} formats. |
ShowPoints | {On | Off} | Show or Hide the vertices for this primitive. The default value is Off. |
LineWidth | <Width> | Indicates the width of the primitive line. <Width> is a value between 1.0 and 10.0. |
LineStyle | {LineStyle} | Indicates the style of the primitive line. {LineStyle} can be a name such as Solid, Dashed, Dotted, etc., or a number (0, 1, 2, etc.). For all valid {LineStyle} options, see Common Line Options. |
ShowLine | {On | Off} | Show or Hide the lines for this primitive. The default value is On. |
DrawType | {Surface | OnTerrain | Space} |
|
Examples
Draw a green arrow at the surface for Aircraft airArrow:
Arc Primitive Options
The Arc primitive is defined using Points. Options available for Arc {PrimitiveType} are described in the following table.
See also Common Primitive options above.
{PrimitiveOption} | <Value> | Description |
---|---|---|
Points | <NumPoints> {PointType} <Point1> [<Point2>...] | Define the points for an Arc primitive. See Point Type Options below for {PointType} formats. |
ExtendPoints | <NumPoints> {PointType} <Point1> [<Point2>...] | Add points to an Arc primitive. You must add points to a primitive using the same format in which they were defined. See Point Type Options below for {PointType} formats. |
ShowPoints | {On | Off} | Show or Hide the vertices for this primitive. The default value is Off. |
LineWidth | <Width> | Indicates the width of the primitive line. <Width> is a value between 1.0 and 10.0. |
LineStyle | {LineStyle} | Indicates the style of the primitive line. {LineStyle} can be a name such as Solid, Dashed, Dotted, etc., or a number (0, 1, 2, etc.). For all valid {LineStyle} options, see Common Line Options. |
ShowLine | {On | Off} | Show or Hide the lines for this primitive. The default value is On. |
Granularity | <Angle> | Define the arc granularity, which is the frequency of interpolated points. A low number for this value will look nicer, but draw slower. For Arc, a valid value is between 0.001 and 90.0. The default value is 1.0 degree. |
DrawType | {Surface | OnTerrain | Space} |
|
RhumbLine Primitive Options
The RhumbLine primitive is defined using Points. Options available for RhumbLine {PrimitiveType} are described in the following table.
See also Common Primitive options above.
{PrimitiveOption} | <Value> | Description |
---|---|---|
Points | <NumPoints> {PointType} <Point1> [<Point2>...] | Define the points for a RhumbLine primitive. See Point Type Options below for {PointType} formats. |
ExtendPoints | <NumPoints> {PointType} <Point1> [<Point2>...] | Add points to a RhumbLine primitive. You must add points to a primitive using the same format in which they were defined. See Point Type Options below for {PointType} formats. |
ShowPoints | {On | Off} | Show or Hide the vertices for this primitive. The default value is Off. |
LineWidth | <Width> | Indicates the width of the primitive line. <Width> is a value between 1.0 and 10.0. |
LineStyle | {LineStyle} | Indicates the style of the primitive line. {LineStyle} can be a name such as Solid, Dashed, Dotted, etc., or a number (0, 1, 2, etc.). For all valid {LineStyle} options see Common Line Options. |
ShowLine | {On | Off} | Show or Hide the lines for this primitive. The default value is On. |
Granularity | <Angle> | Define the arc granularity, which is the frequency of interpolated points. A low number for this value will look nicer, but draw slower. A valid value is between 0.001 and 90.0. The default value is 1.0 degree. |
DrawType | {Surface | OnTerrain | Space} |
|
Polygon Primitive Options
The Polygon primitive is defined using Points. Options available for Polygon {PrimitiveType} are described in the following table.
See also Common Primitive options above.
The Polygon primitive must have at least three points defined.
{PrimitiveOption} | <Value> | Description |
---|---|---|
Points | <NumPoints> {PointType} <Point1> [<Point2>...] | Define the points for a Polygon primitive. See Point Type Options below for {PointType} formats. |
ExtendPoints | <NumPoints> {PointType} <Point1> [<Point2>...] | Add points to a Polygon primitive. You must add points to a primitive using the same format in which they were defined. See Point Type Options below for {PointType} formats. |
ShowPoints | {On | Off} | Show or Hide the vertices for this primitive. The default value is Off. |
LineWidth | <Width> | Indicates the width of the primitive line. <Width> is a value between 1.0 and 10.0. |
LineStyle | {LineStyle} | Indicates the style of the primitive line. {LineStyle} can be a name such as Solid, Dashed, Dotted, etc., or a number (0, 1, 2, etc.). For all valid {LineStyle} options see Common Line Options. |
ShowLine | {On | Off} | Show or Hide the lines for this primitive. The default value is On. |
Translucency | <Value> | Translucency sets the amount of light to pass through an object but diffusing it so that objects aren't clearly visible. <Value> ranges from 0 (opaque) to 100 (completely transparent). The default value is 70. |
ArcPolygon Primitive Options
The ArcPolygon primitive is defined using Points. Options available for ArcPolygon {PrimitiveType} are described in the following table.
See also Common Primitive options above.
The ArcPolygon primitive must have at least three points defined.
{PrimitiveOption} | <Value> | Description |
---|---|---|
Points | <NumPoints> {PointType} <Point1> [<Point2>...] | Define the points for an ArcPolygon primitive. See Point Type Options below for {PointType} formats. |
ExtendPoints | <NumPoints> {PointType} <Point1> [<Point2>...] | Add points to an ArcPolygon primitive. You must add points to a primitive using the same format in which they were defined. See Point Type Options below for {PointType} formats. |
ShowPoints | {On | Off} | Show or Hide the vertices for this primitive. The default value is Off. |
LineWidth | <Width> | Indicates the width of the primitive line. <Width> is a value between 1.0 and 10.0. |
LineStyle | {LineStyle} | Indicates the style of the primitive line. {LineStyle} can be a name such as Solid, Dashed, Dotted, etc., or a number (0, 1, 2, etc.). For all valid {LineStyle} options, see Common Line Options. |
ShowLine | {On | Off} | Show or Hide the lines for this primitive. Default value is On. |
Translucency | <Value> | Translucency sets the amount of light to pass through an object but diffusing it so that objects aren't clearly visible. <Value> ranges from 0 (opaque) to 100 (completely transparent). The default value is 70. |
BoundaryType | {GreatArc | RhumbLine} | This options enables you to choose between Great Arcs and Rhumb Lines for connecting the end points. The default value is GreatArc. |
Granularity | <Angle> | Define the arc granularity, which is the frequency of interpolated points. A low number for this value will look nicer, but draw slower. A valid value is between 0.001 and 90.0. The default value is 1.0 degree. |
Examples
Add an ArcPolygon primitive:
SurfacePolygon Primitive Options
The SurfacePolygon primitive is defined using Points, and conforms to terrain. Options available for SurfacePolygon {PrimitiveType} are described in the following table.
See also Common Primitive options above.
The BodyFrame option is not valid for the SurfacePolygon primitive type.
The SurfacePolygon primitive must have at least three points defined.
{PrimitiveOption} | <Value> | Description |
---|---|---|
Points | <NumPoints> {PointType} <Point1> [<Point2>...] | Define the points for an SurfacePolygon primitive. See Point Type Options below for {PointType} formats.
The only valid {PointType} for SurfacePolygon is LL. |
ExtendPoints | <NumPoints> {PointType} <Point1> [<Point2>...] | Add points to an SurfacePolygon primitive. You must add points to a primitive using the same format in which they were defined. See Point Type Options below for {PointType} formats.
The only valid {PointType} for SurfacePolygon is LL. |
LineWidth | <Width> | Indicates the width of the primitive line. <Width> is a value between 1.0 and 10.0. |
ShowLine | {On | Off} | Show or Hide the lines for this primitive. The default value is On. |
Translucency | <Value> | Translucency sets the amount of light to pass through an object but diffusing it so that objects aren't clearly visible. <Value> ranges from 0 (opaque) to 100 (completely transparent). The default value is 70. |
Examples
Add a SurfacePolygon primitive:
Model Primitive Options
The Model primitive is defined by a single Position and model Filename. Options available for Model {PrimitiveType} are described in the following table.
See also Common Primitive options above.
{PrimitiveOption} | <Value> | Description |
---|---|---|
FileName | "<FilePath>" | Specify the model file. |
Position | {PointType} <Point> | Define the position of the model primitive. See Point Type Options below for {PointType} formats. |
ScaleLog | <ScaleLog> | Define the model scale exponentially. <ScaleLog> must be greater than 0.0. |
Scale | <Scale> | Define the model scale absolutely. <Scale> must be greater than 0.0. |
OnDist | <Value> | This is the distance from the camera when the model display will be turned on. Enter it in Connect distance units, greater than 0.0. The default value is 0.0. |
OffDist | <Value> | This is the distance from the camera when the model display will be turned off. Entere it in Connect distance units, greater than 0.0. The default value is 2,000,000.0.
You can use the OnDist and OffDist options to prevent models that are far away from the viewer from being drawn. |
YPR | <Yaw> <Pitch> <Roll> | STK applies the YPR angles in the sequence PRY (i.e., 213). Enter the angles in degrees. The default values are 0, 0, 0.
Similarly to Euler angles, YPR angles specify attitude using three rotations in a chosen sequence: the rotation about the reference X axis is called roll (R), the rotation about the reference Y axis is called pitch (P), and the rotation about the reference Z axis is called yaw (Y). Sequences are identified using either numbers (1 is the X axis, 2 is the Y axis, 3 is the Z axis) or letters (R is the X axis, P is the Y axis, Y is the Z axis). Unlike Euler angles, the rotations are not made about axes defined by an earlier rotation. Instead, each rotation is made about the reference system's axes. In YPR angles, the names yaw, pitch, and roll do NOT refer to the angles normally used in aviation; the terms yaw, pitch, and roll in aviation refer to 321 Euler angles. |
Examples
Show a 747 airplane model under Satellite1:
Ellipse Primitive Options
The Ellipse primitive is defined by a Center point, MajorAxis, MinorAxis, and Bearing. Options available for Ellipse {PrimitiveType} are described in the following table.
See also Common Primitive options above.
{PrimitiveOption} | <Value> | Description |
---|---|---|
Center | {PointType} <CenterPoint> | Define the center of the ellipse. See Point Type Options below for {PointType} formats. |
MajorAxis | <Value> | Enter this value in Connect distance units; it must be greater than 0.0. The default is 60 meters. |
MinorAxis | <Value> | Enter this value in Connect distance units; it must be greater than 0.0. The default is 50 meters. |
Bearing | <Value> | Enter this value in degrees; it must be between -360.0 and 360.0. The default is 0.0. |
LineWidth | <Width> | Indicates the width of the primitive line. <Width> is a value between 1.0 and 10.0. |
LineStyle | {LineStyle} | Indicates the style of the primitive line. {LineStyle} can be a name such as Solid, Dashed, Dotted, etc., or a number (0, 1, 2, etc.). For all valid {LineStyle} options, see Common Line Options. |
ShowPoints | {On | Off} | Show or Hide the vertices for this primitive. The default value is Off. |
Translucency | <Value> | Translucency sets the amount of light to pass through an object but diffusing it so that objects aren't clearly visible. <Value> ranges from 0 (opaque) to 100 (completely transparent). The default value is 70. |
Granularity | <Angle> | Define the arc granularity, which is the frequency of interpolated points. A low number for this value will look nicer, but draw slower. A valid value is between 0.1 and 6.0. The default value is 1.0 degree. |
Examples
Define an Ellipse primitive:
SurfaceEllipse Primitive Options
The SurfaceEllipse primitive is defined by a Center point, MajorAxis, MinorAxis, and Bearing, and conforms to terrain. Options available for SurfaceEllipse {PrimitiveType} are described in the following table.
See also Common Primitive options above.
The BodyFrame option is not valid for the SurfaceEllipse primitive type.
{PrimitiveOption} | <Value> | Description |
---|---|---|
Center | {PointType} <CenterPoint> | Define the Center of the SurfaceEllipse. See Point Type Options below for {PointType} formats.
The only valid {PointType} for SurfaceEllipse is LL. |
MajorAxis | <Value> | Enter this value in Connect distance units; it must be greater than 0.0. The default is 60 meters. |
MinorAxis | <Value> | Enter this value in Connect distance units; it must be greater than 0.0. The default is 50 meters. |
Bearing | <Value> | Enter this value in degrees; it must be between -360.0 and 360.0. The default is 0.0. |
LineWidth | <Width> | Indicates the width of the primitive line. <Width> is a value between 1.0 and 10.0. |
ShowLine | {On | Off} | Show or Hide the lines for this primitive. The default value is On. |
ShowPoints | {On | Off} | Show or Hide the vertices for this primitive. The default value is Off. |
Translucency | <Value> | Translucency sets the amount of light to pass through an object but diffusing it so that objects aren't clearly visible. <Value> ranges from 0 (opaque) to 100 (completely transparent). The default value is 70. |
Examples
Define a SurfaceEllipse primitive:
Circle Primitive Options
The Circle primitive is defined by a Center point and Radius. Options available for Circle {PrimitiveType} are described in the following table.
See also Common Primitive options above.
{PrimitiveOption} | <Value> | Description |
---|---|---|
Center | {PointType} <CenterPoint> | Define the center of the circle. See Point Type Options below for {PointType} formats. |
Radius | <Value> | Enter this value in Connect distance units; it must be greater than 0.0. The default is 60 meters. |
LineWidth | <Width> | Indicates the width of the primitive line. <Width> is a value between 1.0 and 10.0. |
LineStyle | {LineStyle} | Indicates the style of the primitive line. {LineStyle} can be a name such as Solid, Dashed, Dotted, etc., or a number (0, 1, 2, etc.). For all valid {LineStyle} options, see Common Line Options. |
ShowLine | {On | Off} | Show or Hide the lines for this primitive. The default value is On. |
ShowPoints | {On | Off} | Show or Hide the vertices for this primitive. The default value is Off. |
Translucency | <Value> | Translucency sets the amount of light to pass through an object but diffusing it so that objects aren't clearly visible. <Value> ranges from 0 (opaque) to 100 (completely transparent). The default value is 70. |
Granularity | <Angle> | Define the arc granularity, which is the frequency of interpolated points. A low number for this value will look nicer, but draw slower. A valid value is between 0.1 and 6.0. The default value is 1.0 degree. |
Examples
Define a Circle primitive:
SurfaceCircle Primitive Options
The SurfaceCircle primitive is defined by a Center point and Radius and conforms to terrain. Options available for SurfaceCircle {PrimitiveType} are described in the following table.
See also Common Primitive options above.
The BodyFrame option is not valid for the SurfaceCircle primitive type.
{PrimitiveOption} | <Value> | Description |
---|---|---|
Center | {PointType} <CenterPoint> | Define the Center of the SurfaceCircle. See Point Type Options below for {PointType} formats.
The only valid {PointType} for SurfaceCircle is LL. |
Radius | <Value> | Enter this value in Connect distance units; it must be greater than 0.0. The default is 60 meters. |
LineWidth | <Width> | Indicates the width of the primitive line. <Width> is a value between 1.0 and 10.0. |
ShowLine | {On | Off} | Show or Hide the lines for this primitive. The default value is On. |
Translucency | <Value> | Translucency sets the amount of light to pass through an object but diffusing it so that objects aren't clearly visible. <Value> ranges from 0 (opaque) to 100 (completely transparent). The default value is 70. |
Examples
Define a SurfaceCircle primitive:
Rectangle Primitive Options
The Rectangle primitive is defined by a Center point, Length, Width, and Bearing. Options available for Rectangle {PrimitiveType} are described in the following table.
See also Common Primitive options above.
{PrimitiveOption} | <Value> | Description |
---|---|---|
Center | {PointType} <CenterPoint> | Define the center of the rectangle. See Point Type Options below for {PointType} formats. |
Length | <Value> | Enter this value in Connect distance units; it must be greater than 0.0. The default is 60 meters. |
Width | <Value> | Enter this value in Connect distance units; it must be greater than 0.0. The default is 50 meters. |
Bearing | <Value> | Enter this value in degrees; it must be between -360.0 and 360.0. The default is 0.0. |
LineWidth | <Width> | Indicates the width of the primitive line. <Width> is a value between 1.0 and 10.0. |
LineStyle | {LineStyle} | Indicates the style of the primitive line. {LineStyle} can be a name such as Solid, Dashed, Dotted, etc., or a number (0, 1, 2, etc.). For all valid {LineStyle} options, see Common Line Options. |
ShowLine | {On | Off} | Show or Hide the lines for this primitive. The default value is On. |
ShowPoints | {On | Off} | Show or Hide the vertices for this primitive. The default value is Off. |
Translucency | <Value> | Translucency sets the amount of light to pass through an object but diffusing it so that objects aren't clearly visible. <Value> ranges from 0 (opaque) to 100 (completely transparent). The default value is 70. |
BoundaryType | {GreatArc | RhumbLine} | This options enables you to choose between Great Arcs and Rhumb Lines for connecting the end points. The default value is GreatArc. |
Granularity | <Angle> | Define the arc granularity, which is the frequency of interpolated points. A low number for this value will look nicer, but draw slower. A valid value is between 0.1 and 6.0. The default value is 1.0 degree. |
Examples
Define a Rectangle primitive:
SurfaceRectangle Primitive Options
The SurfaceRectangle primitive is defined by a Center point, Length, Width, and Bearing, and conforms to terrain. Options available for SurfaceRectangle {PrimitiveType} are described in the following table.
See also Common Primitive options above.
The BodyFrame option is not valid for the SurfaceRectangle primitive type.
{PrimitiveOption} | <Value> | Description |
---|---|---|
Center | {PointType} <CenterPoint> | Define the Center of the SurfaceRectangle. See Point Type Options below for {PointType} formats.
The only valid {PointType} for SurfaceRectangle is LL. |
Length | <Value> | Enter this value in Connect distance units; it must be greater than 0.0. The default is 60 meters. |
Width | <Value> | Enter this value in Connect distance units; it must be greater than 0.0. The default is 50 meters. |
Bearing | <Value> | Enter this value in degrees; it must be between -360.0 and 360.0. The default is 0.0. |
LineWidth | <Width> | Indicates the width of the primitive line. <Width> is a value between 1.0 and 10.0. |
ShowLine | {On | Off} | Show or Hide the lines for this primitive. The default value is On. |
Translucency | <Value> | Translucency sets the amount of light to pass through an object but diffusing it so that objects aren't clearly visible. <Value> ranges from 0 (opaque) to 100 (completely transparent). The default value is 70. |
Examples
Define a SurfaceRectangle primitive:
Sector Primitive Options
The Sector primitive is defined by a Center point, InnerRadius, OuterRadius, Bearing, and EndBearing. Options available for Sector {PrimitiveType} are described in the following table.
See also Common Primitive options above.
{PrimitiveOption} | <Value> | Description |
---|---|---|
Center | {PointType} <CenterPoint> | Define the center for a Sector primitive. See Point Type Options below for {PointType} formats. |
InnerRadius | <Value> | Enter this value in Connect distance units; it must be between 0.0. and 15,000,000 meters. The default is 50 meters. InnerRadius can not equal OuterRadius. |
OuterRadius | <Value> | Enter this value in Connect distance units; it must be between 0.0 and 15,000,000 meters. The default is 60 meters. InnerRadius can not equal OuterRadius. |
Bearing | <Value> | Enter this value in degrees; it must be between -360.0 and 360.0. The default is 0.0. Bearing and EndBearing must be separated by fewer than 360 degrees. If Bearing equals EndBearing, a line (great arc) is drawn. |
EndBearing | <Value> | Enter this value in degrees; it must be between -360.0 and 360.0. The default is 45.0. Bearing and EndBearing must be separated by fewer than 360 degrees. If Bearing equals EndBearing, a line (great arc) is drawn. |
LineWidth | <Width> | Indicates the width of the primitive line. <Width> is a value between 1.0 and 10.0. |
LineStyle | {LineStyle} | Indicates the style of the primitive line. {LineStyle} can be a name such as Solid, Dashed, Dotted, etc., or a number (0, 1, 2, etc.). For all valid {LineStyle} options, see Common Line Options. |
ShowLine | {On | Off} | Show or Hide the lines for this primitive. The default value is On. |
ShowPoints | {On | Off} | Show or Hide the vertices for this primitive. The default value is Off. |
Translucency | <Value> | Translucency sets the amount of light to pass through an object but diffusing it so that objects aren't clearly visible. <Value> ranges from 0 (opaque) to 100 (completely transparent). The default value is 70. |
Granularity | <Angle> | Define the arc granularity, which is the frequency of interpolated points. A low number for this value will look nicer, but draw slower. For Arc and RhumbLine a valid value is between 0.001 and 90.0. For Ellipse, Circle, Rectangle, Sector, and Corridor, a valid value is between 0.1 and 6.0. The default value is 1.0 degree. |
Examples
Define a Sector primitive:
SurfaceSector Primitive Options
The SurfaceSector primitive is defined by a Center point, InnerRadius, OuterRadius, Bearing, and EndBearing, and conforms to terrain. Options available for SurfaceSector {PrimitiveType} are described in the following table.
See also Common Primitive options above.
The BodyFrame option is not valid for the SurfaceSector primitive type.
{PrimitiveOption} | <Value> | Description |
---|---|---|
Center | {PointType} <CenterPoint> | Define the center for a SurfaceSector primitive. See Point Type Options below for {PointType} formats.
The only valid {PointType} for SurfaceSector is LL. |
InnerRadius | <Value> | Enter this value in Connect distance units; it must be between 0.0 and 15,000,000 meters. The default is 50 meters. InnerRadius can not equal OuterRadius. |
OuterRadius | <Value> | Enter this value in Connect distance units; it must be between 0.0 and 15,000,000 meters. The default is 60 meters. InnerRadius can not equal OuterRadius. |
Bearing | <Value> | Enter this value in degrees; it must be between -360.0 and 360.0. The default is 0.0. Bearing and EndBearing must be separated by fewer than 360 degrees. If Bearing equals EndBearing, a line (great arc) is drawn. |
EndBearing | <Value> | Enter this value in degrees; it must be between -360.0 and 360.0. The default is 45.0. Bearing and EndBearing must be separated by fewer than 360 degrees. If Bearing equals EndBearing, a line (great arc) is drawn. |
LineWidth | <Width> | Indicates the width of the primitive line. <Width> is a value between 1.0 and 10.0. |
ShowLine | {On | Off} | Show or Hide the lines for this primitive. Default value is On. |
Translucency | <Value> | Translucency sets the amount of light to pass through an object but diffusing it so that objects aren't clearly visible. <Value> ranges from 0 (opaque) to 100 (completely transparent). The default value is 70. |
Examples
Define a SurfaceSector primitive:
Corridor Primitive Options
The Corridor primitive is defined using Points and a Width. Options available for Corridor {PrimitiveType} are described in the following table.
See also Common Primitive options above.
{PrimitiveOption} | <Value> | Description |
---|---|---|
Points | <NumPoints> {PointType} <Point1> [<Point2>...] | Define the points for a Corridor primitive. See Point Type Options below for {PointType} formats. |
ExtendPoints | <NumPoints> {PointType} <Point1> [<Point2>...] | Add points to a Corridor primitive. You must add points to a primitive using the same format in which they were defined. See Point Type Options below for {PointType} formats. |
ShowPoints | {On | Off} | Show or Hide the vertices for this primitive. The default value is Off. |
Width | <Value> | Enter this value in Connect distance units; it must be greater than 0.0. The default is 50 meters. |
LineWidth | <Width> | Indicates the width of the primitive line. <Width> is a value between 1.0 and 10.0. |
LineStyle | {LineStyle} | Indicates the style of the primitive line. {LineStyle} can be a name such as Solid, Dashed, Dotted, etc., or a number (0, 1, 2, etc.). For all valid {LineStyle} options, see Common Line Options. |
ShowLine | {On | Off} | Show or Hide the lines for this primitive. The default value is On. |
BoundaryType | {GreatArc | RhumbLine} | This options enables you to choose between Great Arcs and Rhumb Lines for connecting the end points. The default value is GreatArc. |
Granularity | <Angle> | Define the arc granularity, which is the frequency of interpolated points. A low number for this value will look nicer, but draw slower. A valid value is between 0.1 and 6.0. The default value is 1.0 degree. |
DrawType | {Surface | OnTerrain | Space} |
|
Examples
Add a Corridor primitive to the scenario:
Wall Primitive Options
The Wall primitive is defined using an existing primitive (SrcPrimID). Options available for Wall {PrimitiveType} are described in the following table.
See also Common Primitive options above.
The BodyFrame option is not valid for the Wall primitive type.
{PrimitiveOption} | <Value> | Description |
---|---|---|
SrcPrimID | <ID> | Use the source primitive to provide the latitude and longitude points for the Wall primitive. The points are copied from the source primitive, which you can delete if it is no longer needed. If the source primitive's points change, the Wall is NOT notified. The visual properties of the source primitive such as color, line width, etc., are not copied to the Wall.
The source primitive can not be a Model or Wall type. |
Translucency | <Value> | Translucency sets the amount of light to pass through an object but diffusing it so that objects aren't clearly visible. <Value> ranges from 0 (opaque) to 100 (completely transparent). The default value is 70. |
LineTranslucency | <Value> | LineTranslucency sets the amount of light to pass through lines. <Value> ranges from 0 (opaque) to 100 (completely transparent). The default value is 0. |
TopAltRef | {RefOption} | If Central Body is Earth, then the valid values for {RefOption} are Terrain, MSL, and WGS84. If Central Body is not Earth, then the valid values for {RefOption} are Terrain and Ellipsoid. This option sets the reference of the upper edge limit of the wall. If you enter Terrain, the reference is to the altitude of the terrain. If you enter MSL, the reference is to mean sea level. If you enter WGS84 or Ellipsoid, the reference is to the altitude of the central body's reference ellipsoid. This is the default value. |
TopAlt | <Value> | Specify the altitude of the upper edge limit of the wall. Enter the value in Connect distance units; it should be between -10000000.0 (-1e+007) meters and 10000000000.0 (1e+010) meters. The default value is 2500.0 meters. |
BotAltRef | {RefOption} | If Central Body is Earth, then the valid values for {RefOption} are Terrain, MSL, and WGS84. If Central Body is not Earth, then the valid values for {RefOption} are Terrain and Ellipsoid. This option sets the reference of the lower edge limit of the wall. If you enter Terrain, the reference is to the altitude of the terrain. If you enter MSL, the reference is to mean sea level. If you enter WGS84 or Ellipsoid, the reference is to the altitude of the central body's reference ellipsoid. This is the default value. |
BotAlt | <Value> | Specify the altitude of the lower edge limit of the wall. Enter the value in Connect distance units; it should be between -10000000.0 (-1e+007) meters and 10000000000.0 (1e+010) meters. The default value is 0.0 meters. |
Examples
Define a Circle primitive and define a Wall on that Circle, then delete the original Circle primitive:
Point Type Options
If the primitive is not attached to a BodyFrame the following {PointType} options are valid:
{PointType} | <Point> | Description |
---|---|---|
LLA | <Latitude> <Longitude> <Altitude> | Enter <Latitude> and <Longitude> in degrees. Enter <Altitude> in meters. |
LL | <Latitude> <Longitude> | Enter <Latitude> and <Longitude> in degrees. |
CBF | <X> <Y> <Z> | Enter central body fixed elements, <X>, <Y> and <Z>, in Connect distance units. |
If the primitive is attached to a BodyFrame, the following {PointType} options are valid:
{PointType} | <Point> | Description |
---|---|---|
XYZ | <X> <Y> <Z> | Enter body fixed elements, <X>, <Y> and <Z>, in Connect distance units. |
XYSurface | <X> <Y> | Body fixed elements, points are scaled to surface. Enter <X> and <Y> in Connect distance units. |
Technical Notes for Primitives on Terrain:
This information is in regard to the DrawType OnTerrain option.
LineStyle is ignored when a primitive is on terrain.
Picking is not supported when a primitive is on terrain.
If ShowPoints is on and the primitive is on terrain, the points are not drawn on terrain.
Using the OnTerrain DrawType is not as fast as Surface , so AGI only recommends using OnTerrain when terrain is present.
AGI only recommends using the Line primitive when the end points are within a degree of each other. If it does not display correctly, use an Arc primitive instead. Do not set the Granularity for Arc or RhumbLine above their default, for proper behavior.
Notes on Debugging:
If a VO * Primitive command fails (due to invalid syntax, invalid primitive ID, etc.), a NACK is returned. By default, primitive debugging is turned off. To get extended debugging information, enable primitive debugging with the following command:
VO * Primitive Debug On
When debugging is enabled and a VO * Primitive command NACKs, debugging information is displayed in the message viewer. In STK, go to View -> Message Viewer. This information will help you pinpoint what is wrong with the command. To disable primitive debugging, use:
VO * Primitive Debug Off
Note that the debugging state is not saved with the scenario, so it needs to be turned on before it is used.
Notes on Performance:
If several VO * Primitive commands are sent in a row, use batch graphics to avoid redrawing between each command. See BatchGraphics.
Since line primitives are line strips, it is better to create one line with several points than several lines with only two points each.
Primitives drawn in fixed lat lon space tend to be the fastest, while primitives attached to an object, drawn as great arcs on the surface, tend to be the slowest.
Avoid drawing attached line primitives as a great arc. If the line is short enough, a great arc isn't needed.
If a primitive is no longer needed, delete it using VO * Primitive Delete, instead of just hiding it with VO * Modify ... Show Off.
Identifying Primitives
The ID of a primitive can be determined using asynchronous 3D picking. When asynchronous 3D picking is enabled, double-clicking a primitive will return a string, via Connect, that includes the primitive ID. See Async3DPick for more information.
Examples
The following series of commands will create two line primitives, add intervals to both, and modify the intervals to change the line color and width over time:
Define the first primitive:
Define the second primitive:
Modify both primitives to draw using the great arc:
Add 3 intervals to both primitives:
Modify the primitives to be red, with a width of 1 during the first interval:
Modify the primitives to be white, with a width of 2 during the second interval:
Modify the primitives to be blue, with a width of 3 during the third interval:
Examples
Define a Circle primitive and define a Wall on that Circle, then delete the original Circle primitive:
Examples
Turn on the display of primitive 1 on 3D Window 1:
Turn off the display of primitives 34 and 35 on All 3D Windows:
Return message
Group membership
This command belongs to the following group(s):
Version
12.1