Click or drag to resize

RhinoMath Class

Provides constants and static methods that are additional to Math.
Inheritance Hierarchy
SystemObject
  RhinoRhinoMath

Namespace:  Rhino
Assembly:  RhinoCommon (in RhinoCommon.dll)
Syntax
public static class RhinoMath

The RhinoMath type exposes the following members.

Methods
  NameDescription
Public methodStatic memberClamp(Double, Double, Double)
Limits a Double to be specified within an interval of two numbers, by specifying a fixed minimum and maximum.
Public methodStatic memberClamp(Int32, Int32, Int32)
Restricts a Int32 to be specified within an interval of two integers.
Public methodStatic memberCRC32(UInt32, Byte)
Advances the cyclic redundancy check value remainder given a byte array. http://en.wikipedia.org/wiki/Cyclic_redundancy_check.
Public methodStatic memberCode exampleCRC32(UInt32, Double)
Advances the cyclic redundancy check value remainder given a Double. http://en.wikipedia.org/wiki/Cyclic_redundancy_check.
Public methodStatic memberCRC32(UInt32, Int32)
Advances the cyclic redundancy check value remainder given a Int32. http://en.wikipedia.org/wiki/Cyclic_redundancy_check.
Public methodStatic memberEpsilonEquals(Double, Double, Double)
Compare two doubles for equality within some "epsilon" range
Public methodStatic memberEpsilonEquals(Single, Single, Single)
Compare to floats for equality within some "epsilon" range
Public methodStatic memberEvaluateNormal
Expert tool to evaluate surface unit normal.
Public methodStatic memberEvaluateNormalPartials
Expert tool to evaluate partial derivatives of surface unit normal.
Public methodStatic memberIntIndexToString
Portrays an Int32 index in text.
Public methodStatic memberIsValidDouble
Determines whether a Double value is valid within the RhinoCommon context.

Rhino does not use Double.NaN by convention, so this test evaluates to true if:

x is not equal to RhinoMath.UnsetValue

System.Double.IsNaN(x) evaluates to false

System.Double.IsInfinity(x) evaluates to false

Public methodStatic memberIsValidSingle
Determines whether a Single value is valid within the RhinoCommon context.

Rhino does not use Single.NaN by convention, so this test evaluates to true if:

x is not equal to RhinoMath.UnsetValue,

System.Single.IsNaN(x) evaluates to false

System.Single.IsInfinity(x) evaluates to false

Public methodStatic memberMetersPerUnit
Return number of meters per one unit of a given unit system
Public methodStatic memberParseNumber
Evaluates command line math expression.
Public methodStatic memberToDegrees
Convert an angle from radians to degrees.
Public methodStatic memberToRadians
Convert an angle from degrees to radians.
Public methodStatic memberTryParseNumber
Evaluates command line math expression.
Public methodStatic memberUnitScale(UnitSystem, UnitSystem)
Computes the scale factor for changing the measurements unit systems.
Public methodStatic memberUnitScale(UnitSystem, Double, UnitSystem, Double)
Computes the scale factor for changing the measurements unit systems.
Public methodStatic memberWrap
Limits a Double to be specified within an interval of two numbers by repeating the available interval cyclically.
Top
Fields
  NameDescription
Public fieldStatic memberDefaultAngleTolerance
Represents the default angle tolerance, used when no other values are provided.

This is one degree, expressed in radians.

Public fieldStatic memberDefaultDistanceToleranceMillimeters
Get Rhino's default distance tolerance in millimeters.
Public fieldStatic memberEpsilon
Gets the value of DBL_EPSILON, which is the smallest positive floating point number x such that 1 + x != 1. This is different than Double.Epsilon which is the smallest positive Double value that is greater than zero.
Public fieldStatic memberHalfPI
Quarter of a rotation. 90 degrees. 1.57...
Public fieldStatic memberQuarterPI
One eigth of a rotation. 45 degrees. 0.78...
Public fieldStatic memberSqrtEpsilon
Represents a default value that is used when comparing square roots.

This value is several orders of magnitude larger than ZeroTolerance.

Public fieldStatic memberTau
Ratio of circumference divided by radius. Full rotation. 360 degrees. 6.28...
Public fieldStatic memberTwoPI
Full rotation. 360 degrees. 6.28...
Public fieldStatic memberUnsetIntIndex
When signed int values are used in a context where 0 and small negative values are valid indices and there needs to be a value that indicates the index is not set.
Public fieldStatic memberUnsetSingle
Gets the single precision floating point number that is considered 'unset' in Rhino.
Public fieldStatic memberUnsetValue
Gets the Rhino standard Unset value. Use this value rather than Double.NaN when a bogus floating point value is required.
Public fieldStatic memberZeroTolerance
Gets Rhino's Zero Tolerance constant, which is 2^-32. In cases when an absolute "zero" tolerance is required to compare model space coordinates, ZeroTolerance is used. The value of ZeroTolerance should be no smaller than Epsilon and should be several orders of magnitude smaller than SqrtEpsilon.
Top
See Also