+ @Override
+ public void endHandler(String element, HashMap<String, String> attributes, String content, WarningSet warnings) throws SAXException {
+ if (typeCode == 0) { //General Mass Object
+ if (isCompatible(parent, MassComponent.class, warnings)) {
+ parent.addChild(mass);
+ }
+ super.endHandler(element, attributes, content, warnings);
+ }
+ else if (typeCode == 1) { //Shock Cord
+ ShockCord cord = new ShockCord();
+ current = cord;
+ if (isCompatible(parent, ShockCord.class, warnings)) {
+ parent.addChild(cord);
+ }
+ super.endHandler(element, attributes, content, warnings);
+ cord.setName(mass.getName());
+
+ setOverride(cord, mass.isMassOverridden(), mass.getOverrideMass(), mass.getOverrideCGX());
+
+ cord.setRadialDirection(mass.getRadialDirection());
+ cord.setRadialPosition(mass.getRadialPosition());
+ cord.setRadius(mass.getRadius());
+
+ //Rocksim does not distinguish between total length of the cord and the packed length. Fudge the
+ //packed length and set the real length.
+ cord.setCordLength(mass.getLength());
+ cord.setLength(cord.getCordLength()/MASS_LEN_FUDGE_FACTOR);
+ }
+ }
+