/** Set the hasMeter flag for all cktElement; */ protected void setHasMeterFlag() { Circuit ckt = DSS.activeCircuit; /* Initialize all to false */ for (PDElement elem : ckt.getPDElements()) { elem.setHasEnergyMeter(false); } for (EnergyMeterObj meter : ckt.getEnergyMeters()) { if (meter.getMeteredElement() != null) meter.getMeteredElement().setHasEnergyMeter(true); } }
@Override protected int makeLike(String energyMeterName) { EnergyMeterObj elem; int success = 0; /* See if we can find this EnergyMeter name in the present collection */ EnergyMeterObj other = (EnergyMeterObj) find(energyMeterName); if (other != null) { elem = activeEnergyMeterObj; elem.setNumPhases(other.getNumPhases()); elem.setNumConds(other.getNumConds()); // force reallocation of terminal stuff elem.setElementName(other.getElementName()); elem.setMeteredElement(other.getMeteredElement()); // pointer to target circuit element elem.setMeteredTerminalIdx(other.getMeteredTerminalIdx()); elem.setExcessFlag(other.isExcessFlag()); elem.setMaxZoneKVANorm(other.getMaxZoneKVANorm()); elem.setMaxZoneKVAEmerg(other.getMaxZoneKVAEmerg()); elem.setDefinedZoneListSize(other.getDefinedZoneListSize()); elem.setDefinedZoneList(new String[elem.getDefinedZoneListSize()]); // copy strings over (actually incr ref count on string) for (int i = 0; i < elem.getDefinedZoneListSize(); i++) elem.getDefinedZoneList()[i] = other.getDefinedZoneList()[i]; elem.setLocalOnly(other.isLocalOnly()); elem.setVoltageUEOnly(other.isVoltageUEOnly()); /* Boolean flags */ elem.setLosses(other.isLosses()); elem.setLineLosses(other.isLineLosses()); elem.setXfmrLosses(other.isXfmrLosses()); elem.setSeqLosses(other.isSeqLosses()); elem.setThreePhaseLosses(other.isThreePhaseLosses()); elem.setVBaseLosses(other.isVBaseLosses()); elem.setPhaseVoltageReport(other.isPhaseVoltageReport()); for (int i = 0; i < elem.getParentClass().getNumProperties(); i++) elem.setPropertyValue(i, other.getPropertyValue(i)); success = 1; } else { DSS.doSimpleMsg("Error in EnergyMeter makeLike: \"" + energyMeterName + "\" not found.", 521); } return success; }