Ejemplo n.º 1
0
        /// <summary>
        /// Parses the parameter from a RawProto.
        /// </summary>
        /// <param name="rp">Specifies the RawProto to parse.</param>
        /// <returns>A new instance of the parameter is returned.</returns>
        public static EmitConstraint FromProto(RawProto rp)
        {
            EmitConstraint p = new EmitConstraint();
            string         strVal;

            if ((strVal = rp.FindValue("emit_type")) != null)
            {
                switch (strVal)
                {
                case "CENTER":
                    p.emit_type = EmitType.CENTER;
                    break;

                case "MIN_OVERLAP":
                    p.emit_type = EmitType.MIN_OVERLAP;
                    break;

                default:
                    throw new Exception("Unknown emit_type '" + strVal + "'!");
                }
            }

            if ((strVal = rp.FindValue("emit_overlap")) != null)
            {
                p.emit_overlap = float.Parse(strVal);
            }

            return(p);
        }
Ejemplo n.º 2
0
        /// <summary>
        /// Copy the source object.
        /// </summary>
        /// <param name="src">Specifies the source data.</param>
        public override void Copy(OptionalParameter src)
        {
            base.Copy(src);

            if (src is EmitConstraint)
            {
                EmitConstraint p = (EmitConstraint)src;
                m_emitType     = p.emit_type;
                m_fEmitOverlap = p.emit_overlap;
            }
        }
Ejemplo n.º 3
0
        /// <summary>
        /// Parses the parameter from a RawProto.
        /// </summary>
        /// <param name="rp">Specifies the RawProto to parse.</param>
        /// <returns>A new instance of the parameter is returned.</returns>
        public static new EmitConstraint FromProto(RawProto rp)
        {
            EmitConstraint p = new EmitConstraint(false);
            string         strVal;

            RawProto rpOption = rp.FindChild("option");

            if (rpOption != null)
            {
                ((OptionalParameter)p).Copy(OptionalParameter.FromProto(rpOption));
            }

            if ((strVal = rp.FindValue("emit_type")) != null)
            {
                switch (strVal)
                {
                case "CENTER":
                    p.emit_type = EmitType.CENTER;
                    break;

                case "MIN_OVERLAP":
                    p.emit_type = EmitType.MIN_OVERLAP;
                    break;

                default:
                    throw new Exception("Unknown emit_type '" + strVal + "'!");
                }
            }

            if ((strVal = rp.FindValue("emit_overlap")) != null)
            {
                p.emit_overlap = BaseParameter.ParseFloat(strVal);
            }

            return(p);
        }
Ejemplo n.º 4
0
 /// <summary>
 /// Copy the source object.
 /// </summary>
 /// <param name="src">Specifies the source data.</param>
 public void Copy(EmitConstraint src)
 {
     m_emitType     = src.emit_type;
     m_fEmitOverlap = src.emit_overlap;
 }