Class Name: Polygon Control Link

Superclass - Control Link

Definition

A Control Link to control the polygon_flags (in a token set) in a Polygon.

Primary Page in DRM Diagram:

Secondary Pages in DRM Diagram:

Example

  1. The SE_INVISIBLE_POLYGON flag on a Polygon is set to true. A Polygon Control Link can reset some polygon_flags values. In this case, it could set the SE_INVISIBLE_POLYGON flag to be false.

FAQs

Why isn't there a single Polygon Control Link field to control the polygon_flags field of the affected Polygon?
The problem with using a Control Link to change Polygon's polygon_flags field is that polygon_flags is a Token Set, and Control Links don't evaluate to Token Sets. Instead, a Control Link evaluates as an SE_BOOLEAN, SE_INT8, SE_UINT8, ..., SE_FLOAT64, or SE_STRING. So, we can't use our standard type of Control Link to define an entire token set.

We aren't trying to change the Polygon's Token Set, however; instead, we're trying to set (or unset) individual flags within the Polygon's Token Set. Consequently, instead of having one Expression for the entire token set, we use one Expression per flag that we care to change.

Why aren't there Polygon Control Link fields for each of the individual flags within a Polygon's Token Set?
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.

Constraints

None.

Composed of (two-way)(inherited)

Component of (two-way)

Inherited Field Elements

SE_STRING description; (notes)

Field Elements

SE_UINT32 hat_test_expr_index; (notes)
SE_UINT32 collidible_expr_index; (notes)
SE_UINT32 invisible_expr_index; (notes)
SE_UINT32 laser_range_finding_expr_index; (notes)

Notes

Fields Notes

description

 A text description of what the Control_Link is for

hat_test_expr_index

 index of the expression whose value controls the inclusion
 or exclusion of SE_HAT_TEST_POLYGON within the polygon_flags
 field (a token set) of the affected <Polygon>.
 If 0, the SE_HAT_TEST_POLYGON portion of the token set of
 the <Polygon> is not controlled.  If non-zero, then the index
 will refer to a boolean expression, where true means that the
 SE_HAT_TEST_POLYGON token should be added to the token set,
 and false means that the token should be cleared from the set.

collidible_expr_index

 index of the expression whose value controls the inclusion
 or exclusion of SE_COLLIDIBLE_POLYGON within the polygon_flags
 field (a token set) of the affected <Polygon>.
 If 0, the SE_COLLIDIBLE_POLYGON portion of the token set of
 the <Polygon> is not controlled.  If non-zero, then the index
 will refer to a boolean expression, where true means that the
 SE_COLLIDIBLE_POLYGON token should be added to the token set,
 and false means that the token should be cleared from the set.

invisible_expr_index

 index of the expression whose value controls the inclusion
 or exclusion of SE_INVISIBLE_POLYGON within the polygon_flags
 field (a token set) of the affected <Polygon>.
 If 0, the SE_INVISIBLE_POLYGON portion of the token set of
 the <Polygon> is not controlled.  If non-zero, then the index
 will refer to a boolean expression, where true means that the
 SE_INVISIBLE_POLYGON token should be added to the token set,
 and false means that the token should be cleared from the set.

laser_range_finding_expr_index

 index of the expression whose value controls the inclusion
 or exclusion of SE_LASER_RANGE_FINDING_POLYGON within the
 polygon_flags field (a token set) of the affected <Polygon>.
 If 0, the SE_LASER_RANGE_FINDING_POLYGON portion of the token
 set of the <Polygon> is not controlled.  If non-zero, then the
 index will refer to a boolean expression, where true means that
 the SE_LASER_RANGE_FINDING_POLYGON token should be added to the
 token set, and false means that the token should be cleared
 from the set.

Prev: Polygon. Next: Positional Light. Up:Index.