- std::ostringstream s,s2;
- std::string vr;
- // First, Print the Dicom Element itself.
- SetPrintLevel(2);
- PrintCommonPart(os);
- s << std::endl;
- os << s.str();
+ DocEntry::WriteContent(fp, filetype);
+ for(ListSQItem::iterator cc = Items.begin();
+ cc != Items.end();
+ ++cc)
+ {
+ (*cc)->WriteContent(fp, filetype);
+ }
+
+ // we force the writting of a Sequence Delimitation item
+ // because we wrote the Sequence as a 'no Length' sequence
+ binary_write(*fp, seq_term_gr);
+ binary_write(*fp, seq_term_el);
+ binary_write(*fp, seq_term_lg);
+}
+
+/**
+ * \brief Compute the full length of the SeqEntry (not only value
+ * length) depending on the VR.
+ */
+uint32_t SeqEntry::ComputeFullLength()
+{
+ uint32_t l = 12; // Tag (4) + VR (explicit) 4 + 4 (length);
+ for(ListSQItem::iterator cc = Items.begin();
+ cc != Items.end();
+ ++cc)
+ {
+ l += (*cc)->ComputeFullLength();
+ }
+ l += 8; // seq_term Tag (4) + seq_term_lg (4)
+ return l;
+}