Exemplo n.º 1
0
        ///
        ///	 * <param name="icsLevel"> </param>
        ///
        protected internal virtual void initPlateXM(EnumUsage usage)
        {
            JDFResourceLink rl = null;

            if (thePreviousNode != null) // either input (for cp, or output for
            // plateset)
            {
                rl = theNode.linkResource(thePreviousNode.getResource(ElementName.EXPOSEDMEDIA, null, 0), usage, null);
            }

            if (rl == null && theParentNode != null)
            {
                rl = theNode.ensureLink(theParentNode.getResource(ElementName.EXPOSEDMEDIA, null, 0), usage, null);
            }

            JDFExposedMedia xm = (JDFExposedMedia)theNode.getCreateResource(ElementName.EXPOSEDMEDIA, usage, 0);

            xm.setPartUsage(EnumPartUsage.Explicit);
            rl = theNode.getLink(xm, null);

            JDFMedia m = ((JDFExposedMedia)xm.getLeaves(false)[0]).getMedia();

            if (m == null)
            {
                m = initPlateMedia();
            }
            else
            {
                m = (JDFMedia)m.getResourceRoot();
                if (theParentNode != null)
                {
                    theNode.ensureLink(theParentNode.getResource("Media", EnumUsage.Input, 0), EnumUsage.Input, null);
                }
            }
            xm.setResStatus(EnumResStatus.Unavailable, false);
            if (!bPartitionedPlateMedia && xm.getMedia() == null)
            {
                xm.refElement(m);
            }
            if (EnumUsage.Input.Equals(usage))
            {
                rl.setProcessUsage(EnumProcessUsage.Plate);
                JDFResourceLink link = theNode.getLink(m, null);
                if (link != null)
                {
                    link.deleteNode();
                }
            }

            if (vParts != null)
            {
                for (int i = 0; i < vParts.Count; i++)
                {
                    JDFAttributeMap part  = new JDFAttributeMap(vParts[i]);
                    JDFResource     xmp   = xm.getCreatePartition(part, partIDKeys);
                    int             ncols = "Front".Equals(part.get("Side")) ? nCols[0] : nCols[1];

                    for (int j = 0; j < ncols; j++)
                    {
                        part.put(EnumPartIDKey.Separation, cols.stringAt(j));
                        xmp.getCreatePartition(part, partIDKeys);
                    }
                }
                if (bPartitionedPlateMedia)
                {
                    VJDFAttributeMap vSheets = getReducedMap(new VString("Side Separation PartVersion", null));
                    for (int i = 0; i < vSheets.Count; i++)
                    {
                        JDFAttributeMap part = new JDFAttributeMap(vSheets[i]);
                        JDFExposedMedia xmp  = (JDFExposedMedia)xm.getCreatePartition(part, partIDKeys);
                        if (xmp.getMedia() == null)
                        {
                            xmp.refMedia((JDFMedia)m.getCreatePartition(part, null));
                        }
                    }
                }
            }
        }