Type any phrase to search documentation

Software Documentation

AddressingDocumentation

BasicLast updated: October 10, 2020

5 Special constraints

Most of the constraint terms in the addressing dialogs for a module, slat, pin or rack are attributes of effects. The standard meaning of a constraint of the form “Module restricted to single X” is that every effect fired from the module must have the same value for the attribute X, whatever X is — Size, Part Number, Position, etc. Loosely speaking, this standard meaning applies to all the constraint terms, but there are are few constraint terms that are not attributes of the effects or that work slightly differently. These are the “Special” constraint terms. They have meanings that are consistent with the standard meaning but require a customized implementation to do what people expect. These special terms are listed in Table 1.

 

Table 1 – “Special” constraint terms in the addressing dialogs

ConstraintMeaning
SectionThe module constraint row in the addressing dialogs includes the term “Section” as a required option, meaning that modules are never shared across different sections. It follows that slats and pins are also never shared across different sections, since it would be impossible to share a slat or pin without also sharing its associated module. There are a few other terms that modules implicitly cannot be shared across. The full list is: Universe, Firing System Type, Section, Addressing Blueprint, Start Module, and Module Type. See Sorting positions across multiple blueprints or sections for more information.
Rack ClusterRack clusters are collections of racks in a position that are snapped together in the rack layout view. It is natural to constrain modules or slats or pins to rack clusters to avoid unwieldy wiring.
AngleLoosely speaking, this constraint requires that the effects have the same orientation. The orientation of an effect is defined by Euler angles Pan, Tilt, and Spin. All three Euler angles must be the same for the Angle constraint to be satisfied.
Angle-Or-NotLoosely speaking, this constraint requires that effects are all straight up, or all angled, though the specific angles can vary. Ignoring Pan, an effect is considered to be “at an angle” if its Tilt or Spin Euler angle is non-zero. The constraint is satisfied for collections of effects that are either all at an angle or all not at an angle (independent of what the angle is).
Angle-Plus-MinusLoosely speaking, this constraint requires that angles are leaning in one direction or the other or are straight up, though the specific angles can vary. The first Euler angle (Pan, Tilt or Spin) that has a non-zero value for an effect determines its “angle plus/minus/zero,” based on the sign of the angle. If all the Euler angles are zero, then the “angle plus/minus/zero” is zero. The “Angle-Plus-Minus” constraint is satisfied for a collection of effects if all of them have the same “angle plus/minus/zero.”
ChainThis constraint requires that all effects are in the same chain, or all effects are not in a chain.
Chain-Or-NotThis constraint requires that all effects are in chains (not necessarily the same chain), or all effects are not in a chain.
FlightA “flight count” is the number of devices at the same event time and same position. A chain of five, by itself, has a flight count of 5 for all five devices in the chain. Two chains of five shot together have a flight count of 10 for all ten devices. Five shells unchained but shot together also have a flight count of 5. The Flight constraint requires that effects have the same flight count.
Flight-Or-NotThis constraint requires that all effects have a flight count > 1, or all effects have a flight count = 1, though other than that the effects do not need to have the same flight count.
PairThis constraint requires that all effects have a flight count of 2.
Pair-Or-NotThis constraint requires that all effects have a flight count = 2, or all effects have a flight count != 2.
GroupThis constraint relates to the Group attribute but also takes into consideration the Chain attribute and treats blank values unusually. The constraint is satisfied if all events are in the same group (and are in fact in a group!), or if all events are in the same chain (and are in fact in a chain!). The Group constraint is useful for manually specifying what effects are to be e-matched together. Adding the Group constraint to pins will prevent events from being e-matched together unless you specifically give them a group identifier, like “TOGETHER” for example. You don’t need to come up with unique identifiers for different groups of events because events can never be combined onto the same pin if they are at different times.