/// <summary>
 /// Remove the power vlaue.
 /// </summary>
 public void RemovePowerValue()
 {
     _powContour = null;
 }
 /// <summary>
 /// Remove the quantized power vlaue.
 /// </summary>
 public void RemoveQuantizedPowerValue()
 {
     _powContourQuantized = null;
 }
        /// <summary>
        /// Generate the ScriptAcoustics object from the xml doc indicated by reader.
        /// </summary>
        /// <param name="reader">Xml text reader.</param>
        public void ParseFromXml(XmlTextReader reader)
        {
            if (reader == null)
            {
                throw new ArgumentNullException("reader");
            }

            string dura = reader.GetAttribute("dura");

            if (string.IsNullOrEmpty(dura))
            {
                _duration = 0;
            }
            else
            {
                _duration = int.Parse(dura, CultureInfo.InvariantCulture);
            }

            string qdura = reader.GetAttribute("qdura");

            if (string.IsNullOrEmpty(qdura))
            {
                _quanDuration = 0;
            }
            else
            {
                _quanDuration = int.Parse(qdura, CultureInfo.InvariantCulture);
            }

            _scriptUvSegs = new Collection<ScriptUvSeg>();

            if (!reader.IsEmptyElement)
            {
                while (reader.Read())
                {
                    if (reader.NodeType == XmlNodeType.Element && reader.Name == "segment")
                    {
                        SegmentInterval segmentInterval = new SegmentInterval();
                        segmentInterval.ParseFromXml(reader);
                        _segmentIntervals.Add(segmentInterval);
                    }
                    else if (reader.NodeType == XmlNodeType.Element && reader.Name == "uvseg")
                    {
                        ScriptUvSeg uvSeg = new ScriptUvSeg();
                        uvSeg.ParseFromXml(reader);

                        _scriptUvSegs.Add(uvSeg);
                    }
                    else if (reader.NodeType == XmlNodeType.Element && reader.Name == "pow")
                    {
                        _powContour = new ScriptPowerContour(reader.Name);
                        _powContour.ParseFromXml(reader);
                    }
                    else if (reader.NodeType == XmlNodeType.Element && reader.Name == "qpow")
                    {
                        _powContourQuantized = new ScriptPowerContour(reader.Name);
                        _powContourQuantized.ParseFromXml(reader);
                    }
                    else if (reader.NodeType == XmlNodeType.EndElement && reader.Name == "acoustics")
                    {
                        break;
                    }
                }
            }
        }