#include <opennurbs_parse.h>

Public Types

enum  { max_number_str_count = 2000, max_expression_str_count = 2147483645 }
 

Public Member Functions

 ON_ParseSettings ()
 The default constuctor uses the default settings. More...
 
 ON_ParseSettings (const class ON_UnitSystem &context_length_unit_system, ON::AngleUnitSystem context_angle_unit_system, unsigned int context_locale_id)
 Default settings constructor sets the context information. More...
 
 ON_ParseSettings (ON::LengthUnitSystem context_length_unit_system, ON::AngleUnitSystem context_angle_unit_system, unsigned int context_locale_id)
 
ON::AngleUnitSystem ContextAngleUnitSystem () const
 
ON::LengthUnitSystem ContextLengthUnitSystem () const
 
unsigned int ContextLocaleId () const
 
ON::AngleUnitSystem DefaultAngleUnitSystem () const
 Deprecated. Use ContextAngleUnitSystem(). More...
 
bool IsAdditionSymbol (ON__UINT32 c) const
 
bool IsDecimalExponentSymbol (ON__UINT32 c) const
 
bool IsDecimalPoint (ON__UINT32 c) const
 
char IsDigit (ON__UINT32 c) const
 
bool IsDigitSeparator (ON__UINT32 c) const
 
bool IsDivisionSymbol (ON__UINT32 c) const
 
bool IsGreekPi (ON__UINT32 c) const
 
bool IsInteriorWhiteSpace (ON__UINT32 c) const
 
bool IsLeadingWhiteSpace (ON__UINT32 c) const
 
bool IsLeftParenthesisSymbol (ON__UINT32 c) const
 
bool IsMultiplicationSymbol (ON__UINT32 c) const
 
bool IsNumberDash (ON__UINT32 c) const
 
bool IsRationalNumberFractionBar (ON__UINT32 c) const
 
bool IsRightParenthesisSymbol (ON__UINT32 c) const
 
bool IsSubtractionSymbol (ON__UINT32 c) const
 
bool IsTrailingWhiteSpace (ON__UINT32 c) const
 
bool IsUnaryMinus (ON__UINT32 c) const
 
bool IsUnaryPlus (ON__UINT32 c) const
 
ON_ParseSettingsoperator &= (const ON_ParseSettings &other)
 
ON_ParseSettingsoperator|= (const ON_ParseSettings &other)
 
bool ParseAddition () const
 
bool ParseArcDegreesMinutesSeconds () const
 
bool ParseArithmeticExpression () const
 
bool ParseCarriageReturnAsLeadingWhiteSpace () const
 
bool ParseCarriageReturnAsTrailingWhiteSpace () const
 
bool ParseCommaAsDecimalPoint () const
 
bool ParseCommaAsDigitSeparator () const
 
bool ParseDAsExponentInScientificENotation () const
 
bool ParseDivideByZeroError () const
 
bool ParseDivision () const
 
bool ParseError () const
 
bool ParseExplicitFormulaExpression () const
 
bool ParseFeetInches () const
 
bool ParseFormFeedAsLeadingWhiteSpace () const
 
bool ParseFormFeedAsTrailingWhiteSpace () const
 
bool ParseFullStopAsDecimalPoint () const
 
bool ParseFullStopAsDigitSeparator () const
 
bool ParseHorizontalTabAsWhiteSpace () const
 
bool ParseHyphenAsNumberDash () const
 
bool ParseHyphenMinusAsNumberDash () const
 
bool ParseIntegerDashFraction () const
 
bool ParseInvalidExpressionError () const
 
bool ParseLeadingWhiteSpace () const
 
bool ParseLineFeedAsLeadingWhiteSpace () const
 
bool ParseLineFeedAsTrailingWhiteSpace () const
 
bool ParseMathFunctions () const
 
bool ParseMultiplication () const
 
bool ParseNoBreakHyphenAsNumberDash () const
 
bool ParseNoBreakSpaceAsDigitSeparator () const
 
bool ParseNoBreakSpaceAsWhiteSpace () const
 
bool ParseNoBreakThinSpaceAsDigitSeparator () const
 
bool ParseNoBreakThinSpaceAsWhiteSpace () const
 
bool ParseOverflowError () const
 
bool ParsePairedParentheses () const
 
bool ParsePi () const
 
bool ParseRationalNumber () const
 
bool ParseScientificENotation () const
 
bool ParseSignificandDecimalPoint () const
 
bool ParseSignificandDigitSeparators () const
 
bool ParseSignificandFractionalPart () const
 
bool ParseSignificandIntegerPart () const
 
bool ParseSpaceAsDigitSeparator () const
 
bool ParseSpaceAsWhiteSpace () const
 
bool ParseSubtraction () const
 
bool ParseSurveyorsNotation () const
 
bool ParseThinSpaceAsDigitSeparator () const
 
bool ParseThinSpaceAsWhiteSpace () const
 
bool ParseUnaryMinus () const
 
bool ParseUnaryPlus () const
 
bool ParseVerticalTabAsLeadingWhiteSpace () const
 
bool ParseVerticalTabAsTrailingWhiteSpace () const
 
bool ParseWhiteSpaceBetweenFeetAndInches () const
 
bool ParseWhiteSpaceBetweenValueAndUnitSystem () const
 
unsigned int PreferedLocaleId () const
 Deprecated. Use ContextLocaleId(). More...
 
void SetAllExpressionSettingsToFalse ()
 Set every possible expression parsing setting to false. More...
 
void SetAllToFalse ()
 Set every possible setting to false or zero. More...
 
void SetContextAngleUnitSystem (ON::AngleUnitSystem context_angle_unit_system)
 The context angle unit system determines what angle unit system is used when a value must be parsed as an angle and no angle unit system is explicitly or implicitly specified. The default is ON::LengthUnitSystem::Radians. More...
 
void SetContextLengthUnitSystem (ON::LengthUnitSystem context_length_unit_system)
 The context angle unit system determines what length unit system is used when a value must be parsed as a length with units and no length unit system is explicitly or implicitly specified. The default is ON::LengthUnitSystem::None. More...
 
void SetContextLocaleId (unsigned int context_locale_id)
 Set the prefered locale id for parsing unit names. This local id is used to resolve ambiguous unit names. More...
 
void SetDefaultAngleUnitSystem (ON::AngleUnitSystem context_angle_unit_system)
 Deprecated. Use SetContextAngleUnitSystem(). More...
 
void SetParseAddition (bool bParseAddition)
 
void SetParseArcDegreesMinutesSeconds (bool bParseArcDegreesMinutesSeconds)
 
void SetParseArithmeticExpression (bool bParseArithmeticExpression)
 
void SetParseCarriageReturnAsLeadingWhiteSpace (bool bParseCarriageReturnAsLeadingWhiteSpace)
 
void SetParseCarriageReturnAsTrailingWhiteSpace (bool bParseParseCarriageReturnAsTrailingWhiteSpace)
 
void SetParseCommaAsDecimalPoint (bool bParse)
 
void SetParseCommaAsDigitSeparator (bool bParse)
 
void SetParseDAsExponentInScientificENotation (bool bParseDAsExponentInScientificENotation)
 
void SetParseDecimalPoint (bool bParseDecimalPoint)
 
void SetParseDivideByZeroError (bool bParseDivideByZeroError)
 
void SetParseDivision (bool bParseDivision)
 
void SetParseExplicitFormulaExpression (bool bParseExplicitFormulaExpression)
 
void SetParseFeetInches (bool bParseFeetInches)
 
void SetParseFormFeedAsLeadingWhiteSpace (bool bParseFormFeedAsLeadingWhiteSpace)
 
void SetParseFormFeedAsTrailingWhiteSpace (bool bParseParseFormFeedAsTrailingWhiteSpace)
 
void SetParseFullStopAsDecimalPoint (bool bParse)
 
void SetParseFullStopAsDigitSeparator (bool bParse)
 
void SetParseHorizontalTabAsWhiteSpace (bool bParseHorizontalTabAsWhiteSpace)
 
void SetParseHyphenAsNumberDash (bool bParse)
 
void SetParseHyphenMinusAsNumberDash (bool bParse)
 
void SetParseIntegerDashFraction (bool bParseIntegerDashFraction)
 
void SetParseInvalidExpressionError (bool bParseInvalidExpressionError)
 
void SetParseLeadingWhiteSpace (bool bParseLeadingWhiteSpace)
 
void SetParseLineFeedAsLeadingWhiteSpace (bool bParseLineFeedAsLeadingWhiteSpace)
 
void SetParseLineFeedAsTrailingWhiteSpace (bool bParseLineFeedAsTrailingWhiteSpacee)
 
void SetParseMathFunctions (bool bParseMathFunctions)
 
void SetParseMultiplication (bool bParseMultiplication)
 
void SetParseNoBreakHyphenAsNumberDash (bool bParse)
 
void SetParseNoBreakSpaceAsDigitSeparator (bool bParse)
 
void SetParseNoBreakSpaceAsWhiteSpace (bool bParseNoBreakSpaceAsWhiteSpace)
 
void SetParseNoBreakThinSpaceAsDigitSeparator (bool bParse)
 
void SetParseNoBreakThinSpaceAsWhiteSpace (bool bParseNoBreakThinSpaceAsWhiteSpace)
 
void SetParseOverflowError (bool bParseOverflowError)
 
void SetParsePairedParentheses (bool bParsePairedParentheses)
 
void SetParsePi (bool bParsePi)
 
void SetParseRationalNumber (bool bParseRationalNumber)
 
void SetParseScientificENotation (bool bParseScientificENotation)
 
void SetParseSignificandDecimalPoint (bool bParseSignificandDecimalPoint)
 
void SetParseSignificandDigitSeparators (bool bParseSignificandDigitSeparators)
 
void SetParseSignificandFractionalPart (bool bParseSignificandFractionalPart)
 
void SetParseSignificandIntegerPart (bool bParseSignificandIntegerPart)
 
void SetParseSpaceAsDigitSeparator (bool bParse)
 
void SetParseSpaceAsWhiteSpace (bool bParseSpaceAsWhiteSpace)
 
void SetParseSubtraction (bool bParseSubtraction)
 
void SetParseSurveyorsNotation (bool bParseSurveyorsNotation)
 
void SetParseThinSpaceAsDigitSeparator (bool bParse)
 
void SetParseThinSpaceAsWhiteSpace (bool bParseThinSpaceAsWhiteSpace)
 
void SetParseUnaryMinus (bool bParseUnaryMinus)
 
void SetParseUnaryPlus (bool bParseUnaryPlus)
 
void SetParseVerticalTabAsLeadingWhiteSpace (bool bParseVerticalTabAsLeadingWhiteSpace)
 
void SetParseVerticalTabAsTrailingWhiteSpace (bool bParseParseVerticalTabAsTrailingWhiteSpace)
 
void SetParseWhiteSpaceBetweenFeetAndInches (bool bParseWhiteSpaceBetweenFeetAndInches)
 
void SetParseWhiteSpaceBetweenValueAndUnitSystem (bool bParseWhiteSpaceBetweenValueAndUnitSystem)
 
void SetPreferedLocaleId (unsigned int context_locale_id)
 Deprecated. Use SetConextLocaleId(). More...
 

Static Public Member Functions

static const int Compare (const ON_ParseSettings *a, const ON_ParseSettings *b)
 

Static Public Attributes

static const ON_ParseSettings DefaultSettings
 
static const ON_ParseSettings DefaultSettingsInDegrees
 
static const ON_ParseSettings DefaultSettingsInRadians
 
static const ON_ParseSettings DoubleNumberSettings
 The double number settings parse and optional unary + or unary - and then parse a number that can be integer, decimal, or scientific e notation. More...
 
static const ON_ParseSettings FalseSettings
 ON_ParseSetting::FalseSettings has all parsing options set to false. More...
 
static const ON_ParseSettings IntegerNumberSettings
 The integer settings parse and optional unary + or unary - and then parses one or more digits. Parsing stops after the last digit. More...
 
static const ON_ParseSettings RationalNumberSettings
 The rational number settings parse and optional unary + or unary - and then parse one or more digits. If a rational number fraction bar follows the last digit in the numerator, then it is parsed and an integer denominator is parsed. The denominator cannot have a unary + or - preceding the digits. Parsing stops after the last digit in the denominator. More...
 
static const ON_ParseSettings RealNumberSettings
 The real number settings parse and optional unary + or unary - and then parse a number that can be integer, decimal, scientific e notation or pi. More...
 

Member Enumeration Documentation

◆ anonymous enum

anonymous enum
Enumerator
max_number_str_count 

maximum number of wchar_t elements in a number

max_expression_str_count 

maximum number of wchar_t elements in an expression

Constructor & Destructor Documentation

◆ ON_ParseSettings() [1/3]

ON_ParseSettings::ON_ParseSettings ( )

The default constuctor uses the default settings.

◆ ON_ParseSettings() [2/3]

ON_ParseSettings::ON_ParseSettings ( const class ON_UnitSystem context_length_unit_system,
ON::AngleUnitSystem  context_angle_unit_system,
unsigned int  context_locale_id 
)

Default settings constructor sets the context information.

◆ ON_ParseSettings() [3/3]

ON_ParseSettings::ON_ParseSettings ( ON::LengthUnitSystem  context_length_unit_system,
ON::AngleUnitSystem  context_angle_unit_system,
unsigned int  context_locale_id 
)

Member Function Documentation

◆ Compare()

static const int ON_ParseSettings::Compare ( const ON_ParseSettings a,
const ON_ParseSettings b 
)
static

◆ ContextAngleUnitSystem()

ON::AngleUnitSystem ON_ParseSettings::ContextAngleUnitSystem ( ) const
Returns
The default angle unit system that is used when a value must be parsed as an angle and no angle unit system is explicitly or implicitly specified.

◆ ContextLengthUnitSystem()

ON::LengthUnitSystem ON_ParseSettings::ContextLengthUnitSystem ( ) const
Returns
The default angle unit system that is used when a value must be parsed as an angle and no angle unit system is explicitly or implicitly specified.

◆ ContextLocaleId()

unsigned int ON_ParseSettings::ContextLocaleId ( ) const
Returns
The Microsoft locale id that identifies the locale that should be used to resolve ambiguous parsing situtations. The default value is zero, which means ambiguous situations are not parsed.
When parsing angles, the string "Grad" is ambiguous.
In German "Grad" identifies arc degree angle units and in
English "Grad" identifies gradian angle units. If angle parsing
encounters "Grad", it uses the value of ContextLocaleId()
to determine what arc unit system is being identified.

◆ DefaultAngleUnitSystem()

ON::AngleUnitSystem ON_ParseSettings::DefaultAngleUnitSystem ( ) const

Deprecated. Use ContextAngleUnitSystem().

ON_DEPRECTATED

◆ IsAdditionSymbol()

bool ON_ParseSettings::IsAdditionSymbol ( ON__UINT32  c) const
Parameters
c[in]
Returns
True if c should be parsed as an addition operator

◆ IsDecimalExponentSymbol()

bool ON_ParseSettings::IsDecimalExponentSymbol ( ON__UINT32  c) const
Parameters
c[in]
Returns
True if c should be parsed as decimal exponent symbol

◆ IsDecimalPoint()

bool ON_ParseSettings::IsDecimalPoint ( ON__UINT32  c) const
Parameters
c[in]
Returns
True if c should be parsed as a decimal point

◆ IsDigit()

char ON_ParseSettings::IsDigit ( ON__UINT32  c) const
Parameters
c[in]
Returns
Returns '0' throught '9' if c is a digit, otherwise returns 0.

◆ IsDigitSeparator()

bool ON_ParseSettings::IsDigitSeparator ( ON__UINT32  c) const
Parameters
c[in]
Returns
True if c should be parsed as a digit separator

◆ IsDivisionSymbol()

bool ON_ParseSettings::IsDivisionSymbol ( ON__UINT32  c) const
Parameters
c[in]
Returns
True if c should be parsed as a division operator

◆ IsGreekPi()

bool ON_ParseSettings::IsGreekPi ( ON__UINT32  c) const
Parameters
c[in]
Returns
True if c is 0x03A or 0x03C

◆ IsInteriorWhiteSpace()

bool ON_ParseSettings::IsInteriorWhiteSpace ( ON__UINT32  c) const
Parameters
c[in]
Returns
True if c should be parsed as interior white space.

◆ IsLeadingWhiteSpace()

bool ON_ParseSettings::IsLeadingWhiteSpace ( ON__UINT32  c) const
Parameters
c[in]
Returns
True if c should be parsed as leading white space

◆ IsLeftParenthesisSymbol()

bool ON_ParseSettings::IsLeftParenthesisSymbol ( ON__UINT32  c) const
Parameters
c[in]
Returns
True if c should be parsed as a left parenthesis symbol

◆ IsMultiplicationSymbol()

bool ON_ParseSettings::IsMultiplicationSymbol ( ON__UINT32  c) const
Parameters
c[in]
Returns
True if c should be parsed as a multiplication operator

◆ IsNumberDash()

bool ON_ParseSettings::IsNumberDash ( ON__UINT32  c) const
Parameters
c[in]
Returns
True if c should be parsed as number dash when parsing strings like "1-3/4".

◆ IsRationalNumberFractionBar()

bool ON_ParseSettings::IsRationalNumberFractionBar ( ON__UINT32  c) const
Parameters
c[in]
Returns
True if c should be parsed as a rational number fraction bar

◆ IsRightParenthesisSymbol()

bool ON_ParseSettings::IsRightParenthesisSymbol ( ON__UINT32  c) const
Parameters
c[in]
Returns
True if c should be parsed as a right parenthesis symbol

◆ IsSubtractionSymbol()

bool ON_ParseSettings::IsSubtractionSymbol ( ON__UINT32  c) const
Parameters
c[in]
Returns
True if c should be parsed as a subtraction operator

◆ IsTrailingWhiteSpace()

bool ON_ParseSettings::IsTrailingWhiteSpace ( ON__UINT32  c) const
Parameters
c[in]
Returns
True if c should be parsed as trailing white space

◆ IsUnaryMinus()

bool ON_ParseSettings::IsUnaryMinus ( ON__UINT32  c) const
Parameters
c[in]
Returns
True if c should be parsed as unary minus

◆ IsUnaryPlus()

bool ON_ParseSettings::IsUnaryPlus ( ON__UINT32  c) const
Parameters
c[in]
Returns
True if c should be parsed as unary plus

◆ operator &=()

ON_ParseSettings& ON_ParseSettings::operator&= ( const ON_ParseSettings other)

◆ operator|=()

ON_ParseSettings& ON_ParseSettings::operator|= ( const ON_ParseSettings other)

◆ ParseAddition()

bool ON_ParseSettings::ParseAddition ( ) const
Returns
True if addition signs that appear between numbers will be parsed.
  • The default value is true.
  • Parsing functions with the word "Expression" in their name, like ON_ParseNumberExpression, ON_ParseLengthExpression, and ON_ParseAngleExpression, support division parsing.
If this property is true, then strings like 1+2 will be parsed
as 3.

◆ ParseArcDegreesMinutesSeconds()

bool ON_ParseSettings::ParseArcDegreesMinutesSeconds ( ) const
Returns
True if an angle value may be specified as a combination of arc degrees, arc minutes and arc seconds.

The default value is true.

If this property is true, then strings like these
2degrees30minutes
2deg30'
will be parsed as 2.0*60.0 + 30.0 arc minutes
2degrees14minutes15seconds
2deg14'15"
will be parsed as (2*60.0 + 14.0)*60.0 + 15.0 arc seconds.

◆ ParseArithmeticExpression()

bool ON_ParseSettings::ParseArithmeticExpression ( ) const
Returns
True if a aritimetic should be parsed in expressions.
  • The default value is true.
  • Currently multiplication and division are supported.
  • When parsing pi is enabled, strings like "2pi" will return 6.2831853071795865 even when parsing expression arithmetic is disabled.
  • When rational number or integer-dash-fraction parsing is enabled, strings like 3/4 will return 0.75 even when parsing expression arithmetic is disabled.
  • Parsing functions with the word "Expression" in their name, like ON_ParseNumberExpression, ON_ParseLengthExpression, and ON_ParseAngleExpression, support arithmetic parsing.
If parsing expression arithmetic is enabled, then the
string "3/0.25" will return a value of 12.

◆ ParseCarriageReturnAsLeadingWhiteSpace()

bool ON_ParseSettings::ParseCarriageReturnAsLeadingWhiteSpace ( ) const

The default value is true.

◆ ParseCarriageReturnAsTrailingWhiteSpace()

bool ON_ParseSettings::ParseCarriageReturnAsTrailingWhiteSpace ( ) const

The default value is true.

◆ ParseCommaAsDecimalPoint()

bool ON_ParseSettings::ParseCommaAsDecimalPoint ( ) const
Returns
True if a comma should be parsed as a decimal point.
  • The default value is false.
See also
ON_ParseSettings::ParseFullStopAsDecimalPoint(), ON_ParseSettings::ParseFullStopAsDigitSeparator(), ON_ParseSettings::ParseCommaAsDigitSeparator()

◆ ParseCommaAsDigitSeparator()

◆ ParseDAsExponentInScientificENotation()

bool ON_ParseSettings::ParseDAsExponentInScientificENotation ( ) const
Returns
True if a number may use scientific E notation may use 'D' or 'E' to specify mulitiplication by a power of 10.
  • The default value is false.
  • The "D" may be 'd', 'D'.
  • This feature is added to parse values in IGES files and text generated by FORTRAN programs.
If parsing 'D' as 'E' in scientific E notation is enabled,
then the string "2.99792458D8" will be parsed as 2999792458.
See also
ON_ParseSettings::ParseScientificENotation.

◆ ParseDivideByZeroError()

bool ON_ParseSettings::ParseDivideByZeroError ( ) const
Returns
True if parsing and expression resulted in a divide by zero.

◆ ParseDivision()

bool ON_ParseSettings::ParseDivision ( ) const
Returns
True if division signs that appear between numbers will be parsed.
  • The default value is true.
  • Parsing functions with the word "Expression" in their name, like ON_ParseNumberExpression, ON_ParseLengthExpression, and ON_ParseAngleExpression, support division parsing.
If this property is true, then strings like 1/4 will be parsed
as 0.25.

◆ ParseError()

bool ON_ParseSettings::ParseError ( ) const
Returns
True if any of the following are true. ParseInvalidExpressionError() ParseDivideByZeroError() ParseOverflowError()

◆ ParseExplicitFormulaExpression()

bool ON_ParseSettings::ParseExplicitFormulaExpression ( ) const
Returns
True if a formulae contained bracketed on the left by =( and on the right by ) should be parsed in expressions.
  • The default value is true.
  • A formula is delimited at the start by =( and terminated by a matching ).
  • Parsing functions with the word "Expression" in their name, like ON_ParseNumberExpression, ON_ParseLengthExpression, and ON_ParseAngleExpression, support formula parsing.
If parsing expression formulae is enabled, then the string
"=((1+sqrt(5))/2)" will return a value of 1.6180339887498948.

◆ ParseFeetInches()

bool ON_ParseSettings::ParseFeetInches ( ) const
Returns
True if a length value may be specified as combination of US customary feet and inch lengths.

The default value is true.

If this property is true, then strings like these
1'-4-3/8"
1ft-3-3/8in
1'4.375"
1.0feet4.375inches
will be parsed as 16.375 inches.

◆ ParseFormFeedAsLeadingWhiteSpace()

bool ON_ParseSettings::ParseFormFeedAsLeadingWhiteSpace ( ) const

The default value is true.

◆ ParseFormFeedAsTrailingWhiteSpace()

bool ON_ParseSettings::ParseFormFeedAsTrailingWhiteSpace ( ) const

The default value is true.

◆ ParseFullStopAsDecimalPoint()

bool ON_ParseSettings::ParseFullStopAsDecimalPoint ( ) const
Returns
True if a full stop (period) should be parsed as a decimal point.
  • The default value is true.
See also
ON_ParseSettings::ParseCommaAsDecimalPoint(), ON_ParseSettings::ParseFullStopAsDigitSeparator(), ON_ParseSettings::ParseCommaAsDigitSeparator()

◆ ParseFullStopAsDigitSeparator()

◆ ParseHorizontalTabAsWhiteSpace()

bool ON_ParseSettings::ParseHorizontalTabAsWhiteSpace ( ) const

The default value is true.

◆ ParseHyphenAsNumberDash()

bool ON_ParseSettings::ParseHyphenAsNumberDash ( ) const
Returns
True if a unicode hyphen (code point 0x2010) should be parsed as a number dash during integer-dash-fraction parsing.
  • The default value is false.
  • For robust parsing, use the unicode figure dash (code point 0x2012) to specify a number dash.
See also
ON_ParseSettings::ParseIntegerDashFraction(), ON_ParseSettings::ParseHyphenMinusAsNumberDash(), ON_ParseSettings::ParseHyphenAsNumberDash(), ON_ParseSettings::ParseNoBreakHyphenAsNumberDash()

◆ ParseHyphenMinusAsNumberDash()

bool ON_ParseSettings::ParseHyphenMinusAsNumberDash ( ) const
Returns
True if a unicode hyphen-minus (code point 0x002D) should be parsed as a number dash during integer-dash-fraction parsing.
  • The default value is true. This is because the hyphen-minus character is the easiest to type.
  • For robust parsing, use the unicode figure dash (code point 0x2012) to specify a number dash.
See also
ON_ParseSettings::ParseIntegerDashFraction(), ON_ParseSettings::ParseHyphenMinusAsNumberDash(), ON_ParseSettings::ParseHyphenAsNumberDash(), ON_ParseSettings::ParseNoBreakHyphenAsNumberDash()

◆ ParseIntegerDashFraction()

bool ON_ParseSettings::ParseIntegerDashFraction ( ) const
Returns
True if a number may be specified as an integer followed by a dash and a fraction.
  • The default value is true.
  • The numerator must be an integer > 0.
  • The denominator must be greater than the numerator.
  • ON_ParseSettings::IsNumberDash() controls what characters are interpreted as number dashes.
If this property is true, then the string "4-3/8" will return
a value of 4.375.
See also
ON_ParseSettings::ParseRationalNumber()

◆ ParseInvalidExpressionError()

bool ON_ParseSettings::ParseInvalidExpressionError ( ) const
Returns
True if parsing and expression failed because the expression did not make sense.

◆ ParseLeadingWhiteSpace()

bool ON_ParseSettings::ParseLeadingWhiteSpace ( ) const
Returns
True if leading white space should be parsed.

The default value is true.

◆ ParseLineFeedAsLeadingWhiteSpace()

bool ON_ParseSettings::ParseLineFeedAsLeadingWhiteSpace ( ) const

The default value is true.

◆ ParseLineFeedAsTrailingWhiteSpace()

bool ON_ParseSettings::ParseLineFeedAsTrailingWhiteSpace ( ) const

The default value is true.

◆ ParseMathFunctions()

bool ON_ParseSettings::ParseMathFunctions ( ) const
Returns
True if the math functions sin, cos, tan asin, acos, atan, atan2, sinh, cosh, tanh, ln, exp, log10, pow, should be parsed in expressions.
  • The default value is true.
  • In functions that take 2 or more parameter values, a comma is used to separate parameter values.
  • Parentheses are used to delimit math function parameters; for example sin(pi/4).
  • The angle parameters to trigonometry functions may have angle units specified. For example, sin(30degrees). If no angle unit is specified, the nubmer is assumed to be in radians.

◆ ParseMultiplication()

bool ON_ParseSettings::ParseMultiplication ( ) const
Returns
True if muliplication signs that appear between numbers will be parsed.
  • The default value is true.
  • Parsing functions with the word "Expression" in their name, like ON_ParseNumberExpression, ON_ParseLengthExpression, and ON_ParseAngleExpression, support mulitplication parsing.
If this property is true, then strings like 2*3 will be parsed
as 6.0

◆ ParseNoBreakHyphenAsNumberDash()

bool ON_ParseSettings::ParseNoBreakHyphenAsNumberDash ( ) const
Returns
True if a unicode non-breaking hyphen (code point 0x2011) should be parsed as a number dash during integer-dash-fraction parsing.
  • The default value is false.
  • For robust parsing, use the unicode figure dash (code point 0x2012) to specify a number dash.
See also
ON_ParseSettings::ParseIntegerDashFraction(), ON_ParseSettings::ParseHyphenMinusAsNumberDash(), ON_ParseSettings::ParseHyphenAsNumberDash(), ON_ParseSettings::ParseNoBreakHyphenAsNumberDash()

◆ ParseNoBreakSpaceAsDigitSeparator()

◆ ParseNoBreakSpaceAsWhiteSpace()

bool ON_ParseSettings::ParseNoBreakSpaceAsWhiteSpace ( ) const

The default value is true.

◆ ParseNoBreakThinSpaceAsDigitSeparator()

◆ ParseNoBreakThinSpaceAsWhiteSpace()

bool ON_ParseSettings::ParseNoBreakThinSpaceAsWhiteSpace ( ) const

The default value is true.

◆ ParseOverflowError()

bool ON_ParseSettings::ParseOverflowError ( ) const
Returns
True if parsing and expression created a number that a double cannot represent.

◆ ParsePairedParentheses()

bool ON_ParseSettings::ParsePairedParentheses ( ) const
Returns
True if paired arentheses symbols that are encountered during number parsing will be parsed.
  • The default value is true.
  • Parsing functions with the word "Expression" in their name, like ON_ParseNumberExpression, ON_ParseLengthExpression, and ON_ParseAngleExpression, support division parsing.
If this property is true, then strings like 2(3+4) will be parsed
as 14.

◆ ParsePi()

bool ON_ParseSettings::ParsePi ( ) const
Returns
True if the value of pi may be specified as "pi", "PI", "Pi", "pI", unicode Greek capital letter pi (code point 0x03A0), or unicode Greek small letter pi (code point 0x03C0).

The default value is true.

If this property is true, then strings "pi", "PI", "Pi", "pI",
L"\x03A0" (unicode greek capital letter pi) and
L"\x03C0" (unicode greek small letter pi)
will be parsed as if they were "3.141592653589793238462643".
In addition, if the pi strings appear next to something that
is parsed as a number, the result will be mulitplied by pi.
For example,
"3pi" and pi3.0 will return 3.0*ON_PI.
If division parsing is enabled, then "3pi/4" and 3/4pi" will
return 0.75*ON_PI.

◆ ParseRationalNumber()

bool ON_ParseSettings::ParseRationalNumber ( ) const
Returns
True if rational numbers should be parsed.
  • The default value is true.
  • The numerator and denominator must be integers.
  • Strings like "1.0/3.0", "3.5/2" or "pi/2" are not parsed as rational numbers. Use ON_ParseSettings::ParseDivision to constrol parsing of these types of strings.
If this property is true, then strings "3/4" and "8/5"
will be parsed. The numerator and denominator must
parse as integers. If you: decimal points and scientific notation
cannot appear

◆ ParseScientificENotation()

bool ON_ParseSettings::ParseScientificENotation ( ) const
Returns
True if a number may use scientific E notation to specify mulitiplication by a power of 10.
  • The default value is true.
  • The "E" may be 'e', 'E', unicode decimal exponent symbol (code point 0x23E8).
If parsing scientific E notation is enables, then the string
"2.99792458e8" will be parsed as 2999792458.
See also
ON_ParseSettings::ParseScientificDNotation.

◆ ParseSignificandDecimalPoint()

bool ON_ParseSettings::ParseSignificandDecimalPoint ( ) const
Returns
True if the decimal points should be parsed in a decimal number or scientific E notation number.

The default is true.

◆ ParseSignificandDigitSeparators()

bool ON_ParseSettings::ParseSignificandDigitSeparators ( ) const
Returns
True if digit separators should be parsed in a decimal number or scientific E notation number.

The default value is true.

◆ ParseSignificandFractionalPart()

bool ON_ParseSettings::ParseSignificandFractionalPart ( ) const
Returns
True if digits after a decimal point should be parsed in a decimal number or scientific E notation number.

The default is true.

◆ ParseSignificandIntegerPart()

bool ON_ParseSettings::ParseSignificandIntegerPart ( ) const
Returns
True if digits before a decimal point should be parsed in a decimal number or scientific E notation number.

The default value is true.

◆ ParseSpaceAsDigitSeparator()

◆ ParseSpaceAsWhiteSpace()

bool ON_ParseSettings::ParseSpaceAsWhiteSpace ( ) const

The default value is true.

◆ ParseSubtraction()

bool ON_ParseSettings::ParseSubtraction ( ) const
Returns
True if subtraction signs that appear between numbers will be parsed.
  • The default value is true.
  • Parsing functions with the word "Expression" in their name, like ON_ParseNumberExpression, ON_ParseLengthExpression, and ON_ParseAngleExpression, support division parsing.
If this property is true, then strings like 2-1 will be parsed
as 1.

◆ ParseSurveyorsNotation()

bool ON_ParseSettings::ParseSurveyorsNotation ( ) const
Returns
True if an angle values may be specified using surveyor's notation.

The first character must be N, n, S or s. The angle must be a spcified as a combination of arc degrees, arc minutes and arc seconds. The last character must be E, e, W or w.

If this property is true, then strings like these
N30W
S12<degree symbol>15'22"W
N45.7899E
S47'E
will be parsed as angles.

◆ ParseThinSpaceAsDigitSeparator()

◆ ParseThinSpaceAsWhiteSpace()

bool ON_ParseSettings::ParseThinSpaceAsWhiteSpace ( ) const

The default value is true.

◆ ParseUnaryMinus()

bool ON_ParseSettings::ParseUnaryMinus ( ) const
Returns
True if a number may begin with a unary minus.

The default value is true.

◆ ParseUnaryPlus()

bool ON_ParseSettings::ParseUnaryPlus ( ) const
Returns
True if a number may begin with a unary plus.

The default value is true.

◆ ParseVerticalTabAsLeadingWhiteSpace()

bool ON_ParseSettings::ParseVerticalTabAsLeadingWhiteSpace ( ) const

The default value is true.

◆ ParseVerticalTabAsTrailingWhiteSpace()

bool ON_ParseSettings::ParseVerticalTabAsTrailingWhiteSpace ( ) const

The default value is true.

◆ ParseWhiteSpaceBetweenFeetAndInches()

bool ON_ParseSettings::ParseWhiteSpaceBetweenFeetAndInches ( ) const
Returns
True if whitespace between a length in feet and a length in inches will is permitted.

The default value is true.

If this property is true, then strings like these
1'3"
1' 3"
1ft3in
1ft 3in
will be parsed as 15 inches

◆ ParseWhiteSpaceBetweenValueAndUnitSystem()

bool ON_ParseSettings::ParseWhiteSpaceBetweenValueAndUnitSystem ( ) const
Returns
True if whitespace between a value and unit system will is permitted.

The default value is true.

If this property is true, then strings like these
2 meters
2meters
2 m
2m
will be parsed as 2 meters

◆ PreferedLocaleId()

unsigned int ON_ParseSettings::PreferedLocaleId ( ) const

Deprecated. Use ContextLocaleId().

ON_DEPRECTATED

◆ SetAllExpressionSettingsToFalse()

void ON_ParseSettings::SetAllExpressionSettingsToFalse ( )

Set every possible expression parsing setting to false.

This is a simple way to disable all possible parsing of expressions. This function calls this->SetParseExplicitFormulaExpression(false); this->SetParseArithmeticExpression(false); this->SetParseMultiplication(false); this->SetParseDivision(false); this->SetParseAddition(false); this->SetParseSubtraction(false); this->SetParseMathFunctions(false); this->SetParseMathFunctions(false); this->SetParsePairedParentheses(false);

◆ SetAllToFalse()

void ON_ParseSettings::SetAllToFalse ( )

Set every possible setting to false or zero.

◆ SetContextAngleUnitSystem()

void ON_ParseSettings::SetContextAngleUnitSystem ( ON::AngleUnitSystem  context_angle_unit_system)

The context angle unit system determines what angle unit system is used when a value must be parsed as an angle and no angle unit system is explicitly or implicitly specified. The default is ON::LengthUnitSystem::Radians.

Parameters
default_angle_unit_system[in] ON::AngleUnitSystem::None and ON::AngleUnitSystem::Unset select ON::LengthUnitSystem::Radians.

◆ SetContextLengthUnitSystem()

void ON_ParseSettings::SetContextLengthUnitSystem ( ON::LengthUnitSystem  context_length_unit_system)

The context angle unit system determines what length unit system is used when a value must be parsed as a length with units and no length unit system is explicitly or implicitly specified. The default is ON::LengthUnitSystem::None.

Parameters
context_length_unit_system[in] ON::LengthUnitSystem::Custom and ON::LengthUnitSystem::Unset select ON::LengthUnitSystem::None.

◆ SetContextLocaleId()

void ON_ParseSettings::SetContextLocaleId ( unsigned int  context_locale_id)

Set the prefered locale id for parsing unit names. This local id is used to resolve ambiguous unit names.

Parameters
prefered_locale_id[in] The Microsoft locale id that identifies the locale that should be used to resolve ambiguous parsing situtations. The default value is zero, which means ambiguous situations are not parsed.
When parsing angles, the string "Grad" is ambiguous.
In German "Grad" identifies arc degree angle units and in
English "Grad" identifies gradian angle units. If angle parsing
encounters "Grad" and the prefered locale id is 1031 (de-de),
then parsing reports the angle value as arc degree units.
If angle parsing encounters "Grad" and the prefered locale id
is 1033 (en-us), then parsing reports the angle values as
gradian units.

◆ SetDefaultAngleUnitSystem()

void ON_ParseSettings::SetDefaultAngleUnitSystem ( ON::AngleUnitSystem  context_angle_unit_system)

Deprecated. Use SetContextAngleUnitSystem().

ON_DEPRECTATED

◆ SetParseAddition()

void ON_ParseSettings::SetParseAddition ( bool  bParseAddition)
Parameters
bParseDivision[in] True if addition should be permitted in number parsing.

See ON_ParseSettings::ParseAddition() for details about this property.

◆ SetParseArcDegreesMinutesSeconds()

void ON_ParseSettings::SetParseArcDegreesMinutesSeconds ( bool  bParseArcDegreesMinutesSeconds)
Parameters
bParseArcDegreesMinutesSeconds[in] True if angle value parsing should parse strings like 2deg17'15" and return a length value of ((2.0*60.0 + 17..0)*60.0 + 15.0) arc seconds

See ON_ParseSettings::ParseArcDegreesMinutesSeconds() for details about this property.

◆ SetParseArithmeticExpression()

void ON_ParseSettings::SetParseArithmeticExpression ( bool  bParseArithmeticExpression)
Parameters
bParseArithmeticExpression[in] True if formulae should be parsed.

See ON_ParseSettings::ParseArithmeticExpression() for details about this property.

◆ SetParseCarriageReturnAsLeadingWhiteSpace()

void ON_ParseSettings::SetParseCarriageReturnAsLeadingWhiteSpace ( bool  bParseCarriageReturnAsLeadingWhiteSpace)

The default value is true.

◆ SetParseCarriageReturnAsTrailingWhiteSpace()

void ON_ParseSettings::SetParseCarriageReturnAsTrailingWhiteSpace ( bool  bParseParseCarriageReturnAsTrailingWhiteSpace)

The default value is true.

◆ SetParseCommaAsDecimalPoint()

void ON_ParseSettings::SetParseCommaAsDecimalPoint ( bool  bParse)

◆ SetParseCommaAsDigitSeparator()

void ON_ParseSettings::SetParseCommaAsDigitSeparator ( bool  bParse)

◆ SetParseDAsExponentInScientificENotation()

void ON_ParseSettings::SetParseDAsExponentInScientificENotation ( bool  bParseDAsExponentInScientificENotation)
Parameters
bParseDAsExponentInScientificENotation[in] True if both 'D' and 'E' can mark the beginning of the exponent in scientific E notation.

See ON_ParseSettings::ParseDAsExponentInScientificENotation() for details about this property.

◆ SetParseDecimalPoint()

void ON_ParseSettings::SetParseDecimalPoint ( bool  bParseDecimalPoint)
Parameters
bDecimalPoint[in] True if a decimal point should be parsed.

See ON_ParseSettings::ParseDecimalPoint() for details about this property.

◆ SetParseDivideByZeroError()

void ON_ParseSettings::SetParseDivideByZeroError ( bool  bParseDivideByZeroError)

◆ SetParseDivision()

void ON_ParseSettings::SetParseDivision ( bool  bParseDivision)
Parameters
bParseDivision[in] True if division should be permitted in number parsing.

See ON_ParseSettings::ParseDivision() for details about this property.

◆ SetParseExplicitFormulaExpression()

void ON_ParseSettings::SetParseExplicitFormulaExpression ( bool  bParseExplicitFormulaExpression)
Parameters
bParseExplicitFormulaExpression[in] True if explicity formulae should be parsed.

See ON_ParseSettings::ParseExplicitFormulaExpression() for details about this property.

◆ SetParseFeetInches()

void ON_ParseSettings::SetParseFeetInches ( bool  bParseFeetInches)
Parameters
bParseFeetInches[in] True if length value parsing should parse strings like 1'4-3/8" and return a length value of 16.375 inches.

See ON_ParseSettings::ParseFeetInches() for details about this property.

◆ SetParseFormFeedAsLeadingWhiteSpace()

void ON_ParseSettings::SetParseFormFeedAsLeadingWhiteSpace ( bool  bParseFormFeedAsLeadingWhiteSpace)

The default value is true.

◆ SetParseFormFeedAsTrailingWhiteSpace()

void ON_ParseSettings::SetParseFormFeedAsTrailingWhiteSpace ( bool  bParseParseFormFeedAsTrailingWhiteSpace)

The default value is true.

◆ SetParseFullStopAsDecimalPoint()

void ON_ParseSettings::SetParseFullStopAsDecimalPoint ( bool  bParse)

◆ SetParseFullStopAsDigitSeparator()

void ON_ParseSettings::SetParseFullStopAsDigitSeparator ( bool  bParse)

◆ SetParseHorizontalTabAsWhiteSpace()

void ON_ParseSettings::SetParseHorizontalTabAsWhiteSpace ( bool  bParseHorizontalTabAsWhiteSpace)

The default value is true.

◆ SetParseHyphenAsNumberDash()

void ON_ParseSettings::SetParseHyphenAsNumberDash ( bool  bParse)

◆ SetParseHyphenMinusAsNumberDash()

void ON_ParseSettings::SetParseHyphenMinusAsNumberDash ( bool  bParse)

◆ SetParseIntegerDashFraction()

void ON_ParseSettings::SetParseIntegerDashFraction ( bool  bParseIntegerDashFraction)
Parameters
bParseIntegerDashFraction[in] True if strings like "5-3/8" should be parsed as a single number

See ON_ParseSettings::ParseIntegerDashFraction() for details about this property.

◆ SetParseInvalidExpressionError()

void ON_ParseSettings::SetParseInvalidExpressionError ( bool  bParseInvalidExpressionError)

◆ SetParseLeadingWhiteSpace()

void ON_ParseSettings::SetParseLeadingWhiteSpace ( bool  bParseLeadingWhiteSpace)
Parameters
bParseLeadingWhiteSpace[in] True if leading white space should be parsed.

See ON_ParseSettings::ParseLeadingWhiteSpace() for details about this property.

◆ SetParseLineFeedAsLeadingWhiteSpace()

void ON_ParseSettings::SetParseLineFeedAsLeadingWhiteSpace ( bool  bParseLineFeedAsLeadingWhiteSpace)

The default value is true.

◆ SetParseLineFeedAsTrailingWhiteSpace()

void ON_ParseSettings::SetParseLineFeedAsTrailingWhiteSpace ( bool  bParseLineFeedAsTrailingWhiteSpacee)

The default value is true.

◆ SetParseMathFunctions()

void ON_ParseSettings::SetParseMathFunctions ( bool  bParseMathFunctions)
Parameters
bParseMathFunctions[in] True if math functions should be parsed in expressions.

See ON_ParseSettings::ParseMathFunctions() for details about this property.

◆ SetParseMultiplication()

void ON_ParseSettings::SetParseMultiplication ( bool  bParseMultiplication)
Parameters
bParseMultiplication[in] True if muiltiplication should be permitted in number parsing.

See ON_ParseSettings::ParseMultiplication() for details about this property.

◆ SetParseNoBreakHyphenAsNumberDash()

void ON_ParseSettings::SetParseNoBreakHyphenAsNumberDash ( bool  bParse)

◆ SetParseNoBreakSpaceAsDigitSeparator()

void ON_ParseSettings::SetParseNoBreakSpaceAsDigitSeparator ( bool  bParse)

◆ SetParseNoBreakSpaceAsWhiteSpace()

void ON_ParseSettings::SetParseNoBreakSpaceAsWhiteSpace ( bool  bParseNoBreakSpaceAsWhiteSpace)

The default value is true.

◆ SetParseNoBreakThinSpaceAsDigitSeparator()

void ON_ParseSettings::SetParseNoBreakThinSpaceAsDigitSeparator ( bool  bParse)

◆ SetParseNoBreakThinSpaceAsWhiteSpace()

void ON_ParseSettings::SetParseNoBreakThinSpaceAsWhiteSpace ( bool  bParseNoBreakThinSpaceAsWhiteSpace)

The default value is true.

◆ SetParseOverflowError()

void ON_ParseSettings::SetParseOverflowError ( bool  bParseOverflowError)

◆ SetParsePairedParentheses()

void ON_ParseSettings::SetParsePairedParentheses ( bool  bParsePairedParentheses)
Parameters
bParseDivision[in] True if paired parentheses should be permitted in number parsing.

See ON_ParseSettings::PairedParentheses() for details about this property.

◆ SetParsePi()

void ON_ParseSettings::SetParsePi ( bool  bParsePi)
Parameters
bParsePi[in] True if number parsing should treat "PI", "Pi" "pi", and unicode code points 0x03A0 and 0x03C0 as 3.141592653589793238462643.

See ON_ParseSettings::ParsePi() for details about this property.

◆ SetParseRationalNumber()

void ON_ParseSettings::SetParseRationalNumber ( bool  bParseRationalNumber)
Parameters
bParseRationalNumber[in] True if rational numbers like 3/4 and 8/5 should be parsed.

See ON_ParseSettings::ParseRationalNumber() for details about this property.

◆ SetParseScientificENotation()

void ON_ParseSettings::SetParseScientificENotation ( bool  bParseScientificENotation)
Parameters
bParseScientificENotation[in] True if scientific E notation should be parsed.

See ON_ParseSettings::ParseScientificENotation() for details about this property.

◆ SetParseSignificandDecimalPoint()

void ON_ParseSettings::SetParseSignificandDecimalPoint ( bool  bParseSignificandDecimalPoint)
Parameters
bParseSignificandDecimalPoint[in] True if a decimal point in a decimal point in a decimal number or the significand of a scientific E notation number should be parsed.

See ON_ParseSettings::ParseSignificandDecimalPoint() for details about this property.

◆ SetParseSignificandDigitSeparators()

void ON_ParseSettings::SetParseSignificandDigitSeparators ( bool  bParseSignificandDigitSeparators)
Parameters
bParseSignificandDigitSeparators[in] True if digit separators in a decimal number or a significand of a scientific E notation number should be parsed.

See ON_ParseSettings::ParseSignificandDigitSeparators() for details about this property.

◆ SetParseSignificandFractionalPart()

void ON_ParseSettings::SetParseSignificandFractionalPart ( bool  bParseSignificandFractionalPart)
Parameters
bParseSignificandFractionalPart[in] True if digits after the decimal point in a decimal number or the significand of a scientific E notation number should be parsed.

See ON_ParseSettings::ParseSignificandFractionalPart() for details about this property.

◆ SetParseSignificandIntegerPart()

void ON_ParseSettings::SetParseSignificandIntegerPart ( bool  bParseSignificandIntegerPart)
Parameters
bParseSignificandIntegerPart[in] True if digits before a decimal point in a decimal number or the significand of a scientific E notation number should be parsed.

See ON_ParseSettings::ParseSignificandIntegerPart() for details about this property.

◆ SetParseSpaceAsDigitSeparator()

void ON_ParseSettings::SetParseSpaceAsDigitSeparator ( bool  bParse)

◆ SetParseSpaceAsWhiteSpace()

void ON_ParseSettings::SetParseSpaceAsWhiteSpace ( bool  bParseSpaceAsWhiteSpace)

The default value is true.

◆ SetParseSubtraction()

void ON_ParseSettings::SetParseSubtraction ( bool  bParseSubtraction)
Parameters
bParseDivision[in] True if subtraction should be permitted in number parsing.

See ON_ParseSettings::ParseSubtraction() for details about this property.

◆ SetParseSurveyorsNotation()

void ON_ParseSettings::SetParseSurveyorsNotation ( bool  bParseSurveyorsNotation)
Parameters
bParseSurveyorsNotation[in] True if angle value parsing should parse surveyor's notation like N30W.

See ON_ParseSettings::ParseSurveyorsNotation() for details about this property.

◆ SetParseThinSpaceAsDigitSeparator()

void ON_ParseSettings::SetParseThinSpaceAsDigitSeparator ( bool  bParse)

◆ SetParseThinSpaceAsWhiteSpace()

void ON_ParseSettings::SetParseThinSpaceAsWhiteSpace ( bool  bParseThinSpaceAsWhiteSpace)

The default value is true.

◆ SetParseUnaryMinus()

void ON_ParseSettings::SetParseUnaryMinus ( bool  bParseUnaryMinus)
Parameters
bParseUnaryMinus[in] True if unary minus should be parsed.

See ON_ParseSettings::ParseUnaryMinus() for details about this property.

◆ SetParseUnaryPlus()

void ON_ParseSettings::SetParseUnaryPlus ( bool  bParseUnaryPlus)
Parameters
bParseUnaryPlus[in] True if unary plus should be parsed.

See ON_ParseSettings::ParseUnaryPlus() for details about this property.

◆ SetParseVerticalTabAsLeadingWhiteSpace()

void ON_ParseSettings::SetParseVerticalTabAsLeadingWhiteSpace ( bool  bParseVerticalTabAsLeadingWhiteSpace)

The default value is true.

◆ SetParseVerticalTabAsTrailingWhiteSpace()

void ON_ParseSettings::SetParseVerticalTabAsTrailingWhiteSpace ( bool  bParseParseVerticalTabAsTrailingWhiteSpace)

The default value is true.

◆ SetParseWhiteSpaceBetweenFeetAndInches()

void ON_ParseSettings::SetParseWhiteSpaceBetweenFeetAndInches ( bool  bParseWhiteSpaceBetweenFeetAndInches)
Parameters
bParseWhiteSpaceBetweenFeetAndInches[in] True if strings like these 1' 3" 1ft 3in will be parsed as 15 inches

See ON_ParseSettings::ParseWhiteSpaceBetweenFeetAndInches() for details about this property.

◆ SetParseWhiteSpaceBetweenValueAndUnitSystem()

void ON_ParseSettings::SetParseWhiteSpaceBetweenValueAndUnitSystem ( bool  bParseWhiteSpaceBetweenValueAndUnitSystem)
Parameters
bParseWhiteSpaceBetweenValueAndUnitSystem[in] True if then strings like these 2 meters 2meters 2 m 2m should be parsed as 2 meters.

See ON_ParseSettings::ParseWhiteSpaceBetweenValueAndUnitSystem() for details about this property.

◆ SetPreferedLocaleId()

void ON_ParseSettings::SetPreferedLocaleId ( unsigned int  context_locale_id)

Deprecated. Use SetConextLocaleId().

ON_DEPRECTATED

Member Data Documentation

◆ DefaultSettings

const ON_ParseSettings ON_ParseSettings::DefaultSettings
static

  • The default settings parse just about everything in a reasonable way.
  • Any angle values with unspecified units will be treated as radians. Angles without units can be encountered while parsing formulas, lengths and points and need to be thoughtfully considered in most parsing situations.

◆ DefaultSettingsInDegrees

const ON_ParseSettings ON_ParseSettings::DefaultSettingsInDegrees
static

  • The default settings parse just about everything in a reasonable way.
  • Any angle values with unspecified units will be treated as degrees. Angles without units can be encountered while parsing formulas, lengths and points and need to be thoughtfully considered in most parsing situations.

◆ DefaultSettingsInRadians

const ON_ParseSettings ON_ParseSettings::DefaultSettingsInRadians
static

  • The default settings parse just about everything in a reasonable way.
  • Any angle values with unspecified units will be treated as radians. Angles without units can be encountered while parsing formulas, lengths and points and need to be thoughtfully considered in most parsing situations.

◆ DoubleNumberSettings

const ON_ParseSettings ON_ParseSettings::DoubleNumberSettings
static

The double number settings parse and optional unary + or unary - and then parse a number that can be integer, decimal, or scientific e notation.

◆ FalseSettings

const ON_ParseSettings ON_ParseSettings::FalseSettings
static

ON_ParseSetting::FalseSettings has all parsing options set to false.

A common use of ON_ParseSettings FalseSettings is to intialize ON_ParseSettings classes that are used to report what happened during parsing. Any parsing results value set to true after parsing indicates that type of parsing occured.

◆ IntegerNumberSettings

const ON_ParseSettings ON_ParseSettings::IntegerNumberSettings
static

The integer settings parse and optional unary + or unary - and then parses one or more digits. Parsing stops after the last digit.

◆ RationalNumberSettings

const ON_ParseSettings ON_ParseSettings::RationalNumberSettings
static

The rational number settings parse and optional unary + or unary - and then parse one or more digits. If a rational number fraction bar follows the last digit in the numerator, then it is parsed and an integer denominator is parsed. The denominator cannot have a unary + or - preceding the digits. Parsing stops after the last digit in the denominator.

◆ RealNumberSettings

const ON_ParseSettings ON_ParseSettings::RealNumberSettings
static

The real number settings parse and optional unary + or unary - and then parse a number that can be integer, decimal, scientific e notation or pi.