Routines (alphabetical) > Object Classes > Graphics Object Classes > IDLgrROI Properties

# IDLgrROI Properties

IDLgrROI 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 IDLgrROI::GetProperty. Properties with the word “Yes” in the “Init” column of the property table can be set via IDLgrROI::Init. Properties with the word “Yes” in the “Set” column in the property table can be set via IDLgrROI::SetProperty.

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

Objects of this class have the following properties.

- ALL
- ALPHA_CHANNEL
- ANTIALIAS
- CLIP_PLANES
- COLOR
- DEPTH_TEST_DISABLE
- DEPTH_TEST_FUNCTION
- DEPTH_WRITE_DISABLE
- DOUBLE
- HIDE
- LINESTYLE
- PALETTE
- PARENT
- REGISTER_PROPERTIES
- SHADER
- STYLE
- SYMBOL
- THICK
- XCOORD_CONV
- XRANGE
- YCOORD_CONV
- YRANGE
- ZCOORD_CONV
- SUBTICKLEN

In addition, objects of this class inherit:

- IDLanROI
- IDLitComponent

### ALL

An anonymous structure with the values of all of the properties associated with the state of this object. State information about the object may include things like color, line style, etc., but not vertex data or user values.

Note: The fields in 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 ROI. The default value of 1.0 causes IDL to draw the ROI completely opaque. If the value of this property is less than 1.0, then the pixels of the ROI are blended with the pixels already on the screen, where the color of the ROI 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.

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

When the ROI is drawn with symbols, the symbol color and alpha values are always used to draw the symbols.

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

### ANTIALIAS

A Boolean value that indicates whether anti-aliasing should be used when drawing the lines. The default is 0, which disables anti-aliasing.

Property Type | BOOLEAN
Name String | Anti-aliasing
Get: Yes | Set: Yes | Init: Yes | Registered: Yes

### CLIP_PLANES

A 4-by-N floating-point array 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 | not displayed
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 the region. The default color is [0, 0, 0].

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

### DEPTH_TEST_DISABLE

An integer value that determines whether depth testing is disabled.

- Set this property to 0 (the default) to inherit the value set by the parent model or view. The parent view always enables depth testing. A model may also enable or disable depth testing.
- Set this property to 1 to explicitly disable depth buffer testing while drawing this object.
- Set this property to 2 to explicitly enable depth testing for this object.

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.

Note: Disabling depth testing also disables depth buffer writing. When disabling depth testing, the DEPTH_TEST_FUNCTION and DEPTH_WRITE_DISABLE properties are effectively ignored.

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

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

### 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.

- 0 = INHERIT - use value from parent model or view.
- 1 = NEVER - never passes.
- 2 = LESS - passes if the object’s depth is less than the depth buffer’s value.
- 3 = EQUAL - passes if the object’s depth is equal to the depth buffer’s value.
- 4 = LESS OR EQUAL - passes if the object’s depth is less than or equal to the depth buffer’s value.
- 5 = GREATER - passes if the object’s depth is greater than or equal to the depth buffer’s value.
- 6 = NOT EQUAL - passes if the object’s depth is not equal to the depth buffer’s value.
- 7 = GREATER OR EQUAL - passes if the object’s depth is greater than or equal to the depth buffer’s value.
- 8 = ALWAYS - always passes

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 | not displayed
Get: Yes | Set: Yes | Init: Yes | Registered: No

### DEPTH_WRITE_DISABLE

An integer value that determines whether depth writing is disabled.

- Set this property to 0 (the default) to inherit the value set by the parent model or view. The parent view always enables depth writing. A model may also enable or disable depth writing.
- Set this property to 1 to explicitly disable depth buffer writing while rendering this object.
- Set this property to 2 to explicitly enable depth writing for this object.

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

Note: If depth testing (see DEPTH_TEST_DISABLE property) is disabled, depth writing is also automatically disabled.

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

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

### 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.

- Set this property equal to 1 to convert input data to double-precision floating-point format.
- Set this property equal to 0 to convert input data to single-precision floating-point format.
- If you do not specify a value for this property, no data type conversion will be performed, and the data will be stored with its original precision.

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 or enumerated list item indicating whether this region should be drawn:

Value | Property Sheet Value | Description
0 | True | Draw the region (the default)
1 | False | Do not draw the region

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

### LINESTYLE

An integer that indicates the line style to be used to draw the region. 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 this property equal to one of the following integer values:

0 | Solid line (the default)
1 | Dotted
2 | Dashed
3 | Dash dot
4 | Dash dot dot dot
5 | Long dash
6 | No line drawn

In a property sheet, this property appears as follows:

Property Type | ENUMLIST
Name String | not displayed
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 for Object Graphics destinations using the RGB color model. In this case, if the color value for the region is specified as a color index value, this palette is used to look up the color for the region. If the PALETTE property is not set, the destination object PALETTE property is used, which defaults to a gray scale ramp.

Note: Objects specified via this property are not automatically cleaned up when the IDLgrROI object is destroyed.

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

### REGISTER_PROPERTIES

A Boolean value that determines whether to register properties available for this object. If this property is set, all properties marked in this properties section as “Registered: Yes” will be registered 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

### SHADER

An object reference to an IDLgrShader object (or an object containing IDLgrShader as a superclass). When there is suitable graphics card hardware support, the ROI is rendered using the GLSL shader program (executed on the graphics card) instead of using fixed OpenGL properties when initially drawn. (If a suitable graphics card is not present, IDL ignores the shader object when the scene is drawn.) A single IDLgrShader object may be associated with additional ROI objects or other graphic objects that have the SHADER property.

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

### STYLE

An integer value that indicates the geometrical primitive to use to represent the region when displayed. Valid values include:

- 0 = points
- 1 = open polyline
- 2 = closed polyline (the default)

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

### SYMBOL

An object reference to an IDLgrSymbol object for the symbol used for display when STYLE = 0 (points). By default, a dot is used.

Note: Objects specified via this property are not automatically cleaned up when the IDLgrROI object is destroyed.

Property Type | Object reference
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 size of the points, or the thickness of the lines, measured in points. Out-of-range values are quietly clamped to the allowed range. 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

### XCOORD_CONV

A 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.0/(Xmax – Xmin) ]

IDL converts, maintains, and returns this data as double-precision floating-point.

Property Type | Double-precision 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.0/(Ymax – Ymin) ]

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.0/(Zmax – Zmin) ]

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