Esempio n. 1
0
        /// <since>6.0</since>
        public static int ParseAngleExpession(
            string expression,
            int start_offset,
            int expression_length,
            StringParserSettings parse_settings_in,
            AngleUnitSystem output_angle_unit_system,
            out double value_out,
            ref StringParserSettings parse_results,
            ref AngleUnitSystem parsed_unit_system
            )
        {
            if (null == expression)
            {
                throw new ArgumentNullException();
            }
            IntPtr settings_in_ptr  = parse_settings_in.ConstPointer();
            IntPtr settings_out_ptr = null == parse_results ? IntPtr.Zero : parse_results.NonConstPointer();

            parsed_unit_system = AngleUnitSystem.None;
            value_out          = RhinoMath.UnsetValue;

            int rc = UnsafeNativeMethods.ON_Parse_AngleExpression(
                expression,
                start_offset,
                expression_length,
                settings_in_ptr,
                output_angle_unit_system,
                ref value_out,
                settings_out_ptr,
                ref parsed_unit_system);

            return(rc);
        }
Esempio n. 2
0
        /// <since>6.0</since>
        public static bool ParseAngleExpressionRadians(
            string expression,
            out double angle_radians
            )
        {
            IntPtr settings_in_ptr = StringParserSettings.ParseSettingsRadians.ConstPointer();

            angle_radians = RhinoMath.UnsetValue;
            AngleUnitSystem parsed_unit_system = AngleUnitSystem.None;

            int rc = UnsafeNativeMethods.ON_Parse_AngleExpression(
                expression, 0, -1,
                settings_in_ptr,
                AngleUnitSystem.Radians,
                ref angle_radians,
                IntPtr.Zero,
                ref parsed_unit_system);

            return(0 < rc);
        }