public static void WriteBigEndian(DICOMBinaryWriter dw, DICOMWriteSettings settings, IDICOMElement toWrite) { DICOMTagWriter.WriteBigEndian(dw, toWrite.Tag); VR vr = VRDictionary.GetVRFromType(toWrite); VRWriter.WriteVR(dw, settings, vr); }
public static void WriteLittleEndian(DICOMBinaryWriter dw, DICOMWriteSettings settings, IDICOMElement toWrite) { VR vr = VRDictionary.GetVRFromType(toWrite); if (vr == VR.Sequence) { SequenceWriter.WriteLittleEndian(dw, settings, toWrite); } else { DICOMTagWriter.WriteLittleEndian(dw, toWrite.Tag); VRWriter.WriteVR(dw, settings, vr); DataWriter.WriteLittleEndian(dw, vr, settings, toWrite); } }
public static void WriteLittleEndian(DICOMBinaryWriter dw, DICOMWriteSettings settings, IDICOMElement toWrite) { Sequence s = toWrite as Sequence; DICOMTagWriter.WriteLittleEndian(dw, toWrite.Tag); VRWriter.WriteVR(dw, settings, VR.Sequence); if (settings.DoWriteIndefiniteSequences) { WriteIndefiniteLength(settings, dw); SequenceItemWriter.WriteItemsLittleEndian(dw, settings, s.Items); WriteEndOfSequenceLittleEndian(dw); } else { byte[] itemsBytes = SequenceItemWriter.WriteItemsLittleEndian(settings, s.Items); LengthWriter.Write(dw, VR.Sequence, settings, itemsBytes.Length); dw.Write(itemsBytes); } }