IDLgrModel Properties
IDLgrModel 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 IDLgrModel::GetProperty. Properties with the word "Yes" in the "Init" column of the property table can be set via IDLgrModel::Init. Properties with the word "Yes" in the "Set" column in the property table can be set via IDLgrModel::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.
In addition, objects of this class inherit:
ACTIVE_POSITION
This scalar integer property is a zero-based index into the model container. It indicates the container index of the object that is drawn by this model when the value of the RENDER_METHOD property is 1.
This property is ignored when the value of the RENDER_METHOD property is not 1.
The default value of this property is 0, indicating the first object in the container.
If this property specifies an index that does not refer to a valid container index, this model object draws nothing when the value of the RENDER_METHOD property is 1. This can happen when the value of the ACTIVE_POSITION property is less than zero, or greater than or equal to the number of objects currently in the container.
This property is registered as an integer, but it is hidden by default.
ALL
An anonymous structure containing the values of all of the properties associated with this object.
Note
The fields of this structure may change in subsequent releases of IDL.
CLIP_PLANES
An 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
Note - Clipping planes are applied in the data space of the objects this model contains (prior to the application of this model's transform).
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.
This property is registered as a user-defined property, but it is hidden by default.
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.
This property is registered as an enumerated list, but it is hidden by default.
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.
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.
This property is registered as an enumerated list, but it is hidden by default.
HIDE
A Boolean value or an enumerated list item indicating whether this object should be drawn:
|
Value
|
Property Sheet Value
|
Description
|
|---|---|---|
|
|
|
Draw the model and children (the default) |
|
|
|
Do not draw the model or children |
Note
HIDE only controls the display attributes of IDLgrModel children since the IDLgrModel object itself lacks geometry.
LIGHTING
An integer value that indicates whether lighting is to be enabled or disabled for all atomic graphic objects that have this model as a parent. IDLgrModel objects that have this model as a parent will not be effected, as they have their own value for this property. If this value is set to 0, any lights added as children of this model will be used to illuminate any other models in the view hierarchy that have lighting enabled.
This property is registered as an enumerated list, but it is hidden by default.
PARENT
An object reference to the object that contains this object.
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.
RENDER_METHOD
This scalar integer property specifies how this model object renders the objects in its container.
If this property is set to a value of 0, the default, the model object draws all objects in its container.
If this property is set to a value of 1, the model object draws only the object specified by the ACTIVE_POSITION property.
This property is registered as an enumerated list, but it is hidden by default.
See Animating Objects (Object Programming) for more information on how to create animation displays when this property is set to 1.
SELECT_TARGET
A Boolean value that tags the model object as the target object to be returned when any object contained by the model is selected via the IDLgrWindow::Select method.
By default, an IDLgrModel object cannot be returned as the target of a SELECT operation since it contains no geometry.
This property is registered as a Boolean property, but it is hidden by default.
TRANSFORM
A 4-by-4 floating-point transformation matrix to be applied to the object. This matrix will be multiplied by its parent's transformation matrix (if the parent has one). The default is the identity matrix. IDL converts, maintains, and returns this data as double-precision floating-point.
This property is registered as a user-defined property, but it is hidden by default.