-
Notifications
You must be signed in to change notification settings - Fork 61
Further development of the ybar and nubar diagrams
Experience with editing the ybar diagram suggested the value of being able to shift the views to include different levels of detail. Depending on the optical system, one could imagine numerous different layers of diagram, depending on how the lowest level diagram nodes were accumulated. 4 layers are currently provided: interfaces, elements, assembly, and system.
- The
interfaces
layer is a one to one mapping of theseq_model
. - The
elements
layer uses the air gaps to group interfaces that could be replaced by a single node. Not all cases can achieve this replacement without requiring virtual object or image distances. Thick shell elements are an example of the type of element that often can't be replaced by a single, real, node. For these cases, the interface group is represented by the entering and exiting nodes. - The
assembly
layer uses the top level #element nodes in the part tree. If there are no assemblies, this layer will be the same as theelements
layer. - The
system
layer should usually be a single node representation of the optical system. A non-unit magnification afocal system needs to be represented as two nodes.
The introduction of the Part abstract base class and the Assembly subclass support grouping elements in a meaningful and useful way. Assemblies can be generated when importing a component part from a vendor's catalog of lenses/mirrors. Assemblies might also be generated to reflect a zoom lens's moving groups. Assemblies can be used to convey standard configurations, e.g. objective and eyepiece.