private PhotonFile ReadFile(byte[] file, Action <string> reportProgress) { reportProgress?.Invoke("Reading Photon file header information..."); var photonFileHeader = new PhotonFileHeader(file); iFileHeader = photonFileHeader; reportProgress?.Invoke("Reading photon large preview image information..."); previewOne = new PhotonFilePreview(photonFileHeader.GetPreviewOneOffsetAddress(), file); reportProgress?.Invoke("Reading photon small preview image information..."); previewTwo = new PhotonFilePreview(photonFileHeader.GetPreviewTwoOffsetAddress(), file); if (photonFileHeader.GetVersion() > 1) { reportProgress?.Invoke("Reading Print parameters information..."); photonFileHeader.ReadParameters(file); } reportProgress?.Invoke("Reading photon layers information..."); layers = PhotonFileLayer.ReadLayers(photonFileHeader, file, margin, reportProgress); ResetMarginAndIslandInfo(); return(this); }
public void UnLink() { while (layers.Count > 0) { PhotonFileLayer layer = layers[0]; layers.RemoveAt(0); layer.UnLink(); } if (islandLayers != null) { islandLayers.Clear(); } if (marginLayers != null) { marginLayers.Clear(); } iFileHeader.UnLink(); iFileHeader = null; previewOne.UnLink(); previewOne = null; previewTwo.UnLink(); previewTwo = null; }