Search in sources :

Example 16 with Cable

use of com.cas.circuit.vo.Cable in project TeachingInSimulation by ScOrPiOzzy.

the class LinkerData method addLinker.

// /**
// * 所负责工作站
// */
// private byte stationInCharge;
public LinkerMsg addLinker(ILinker linker, ILinkTarget target, String wireMark) {
    // 封装LinkerInfo
    LinkerMsg linkInfo = new LinkerMsg();
    if (linker instanceof Wire) {
        linkInfo.setLinkType(LinkerMsg.WIRE);
    } else if (linker instanceof Pipe) {
        linkInfo.setLinkType(LinkerMsg.PIPE);
    } else if (linker instanceof Cable) {
        if (target instanceof Jack) {
            linkInfo.setLinkType(LinkerMsg.CABLE_JACK);
            linkInfo.setElecComp(((Cable) linker).isElecComp());
        } else {
            linkInfo.setLinkType(LinkerMsg.CABLE_TERM);
            // A、B、C
            linkInfo.setWireMark(wireMark);
        }
        linkInfo.setCableKey(((Cable) linker).getPO().getId());
    }
    linkInfo.setKey(linker.hashCode());
    linkInfo.setColor(linker.getColor());
    linkInfo.setElecCompKey(target.getElecCompKey());
    linkInfo.setTargetKey(target.getTargetKey());
    // 线号
    linkInfo.setNumMark(linker.getWireNum());
    linkerMapForSave.put(linker.hashCode() + "_" + target.hashCode(), linkInfo);
    return linkInfo;
}
Also used : Cable(com.cas.circuit.vo.Cable) Pipe(com.cas.gas.vo.Pipe) Wire(com.cas.circuit.vo.Wire) Jack(com.cas.circuit.vo.Jack) LinkerMsg(com.cas.circuit.msg.LinkerMsg)

Example 17 with Cable

use of com.cas.circuit.vo.Cable in project TeachingInSimulation by ScOrPiOzzy.

the class LinkerData method modifyWireNum.

public List<LinkerMsg> modifyWireNum(ILinker linker, String wireNum) {
    int hashCode = linker.hashCode();
    // 因为连线时的判断所以此处线缆必然是特殊线缆
    if (linker instanceof Cable) {
        Cable cable = (Cable) linker;
        List<Wire> bindWires = cable.getBindWires();
        // 最近Bind的导线
        linker = bindWires.get(bindWires.size() - 1);
    }
    List<LinkerMsg> msgs = new ArrayList<LinkerMsg>();
    ILinkTarget target1 = linker.getLinkTarget1();
    modifyTargetWireNum(msgs, hashCode, target1, wireNum);
    ILinkTarget target2 = linker.getLinkTarget2();
    modifyTargetWireNum(msgs, hashCode, target2, wireNum);
    return msgs;
}
Also used : Cable(com.cas.circuit.vo.Cable) ArrayList(java.util.ArrayList) Wire(com.cas.circuit.vo.Wire) LinkerMsg(com.cas.circuit.msg.LinkerMsg)

Aggregations

Cable (com.cas.circuit.vo.Cable)17 Wire (com.cas.circuit.vo.Wire)13 Spatial (com.jme3.scene.Spatial)8 Pipe (com.cas.gas.vo.Pipe)7 Jack (com.cas.circuit.vo.Jack)4 Terminal (com.cas.circuit.vo.Terminal)4 ArrayList (java.util.ArrayList)4 LinkerMsg (com.cas.circuit.msg.LinkerMsg)3 GasPort (com.cas.gas.vo.GasPort)3 LinkerEventAdapter (com.cas.circuit.event.LinkerEventAdapter)2 LinkerEventHandler (com.cas.circuit.event.LinkerEventHandler)2 Node (com.jme3.scene.Node)2 ElecComp (com.cas.circuit.vo.ElecComp)1 ElecCompDef (com.cas.circuit.vo.ElecCompDef)1 Format (com.cas.circuit.vo.Format)1 BitmapText (com.jme3.font.BitmapText)1 ColorRGBA (com.jme3.math.ColorRGBA)1 Element (de.lessvoid.nifty.elements.Element)1 FileNotFoundException (java.io.FileNotFoundException)1 Comparator (java.util.Comparator)1