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.
The IDLgrPolyline:: Cleanup procedure method performs all cleanup on the object. IDLgrPolyline is described above.
NOTE: Cleanup methods are special lifecycle methods , and as such cannot be called outside the context of object destruction. This means that in most cases, you cannot call the Cleanup method directly. There is one exception to this rule: If you write your own subclass of this class, you can call the Cleanup method from within the Cleanup method of the subclass.
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.
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.
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.
The IDLgrPolyline:: GetProperty procedure method retrieves the value of a property or group of properties for the polylines. IDLgrPolyline is described above.
Any keyword to IDLgrPolyline::Init
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.
Set this keyword equal to a named variable that will contain an object reference to the object that contains this object.
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.
The IDLgrPolyline:: Init function method initializes the polylines object. IDLgrPolyline is described above.
NOTE: Init methods are special lifecycle methods , and as such cannot be called outside the context of object creation. This means that in most cases, you cannot call the Init method directly. There is one exception to this rule: If you write your own subclass of this class, you can call the Init method from within the Init method of the subclass.
Obj = OBJ_NEW( 'IDLgrPolyline' [, X [ , Y[ , Z]]] )
Result =
Obj
->
[IDLgrPolyline::]
Init(
[X, [Y, [Z]]]
) (
In a subclass' Init method only
.)
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.
Properties retrievable via IDLgrPolyline::GetProperty
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.
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 .
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).
Set this keyword equal to a string containing the name associated with this object. The default is the null string, ' '.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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
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
The IDLgrPolylines:: SetProperty procedure method sets the value of a property or group of properties for the polylines. IDLgrPolyline is described above.
Any keyword to IDLgrPolyline::Init