CIM Issues #5295

Updated by Pat Brown over 1 year ago

Eliminate as much redundant modeling as possible while still supporting the 3 main uses of WireAssembly: 1) as a template of only wire positions, 2) as a template of wire positions and types, 3) as a template of wire positions, types and phases. 
 Main areas of cleanup:  
 * WireBundleInfo [61968] - The WireBundleInfo class currently can be used to describe either a collection of wires carrying different phases (identical to the purpose of WireAssemblyInfo) or a collection of wires arranged 'around a circle' which are carrying the same phase. Rename the class to IntraphaseSpacing, document that it represents a group of wires carrying the same phase, and remove .isCable and .usage attributes whose meaning and use was unclear. Also remove the WireUsageKind enumeration class whose only reference was from .usage. 
 * WirePhaseInfo [61968] - Remove WirePhaseInfo class and move its only attribute to the WirePosition class 
 * WireAssemblyInfo [61968] - Change name to WireAssembly (because it does not describe a datasheet) add associations necessary to allow it to function as an 'assembly of positions' template.  
 *PhaseImpedanceData [61970] - Remove .fromPhase and .toPhase as they are no longer needed given the presence of PhaseImpedanceData.column and .row which allows phase to be determined from either ACLineSegmentPhase or WirePosition. (.column and .row values refer to either ACLineSegmentPhase.sequenceNumber or WirePosition.sequenceNumber both of which have an associated .phase)