The SEDRIS Data Representation Model
APPENDIX A - Classes Polygon Control Link |
---|
An instance of this DRM class is a <Control Link> instance that has been specialized to control the polygon_flags (in a set) in one or more <Polygon> instances.
The Invisible flag on a <Polygon> instance is set to SE_TRUE. A <Polygon Control Link> component can reset some polygon_flags values. In this case, it could set the Invisible flag to be SE_FALSE.
The polygon_flags field of <Polygon> is a set, and users of <Polygon Control Link> are not trying to change the set in question. What users are doing is setting (or clearing) individual boolean flags within the set.
Consequently, instead of having a single index field for the polygon_flags field, <Polygon Control Link> provides separate index fields for each flag that can be manipulated, so that each can be driven by a separate controlling <Expression> instance.
Simple! No one has asked to be able to control the other flags. If you'd like to be able to control another flag, we'd be happy to consider any change request you might offer.
SE_String | description; | 1 |
---|
The description field specifies a text description of the purpose of the <Control Link> instance.
If non-zero, the value of the hat_test_expression_index field is the index of an ordered <Expression> component of the <Polygon Control Link> instance. The specified <Expression> instance shall be boolean-valued and shall control the inclusion or exclusion of Hat_Test within the polygon_flags field of the affected <Polygon> instances such that SE_TRUE means that Hat_Test shall be added to polygon_flags, and SE_FALSE that Hat_Test shall be cleared from polygon_flags. If hat_test_expression_index is zero, the Hat_Test portion of the polygon_flags of the affected <Polygon> instances is not affected.
If non-zero, the value of the collidible_expression_index field specifies the index of an ordered <Expression> component of the <Polygon Control Link> instance. The specified <Expression> instance shall be boolean-valued and shall control the inclusion or exclusion of Collidible within the polygon_flags field of the affected <Polygon> instances such that SE_TRUE means that Collidible shall be added to polygon_flags, and SE_FALSE that Collidible shall be cleared from polygon_flags. If collidible_expression_index is zero, the Collidible portion of the polygon_flags of the affected <Polygon> instances is not affected.
If non-zero, the value of the invisible_expression_index field specifies the index of an ordered <Expression> component of the <Polygon Control Link> instance. The specified <Expression> instance shall be boolean-valued and shall control the inclusion or exclusion of Invisible within the polygon_flags field of the affected <Polygon> instances such that SE_TRUE means that Invisible shall be added to polygon_flags, and SE_FALSE that Invisible shall be cleared from polygon_flags. If invisible_expression_index is zero, the Invisible portion of the polygon_flags of the affected <Polygon> instances is not affected.
If non-zero, the value of the laser_range_finding_expression_index field is the index of an ordered <Expression> component of the <Polygon Control Link> instance. The specified <Expression> instance shall be boolean-valued and shall control the inclusion or exclusion of Laser_Range_Finding within the polygon_flags field of the affected <Polygon> instances such that SE_TRUE means that Laser_Range_Finding shall be added to polygon_flags, and SE_FALSE that Laser_Range_Finding shall be cleared from polygon_flags. If laser_range_finding_expression_index is zero, the Laser_Range_Finding portion of the polygon_flags of the affected <Polygon> instances is not affected.
|