Home | Categories | Alphabetical | Classes | All Contents | [ < ] | [ > ]

IDLgrPolyline Properties


IDLgrPolyline objects have the following properties in addition to properties inherited from any superclasses. Properties with the word "Yes" in the "Get" column of the property table can be retrieved via IDLgrPolyline::GetProperty. Properties with the word "Yes" in the "Init" column of the property table can be set via IDLgrPolyline::Init. Properties with the word "Yes" in the "Set" column in the property table can be set via IDLgrPolyline::SetProperty.

Note
For a discussion of the property description tables shown below, see About Object Property Descriptions.

ALL

An anonymous structure containing the values of all of the properties associated with the state of this object. State information about the object includes things like color, range, tick direction, etc., but not image, vertex, or connectivity data, or user values.

Note
The fields of this structure may change in subsequent releases of IDL.

Property Type
Structure
Name String
not displayed
Get: Yes
Set: No
Init: No
Registered: No

ALPHA_CHANNEL

A floating-point value in the range [0.0, 1.0] to specify the opacity of the polyline. The default value of 1.0 causes IDL to draw the line completely opaque. If the value of this property is less than 1.0, then the pixels of the polyline are blended with the pixels already on the screen, where the color of the polyline is multiplied by the alpha value and the pixels already on the screen are multiplied by 1.0-alpha.

Because an object can only be blended with objects already drawn on the screen, the drawing order of the objects must be considered carefully in order to obtain the desired results. Note that since a single polyline object may contain many polylines, or because a line may draw in back or in front of itself, the ordering of the polylines within the object (POLYLINES property) must be considered as well.

This property has no effect on devices using indexed color mode.

If 3-channel (RGB) VERT_COLORS are supplied, then the value of this property is used for the alpha at each vertex to draw the line. If 4-channel (RGBA) VERT_COLORS are supplied, then the alpha from each vertex color is used for the alpha at each vertex to draw the line.

When a polyline is drawn with symbols, the symbol's color and alpha values are always used to draw the symbols unless VERT_COLORS are supplied. If the VERT_COLORS are RGB, then the alpha value of the symbol is used to draw the symbol. If the VERT_COLORS are RGBA, then the alpha from the vertex color is used to draw the symbol.

When used with labels, the value of this property is used as the alpha channel value for a label if its corresponding value in the USE_LABEL_COLOR property is zero and the value of LABEL_USE_VERTEX_COLOR is zero.

If a label's corresponding value in the USE_LABEL_COLOR property is zero and the LABEL_USE_VERTEX_COLOR property is non-zero, then the label is drawn with the alpha value from its corresponding vertex color, if the alpha values are included in the vertex colors. If the vertex colors do not include alpha values, the value of this property is used as the alpha value for the label.

If a label's corresponding value in the USE_LABEL_COLOR property is non-zero, then the value of the label object's ALPHA_CHANNEL property is used to draw the label. In other words, USE_LABEL_COLOR also implies using the label object's alpha as well as its color.

Note
For more detailed information on alpha channel support for IDL Object Graphics, see Alpha Channel and Objects.

Property Type
Float-point value
Name String
Transparency
Get: Yes
Set: Yes
Init: Yes
Registered: Yes

CLIP_PLANES

A 4-by-N floating-point array of dimensions that specifies the coefficients of the clipping planes to be applied to this object. The four coefficients for each clipping plane are of the form [A, B, C, D], where Ax + By + Cz + D = 0. Portions of this object that fall in the half space Ax + By + Cz + D > 0 will be clipped. By default, the value of this property is a scalar (-1) indicating that no clipping planes are to be applied.

Note
The clipping planes specified via this property are applied in addition to the near and far clipping planes associated with the IDLgrView in which this object appears.

Note
Clipping planes are applied in the data space of this object (prior to the application of any x, y, or z coordinate conversion).

Note
To determine the maximum number of clipping planes supported by the device, use the MAX_NUM_CLIP_PLANES property of the GetDeviceInfo method for the IDLgrBuffer, IDLgrClipboard, IDLgrWindow, and IDLgrVRML objects.

Property Type
Floating-point array
Name String
 
Get: Yes
Set: Yes
Init: Yes
Registered: No

COLOR

A color index or a three-element vector [red, green, blue] specifying the color used to draw polylines. The default color is [0, 0, 0] (black). This property is ignored if the VERT_COLORS property is provided.

In a property sheet, this property appears as a color property.

Property Type
COLOR
Name String
Color
Get: Yes
Set: Yes
Init: Yes
Registered: Yes

DATA

A 2-by-n or a 3-by-n floating-point array which defines, respectively, the 2-D or 3-D vertex data. DATA is equivalent to the optional arguments, X, Y, and Z. This property is converted to double-precision floating-point values if the DOUBLE property is set. Otherwise, it is converted to single-precision floating-point.

Property Type
Floating-point array
Name String
not displayed
Get: Yes
Set: Yes
Init: Yes
Registered: No

DEPTH_TEST_DISABLE

An integer value that determines whether depth testing is disabled.

Disabling depth testing allows an object to draw itself on top of other objects already on the screen, even if the object is located behind them.

This property is registered as an enumerated list, but it is hidden by default.

Property Type
ENUMLIST
Name String
Depth Test Disable
Get: Yes
Set: Yes
Init: Yes
Registered: Yes

DEPTH_TEST_FUNCTION

An integer value that determines the depth test function. Set this property to 0 (the default) to inherit the value set by the parent model or view. The parent view always sets a depth test function of LESS. A model may also set a depth test function value. The graphics device compares the object's depth at a particular pixel location with the depth stored in the depth buffer at that same pixel location. If the comparison test passes, the object's pixel is drawn at that location on the screen and the depth buffer is updated (if depth writing is enabled).

Set this property to any of the following values to use the desired function while rendering this object.

Less means closer to the viewer.

This property is registered as an enumerated list, but it is hidden by default.

Property Type
ENUMLIST
Name String
Depth Test Enable
Get: Yes
Set: Yes
Init: Yes
Registered: Yes

DEPTH_WRITE_DISABLE

An integer value that determines whether depth writing is disabled.

Disabling depth writing allows an object to be overdrawn by other objects, even if the object is located in front of them.

This property is registered as an enumerated list, but it is hidden by default.

Property Type
ENUMLIST
Name String
Depth Write Disable
Get: Yes
Set: Yes
Init: Yes
Registered: Yes

DOUBLE

A Boolean value that indicates whether data provided by any of the input arguments will be stored in this object as using double-precision floating-point format.

Setting this property may be desirable if the data consists of large integers that cannot be accurately represented in single-precision floating-point arithmetic. This property is also automatically set to 1 if any of the input arguments are stored using a variable of type DOUBLE.

Property Type
Boolean
Name String
not displayed
Get: Yes
Set: Yes
Init: Yes
Registered: No

HIDE

A Boolean value indicating whether this object should be drawn:

In a property sheet, this property appears as an enumerated list with the following options:

Property Type
ENUMLIST
Name String
Show
Get: Yes
Set: Yes
Init: Yes
Registered: Yes

LABEL_NOGAPS

An integer vector of values indicating whether gaps should be computed for the corresponding label. A zero value indicates that a gap will be computed for the labels; a non-zero value indicates that no gap will be computed for the label. If the number of labels exceeds the number of elements in this vector, the LABEL_NOGAPS values will be repeated cyclically. By default, gaps are computed for all labels (so that the polyline does not pass through the label).

Property Type
Integer vector
Name String
not displayed
Get: Yes
Set: Yes
Init: Yes
Registered: No

LABEL_OFFSETS

A scalar or vector of floating-point offsets, [t0, t1, ...], that indicate the parametric offsets along the length of each polyline (specified via the LABEL_POLYLINES property) at which each label (as specified via the LABEL_OBJECTS property) would be positioned. If LABEL_OFFSETS is set to a scalar less than zero, then the offsets will be automatically computed to be evenly distributed along the length of the polyline. If a scalar value greater than or equal to zero is provided, it is used for all labels. If a vector is provided, the number of offsets must match the number of labels provided via LABEL_OBJECTS. By default, this property is set to the scalar, -1, indicating that the label offsets will be automatically computed.

Property Type
Floating-point vector
Name String
not displayed
Get: Yes
Set: Yes
Init: Yes
Registered: No

LABEL_OBJECTS

An object reference (or vector of object references) to specify the labels to be drawn along the polyline path(s). The objects specified via this property must inherit from one of the following classes:

If a single object is provided, and it is an IDLgrText object, each of its strings will correspond to a label. If a vector of objects is used, any IDLgrText objects should have only a single string; each object will correspond to a label.

If one or more IDLgrText objects are provided, the LOCATION property of the provided text object(s) may be overwritten; position is determined according to the values provided via the LABEL_OFFSETS property. The labels will have the same color as the corresponding polyline (see the COLOR property) unless the USE_LABEL_COLOR property is specified. The orientation of the label objects USE_LABEL_ORIENTATION property is specified. The horizontal and vertical alignment for any text labels will each default to 0.5 (i.e., centered) unless the USE_TEXT_ALIGNMENTS property is specified.

Note
The objects provided via this property will not be destroyed automatically when this IDLgrPolyline is destroyed.

Property Type
Object reference
Name String
not displayed
Get: Yes
Set: Yes
Init: Yes
Registered: No

LABEL_POLYLINES

An integer or integer vector of polyline indices, [P0, P1, ...], that indicate which polylines are to be labeled. Pi corresponds to the ith polyline specified via the POLYLINES property. This property is intended to be used in conjunction with the LABEL_OBJECTS property. If a scalar is provided, all labels will be drawn along the single indicated polyline. If a vector is provided, the number of polyline indices must match the number of labels provided via LABEL_OBJECTS.

By default, this property is set to the scalar, 0, indicating that only the first polyline will be labeled.

Note
If a given polyline has more than one label, then the corresponding polyline index may appear more than once in the LABEL_POLYLINES vector.

Property Type
Integer or integer vector
Name String
not displayed
Get: Yes
Set: Yes
Init: Yes
Registered: No

LABEL_USE_VERTEX_COLOR

An integer value that indicates whether labels should be colored according to the vertex coloring (if the VERT_COLORS property is set).

Property Type
Integer
Name String
not displayed
Get: Yes
Set: Yes
Init: Yes
Registered: No

LINESTYLE

An integer or array value that indicates the line style to be used to draw the polyline. The value can be either an integer value specifying a pre-defined line style, or a two-element vector specifying a stippling pattern.

To use a pre-defined line style, set the LINESTYLE property equal to one of the following integer values:

To define your own stippling pattern, specify a two-element vector [repeat, bitmask], where repeat indicates the number of times consecutive runs of 1's or 0's in the bitmask should be repeated. (That is, if three consecutive 0's appear in the bitmask and the value of repeat is 2, then the line that is drawn will have six consecutive bits turned off.) The value of repeat must be in the range 1 £ repeat £ 255.

The bitmask indicates which pixels are drawn and which are not along the length of the line. Bitmask is most conveniently specified as a 16-bit hexadecimal value.

For example, LINESTYLE = [2, 'F0F0'X] describes a dashed line (8 bits on, 8 bits off, 8 bits on, 8 bits off).

In a property sheet, this property appears as follows:

Property Type
Linestyle
Name String
Line style
Get: Yes
Set: Yes
Init: Yes
Registered: Yes

PALETTE

An object reference to a palette object (an instance of the IDLgrPalette object class) that defines the color palette of this object. This property is only used if the destination device is using the RGB color model. If so, and a color value for the object is specified as a color index value, the palette set by this property is used to translate the color to RGB space. If the PALETTE property on this object is not set, the destination object PALETTE property is used (which defaults to a grayscale ramp).

This property is registered as a user-defined property, but it is hidden by default.

Property Type
USERDEF
Name String
Color palette
Get: Yes
Set: Yes
Init: Yes
Registered: Yes

PARENT

An object reference to the object that contains this object.

Property Type
Object reference
Name String
not displayed
Get: Yes
Set: No
Init: No
Registered: No

POLYLINES

An integer array of polyline descriptions. A polyline description is an integer or long word array of the form: [n, i0, i1, ..., in-1], where n is the number of vertices that define the polyline, and i0..in-1 are indices into the X, Y, and Z arguments that represent the vertices of the polyline(s). To ignore an entry in the POLYLINES array, set the vertex count, n, and all associated indices to 0. To end the drawing list, even if additional array space is available, set n to -1. If this property is not specified, a single connected polyline will be generated from the X, Y, and Z arguments.

Note
Setting the POLYLINES property to a scalar value will reset the property to its initial, undefined state.

Note
The connectivity array described by POLYLINES allows an individual object to contain more than one polyline. Vertex, normal and color information can be shared by the multiple polylines. Consequently, the polyline object can represent an entire mesh and compute reasonable normal estimates in most cases.

Property Type
Integer array
Name String
not displayed
Get: Yes
Set: Yes
Init: Yes
Registered: No

REGISTER_PROPERTIES

A Boolean value that determines whether to register properties available for this object. Set this property to automatically register the following properties of the object for display in a property sheet. This property is useful mainly when creating iTools. By default, no properties are registered.

Property Type
Boolean
Name String
not displayed
Get: No
Set: No
Init: Yes
Registered: No

RESET_DATA

A Boolean value that determines whether to treat the data provided via one of the DATA property as a new data set unique to this object, rather than overwriting data that is shared by other objects. There is no reason to use this property if the object on which the property is being set does not currently share data with another object (that is, if the SHARE_DATA property is not in use). This property has no effect if no new data is provided via the DATA property. .

Property Type
Boolean
Name String
not displayed
Get: No
Set: Yes
Init: Yes
Registered: No

SHADING

An integer representing the type of shading to use:

Gouraud shading may be slower than flat shading, but results in a smoother appearance.

In a property sheet, this property appears as an enumerated list with the following options:

Property Type
ENUMLIST
Name String
Shading
Get: Yes
Set: Yes
Init: Yes
Registered: Yes

SHARE_DATA

An object reference to an object whose data is to be shared by this polyline. A polyline may only share data with a polygon object or another polyline. The SHARE_DATA property is intended for use when data values are not set via an argument to the object's Init method or by setting the object's DATA property.

Property Type
Object reference
Name String
not displayed
Get: No
Set: Yes
Init: Yes
Registered: No

SYMBOL

An object reference vector containing one or more instances of the IDLgrSymbol object class to indicate the plotting symbols to be used at each vertex of the polyline. If there are more vertices than elements in SYMBOL, the elements of the SYMBOL vector are cyclically repeated. By default, no symbols are drawn. To remove symbols from a polyline, set SYMBOL to a scalar.

Property Type
Object reference vector
Name String
not displayed
Get: Yes
Set: Yes
Init: Yes
Registered: No

THICK

A floating-point value between 1.0 and 10.0, specifying the line thickness to be used to draw the polyline, in points. The default is 1.0 points.

In a property sheet, this property appears as follows:

Property Type
Thickness
Name String
Thickness
Get: Yes
Set: Yes
Init: Yes
Registered: Yes

USE_LABEL_COLOR

An integer vector of values to indicate whether the COLOR property value for the corresponding label object is to be used to draw that label. If the number of labels exceeds the number of elements in this vector, the USE_LABEL_COLOR values will be repeated cyclically. By default, this value is zero, indicating that the COLOR property of each label object will be ignored, and the COLOR property for the polyline object will be used instead.

Property Type
Integer vector
Name String
not displayed
Get: Yes
Set: Yes
Init: Yes
Registered: No

USE_LABEL_ORIENTATION

An integer vector of values to indicate whether the orientation of the corresponding label object is to be used to draw that label. For IDLgrText objects, this refers to the BASELINE and UPDIR property values. For IDLgrSymbol objects, this refers to the default (un-rotated) orientation of the symbol. If the number of labels exceeds the number of elements in this vector, the USE_LABEL_ORIENTATION values will be repeated cyclically. By default, USE_LABEL_ORIENTATION is zero, indicating that the orientation will be automatically computed so that the baseline is parallel to the polyline, and the updir is perpendicular to the polyline. .

Property Type
Integer vector
Name String
not displayed
Get: Yes
Set: Yes
Init: Yes
Registered: No

USE_TEXT_ALIGNMENTS

A Boolean value that indicates whether, for any IDLgrText labels (as specified via the LABEL_OBJECTS property), the ALIGNMENT and VERTICAL_ALIGNMENT property values for the given IDLgrText object(s) are to be used to draw those labels. By default, this value is zero, indicating that the ALIGNMENT and VERTICAL_ALIGNMENT properties of the IDLgrText object(s) will be overwritten with default values (0.5 for each, indicating centered labels).

Property Type
Boolean
Name String
not displayed
Get: Yes
Set: Yes
Init: Yes
Registered: No

VERT_COLORS

A vector of colors to be used to specify the color of the line segment between each vertex. The vector may be of the form [n] where each entry is a color index, or of the form [3,n] where each 3-element row is an RGB color, or of the form [4,n] where each 4-element row is an RGBA color. To remove vertex colors after they have been set, set VERT_COLORS to a scalar.

If VERT_COLORS is not specified, the entire polyline is drawn in the single color provided by the COLOR property, which is the default action.

If SHADING is set to 0 (Flat, the default) the color of a line segment is the color of the second vertex of that line segment. Color is interpolated between vertices if SHADING is set to 1 (Gouraud).

If there are more vertices than elements in VERT_COLORS, the elements of VERT_COLORS are cyclically repeated.

When VERT_COLORS is used with symbols, the vertex colors and vertex alpha override any colors and alpha specified by the symbol object or any colors and alpha specified by graphic atoms contained in a user-defined symbol. When VERT_COLORS is used with labels, the application of the color and alpha of the labels is controlled by the USE_LABEL_COLOR and LABEL_USE_VERTEX_COLOR properties.

Property Type
USERDEF
Name String
Vertex colors
Get: Yes
Set: Yes
Init: Yes
Registered: Yes

XCOORD_CONV

A floating-point vector, [s0, s1], of scaling factors used to convert X coordinates from data units to normalized units. The formula for the conversion is as follows:

NormalizedX = s0 + s1 * DataX

Recommended values are:

[(-Xmin)/(Xmax-Xmin), 1/(Xmax-Xmin)]

The default is [0.0, 1.0]. IDL converts, maintains, and returns this data as double-precision floating-point.

Property Type
Floating-point vector
Name String
not displayed
Get: Yes
Set: Yes
Init: Yes
Registered: No

XRANGE

A two-element floating-point vector of the form [xmin, xmax] that specifies the range of x data coordinates covered by the graphic object. IDL maintains and returns this property in double-precision floating-point.

Property Type
Floating-point vector
Name String
not displayed
Get: Yes
Set: No
Init: No
Registered: No

YCOORD_CONV

A floating-point vector, [s0, s1], of scaling factors used to convert Y coordinates from data units to normalized units. The formula for the conversion is as follows:

NormalizedY = s0 + s1 * DataY

Recommended values are:

[(-Ymin)/(Ymax-Ymin), 1/(Ymax-Ymin)]

The default is [0.0, 1.0]. IDL converts, maintains, and returns this data as double-precision floating-point.

Property Type
Floating-point vector
Name String
not displayed
Get: Yes
Set: Yes
Init: Yes
Registered: No

YRANGE

A two-element floating-point vector of the form [ymin, ymax] that specifies the range of y data coordinates covered by the graphic object. IDL maintains and returns this property in double-precision floating-point.

Property Type
Floating-point vector
Name String
not displayed
Get: Yes
Set: No
Init: No
Registered: No

ZCOORD_CONV

A floating-point vector, [s0, s1], of scaling factors used to convert Z coordinates from data units to normalized units. The formula for the conversion is as follows:

NormalizedZ = s0 + s1 * DataZ

Recommended values are:

[(-Zmin)/(Zmax-Zmin), 1/(Zmax-Zmin)]

The default is [0.0, 1.0]. IDL converts, maintains, and returns this data as double-precision floating-point.

Property Type
Floating-point vector
Name String
not displayed
Get: Yes
Set: Yes
Init: Yes
Registered: No

ZRANGE

A two-element floating-point vector of the form [zmin, zmax] that specifies the range of z data coordinates covered by the graphic object. IDL maintains and returns this property in double-precision floating-point.

Property Type
Floating-point vector
Name String
not displayed
Get: Yes
Set: No
Init: No
Registered: No

Version History

ALPHA_CHANNEL added: 6.1


Home | Categories | Alphabetical | Classes | All Contents | [ < ] | [ > ]