IDLgrPolyline

A polyline object represents one or more polylines that share a set of vertices and rendering attributes.

An IDLgrPolyline object is an atomic graphic object ; it is one of the basic drawable elements of the IDL Object Graphics system, and it is not a container for other objects.

Superclasses

This class has no superclasses.

Subclasses

This class has no subclasses.

Creation

See IDLgrPolyline::Init

Methods

Intrinsic Methods

This class has the following methods:


IDLgrPolyline::Cleanup

The IDLgrPolyline:: Cleanup procedure method performs all cleanup on the object. IDLgrPolyline is described above.

Calling Sequence

OBJ_DESTROY, Obj

or

Obj -> [IDLgrPolyline::] Cleanup                               ( In a subclass' Cleanup method only .)

Arguments

There are no arguments for this method.

Keywords

There are no keywords for this method.


IDLgrPolyline::GetCTM

The IDLgrPolyline:: GetCTM function method returns the 4 x 4 graphics transform matrix from the current object upward through the graphics tree. IDLgrPolyline is described above.

Calling Sequence

Result = Obj -> [IDLgrPolyline::] GetCTM()

Arguments

There are no arguments for this method.

Keywords

DESTINATION

Set this keyword to the object reference of a destination object to specify that the projection matrix for the View object in the current tree be included in the returned transformation matrix. The resulting matrix will transform a point in the data space of the object on which the GetCTM method is called into a normalized coordinate system (-1 to +1 in X, Y, and Z), relative to the View object that contains the polyline object.

TOP

Set this keyword equal to the object reference to an IDLgrModel object to specify that the returned matrix accumulate from the object on which the GetCTM method is called up to and including the specified model object.


IDLgrPolyline::GetProperty

The IDLgrPolyline:: GetProperty procedure method retrieves the value of a property or group of properties for the polylines. IDLgrPolyline is described above.

Calling Sequence

Obj -> [IDLgrPolyline::] GetProperty

Arguments

There are no arguments for this method.

Keywords

Any keyword to IDLgrPolyline::Init

ALL

Set this keyword to a named variable that will contain 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.

PARENT

Set this keyword equal to a named variable that will contain an object reference to the object that contains this object.

XRANGE

Set this keyword equal to a named variable that will contain a two-element vector of the form [ xmin , xmax ] that specifies the range of x data coordinates covered by the graphic object.

YRANGE

Set this keyword equal to a named variable that will contain a two-element vector of the form [ ymin , ymax ] that specifies the range of y data coordinates covered by the graphic object.

ZRANGE

Set this keyword equal to a named variable that will contain a two-element vector of the form [ zmin , zmax ] that specifies the range of z data coordinates covered by the graphic object.


IDLgrPolyline::Init

The IDLgrPolyline:: Init function method initializes the polylines object. IDLgrPolyline is described above.

Calling Sequence

Obj = OBJ_NEW( 'IDLgrPolyline' [, X [ , Y[ , Z]]] )

or

Result = Obj -> [IDLgrPolyline::] Init( [X, [Y, [Z]]] )         ( In a subclass' Init method only .)

Arguments

X

A vector providing the X components of the points to be connected. If the Y and Z arguments are not specified, X must be an array of either two or three vectors (i.e., [2,*] or [3,*]), in which case X [0,*] represent the X values, X [1,*] represent the Y values, and X [2,*] represent the Z values.

Y

A vector providing the Y components of the points to be connected.

Z

A vector providing the Z components of the points to be connected.

Keywords

Properties retrievable via IDLgrPolyline::GetProperty

COLOR (Get, Set)

Set this keyword to an RGB or Indexed color for drawing polylines. The default color is [255, 255, 255] (white). This keyword is ignored if the VERT_COLORS keyword is provided.

DATA (Get, Set)

Set this keyword to a 2 x n or 3 x n array which defines, respectively, the 2D or 3D vertex data. DATA is equivalent to the optional arguments, X , Y , and Z .

HIDE (Get, Set)

Set this keyword to a boolean value indicating whether this object should be drawn:

LINESTYLE (Get, Set)

Set this keyword to indicate the line style that should 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).

NAME (Get, Set)

Set this keyword equal to a string containing the name associated with this object. The default is the null string, ' '.

POLYLINES (Get, Set)

Set this keyword to an array of polyline descriptions. A polyline description is an integer or longword array of the form: [ n , i 0 , i 1 , ..., i n-1 ], where n is the number of vertices that define the polyline, and i 0 ..i n -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 , to 0. To end the drawing list, even if additional array space is available, set n to -1. If this keyword is not specified, a single connected polyline will be generated from the X , Y , and Z arguments.

RESET_DATA (Set)

Set this keyword 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 keyword 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 keyword has no effect if no new data is provided via the DATA property.

SHADING (Get, Set)

Set this keyword to an integer representing the type of shading to use:

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

SHARE_DATA (Set)

Set this keyword 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.

SYMBOL (Get, Set)

Set this keyword to a 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.

THICK (Get, Set)

Set this keyword to an integer value between 1 and 10, specifying the line thickness to be used to draw the polyline, in pixels. The default is one pixel.

UVALUE (Get, Set)

Set this keyword to a value of any type. You can use this "user value" to contain any information you wish. Remember that if you set the user value equal to a pointer or object reference, you should destroy the pointer or object reference explicitly when destroying the object it is a user value of.

VERT_COLORS (Get, Set)

Set this keyword to a vector of colors to be used to draw at each vertex. 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. By default, the polyline is drawn in the single color provided by the COLOR keyword. To remove vertex colors, set VERT_COLORS to a scalar.

XCOORD_CONV (Get, Set)

Set this keyword to a vector, [ s 0 , s 1 ], of scaling factors used to convert X coordinates from data units to normalized units. The formula for the conversion is as follows:

Normalized X = s 0 + s 1 * Data X

Recommended values are:

[(- X min )/( X max - X min ), 1/( X max - X min )]

The default is [0.0, 1.0].

YCOORD_CONV (Get, Set)

Set this keyword to a vector, [ s 0 , s 1 ], of scaling factors used to convert Y coordinates from data units to normalized units. The formula for the conversion is as follows:

Normalized Y = s 0 + s 1 * Data Y

Recommended values are:

[(- Y min )/( Y max - Y min ), 1/( Y max - Y min )]

The default is [0.0, 1.0].

ZCOORD_CONV (Get, Set)

Set this keyword to a vector, [ s 0 , s 1 ], of scaling factors used to convert Z coordinates from data units to normalized units. The formula for the conversion is as follows:

Normalized Z = s 0 + s 1 * Data Z

Recommended values are:

[(- Z min )/( Z max - Z min ), 1/( Z max - Z min )]

The default is [0.0, 1.0].


IDLgrPolyline::SetProperty

The IDLgrPolylines:: SetProperty procedure method sets the value of a property or group of properties for the polylines. IDLgrPolyline is described above.

Calling Sequence

Obj -> [IDLgrPolylines::] SetProperty

Arguments

There are no arguments for this method.

Keywords

Any keyword to IDLgrPolyline::Init