# Calculator Reference

Here is a reference built-in Calculator of Arbor.

## Bool

Class Name | Description
--- | ---
Bool.And | Calculate the Bool value by And.
Bool.Not | Calculate the Bool value by Not.
Bool.Or | Calculate the Bool value by Or.

## Bounds

Class Name | Description
--- | ---
Bounds.Compose | Compose Bounds.
Bounds.Contains | Is point contained in the bounding box?
Bounds.Decompose | Decompose Bounds to size and size.
Bounds.EncapsulateBounds | Grow the bounds to encapsulate the bounds.
Bounds.EncapsulateVector3 | Grows the Bounds to include the point.
Bounds.ExpandFloat | Expand the bounds by increasing its size by amount along each side.
Bounds.ExpandVector3 | Expand the bounds by increasing its size by amount along each side.
Bounds.SqrDistance | The smallest squared distance between the point and this bounding box.

## Collider

Class Name | Description
--- | ---
Collider.AttachedRigidbody | Output Rigidbody attached to Collider.
Collider.Bounds | The world space bounding volume of the collider.
Collider.ClosestPointOnBounds | The closest point to the bounding box of the attached collider.

## Collider2D

Class Name | Description
--- | ---
Collider2D.AttachedRigidbody | Output Rigidbody2D attached to Collider2D.
Collider2D.Bounds | The world space bounding volume of the Collider2D.
Collider2D.OverlapPoint | Check if a collider overlaps a point in space.

## Collision

Class Name | Description
--- | ---
Collision.Collider | Output Collider hit from Collision.
Collision.GameObject | Output GameObject hit from Collision.
Collision.RelativeVelocity | Output the relative velocity of the two collided objects.
Collision.Rigidbody | Output Rigidbody hit from Collision.
Collision.Transform | Output Transform hit from Collision.

## Collision2D

Class Name | Description
--- | ---
Collision2D.Collider | Output Collider2D hit from Collision2D.
Collision2D.GameObject | Output GameObject hit from Collision2D.
Collision2D.RelativeVelocity | Output the relative velocity of the two collided objects.
Collision2D.Rigidbody | Output Rigidbody2D hit from Collision2D.
Collision2D.Transform | Output Transform hit from Collision2D.

## Component

Class Name | Description
--- | ---
Component.GetGameObject | Output Component's GameObject.
GameObject.GetComponent | Output Component from GameObject.

## Float

Class Name | Description
--- | ---
Float.Add | Add float.
Float.Compare | Compare floats.
Float.Div | Divide the float.
Float.Mul | Multiply by float.
Float.Negative | To invert the sign of the float.
Float.Sub | Subtract float.
Float.ToInt | Convert float to int.
Float.ToLong | Convert float to long.

## Int

Class Name | Description
--- | ---
Int.Add | Add int.
Int.Compare | Compare int.
Int.Div | Divide the int.
Int.Mul | Multiply by int.
Int.Negative | To invert the sign of the int.
Int.Sub | Subtract int.
Int.ToFloat | Convert int to float.

## Long

Class Name | Description
--- | ---
Long.Add | Add long.
Long.Compare | Compare long.
Long.Div | Divide the long.
Long.Mul | Multiply by long.
Long.Negative | To invert the sign of the long.
Long.Sub | Subtract long.
Long.ToFloat | Convert long to float.

## Mathf

Class Name | Description
--- | ---
Mathf.AbsFloat | The absolute value of the float.
Mathf.AbsInt | The absolute value of the int.
Mathf.Acos | Calculate acos.
Mathf.Asin | Calculate asin.
Mathf.Atan | Calculate atan.
Mathf.Atan2 | Calculate atan2.
Mathf.Ceil | Calculate the smallest integer greater than or equal to the value.
Mathf.CeilToInt | Calculate the smallest integer greater than or equal to the value.
Mathf.Clamp01 | Clamps value between 0 and 1
Mathf.ClampFloat | Clamps a value between a Min and Max value.
Mathf.ClampInt | Clamps a value between a Min and Max value.
Mathf.ClosestPowerOfTwo | Outputs the closest power of two value.
Mathf.Cos | Calculate cos.
Mathf.DegToRad | Convert from degrees to radians.
Mathf.DeltaAngle | Calculates the shortest difference between two given angles given in degrees.
Mathf.Exp | Calculates e raised to the specified power.
Mathf.Floor | Calculate the largest integer less than or equal to the value.
Mathf.FloorToInt | Calculate the largest integer less than or equal to the value.
Mathf.GammaToLinearSpace | Converts the given value from gamma (sRGB) to linear color space.
Mathf.InverseLerp | Calculate a interpolation parameter that generates a value to be interpolated within the range from From to To.
Mathf.Lerp | Linearly interpolate values within the range from From to To.
Mathf.LerpAngle | Linearly interpolate the angle within the range from From to To.
Mathf.LinearToGammaSpace | Converts the given value from linear to gamma (sRGB) color space.
Mathf.Log | Calculate the logarithm (base e).
Mathf.Log10 | Calculates the base 10 logarithm of a specified number.
Mathf.LogBase | Calculate the logarithm.
Mathf.MaxFloat | Calculate the maximum value from two float values.
Mathf.MaxInt | Calculate the maximum value from two int values.
Mathf.MinFloat | Calculate the minimum value from two float values.
Mathf.MinInt | Calculate the minimum value from two int values.
Mathf.MoveTowards | Calculate the amount of movement to move from Current to Target at the speed of MaxDelta.
Mathf.MoveTowardsAngle | Calculate the amount of movement to move from Current to Target at the speed of MaxDelta.
Mathf.NextPowerOfTwo | Calculates the next power of two value.
Mathf.PerlinNoise | Generate 2D Perlin noise.
Mathf.PingPong | The interpolation parameter T makes a round trip between 0 and Length.
Mathf.Pow | Calculates Value raised to power Power.
Mathf.RadToDeg | Convert from radians to degrees.
Mathf.Repeat | Loop from 0 to Length by interpolation parameter T.
Mathf.Round | Calculate the integer closest to Value.
Mathf.RoundToInt | Calculate the integer closest to Value.
Mathf.Sign | Calculate the sign of Value.
Mathf.Sin | Calculate sin.
Mathf.SmoothStep | Interpolate with limited smoothing between From and To.
Mathf.Sqrt | Calculates the square root.
Mathf.Tan | Calculate tan.

## Quaternion

Class Name | Description
--- | ---
Quaternion.Angle | Calculate the angle between two Quaternions.
Quaternion.AngleAxis | Create a Quaternion that rotates Angle degrees around Axis.
Quaternion.Dot | Calculates the dot product of two Quaternion.
Quaternion.Euler | Calculate the Quaternion value from Euler angle.
Quaternion.EulerAngles | Calculate the Euler angle value from Quaternion.
Quaternion.FromToRotation | Creates a rotation which rotates from FromDirection to ToDirection.
Quaternion.Inverse | Calculates the reverse Quaternion.
Quaternion.Lerp | Linearly interpolate Quaternion between From and To.
Quaternion.LookRotation | Create a Quaternion to Forward.
Quaternion.Mul | Multiply by Quaternion.
Quaternion.MulVector3 | Multiply Vector3 by Quaternion.
Quaternion.RotateTowards | Calculates the Quaternion to To from From.
Quaternion.Slerp | Spherical linear interpolation of Quaternion between From and To.
Quaternion.ToAngleAxis | Convert Quaternion to rotation axis and angle.

## Random

Class Name | Description
--- | ---
Random.Bool | Outputs a random bool value.
Random.InsideUnitCircle | Output a random point inside the unit circle.
Random.InsideUnitSphere | Output a random point inside the unit sphere.
Random.OnUnitSphere | Output a random point on the unit sphere.
Random.RangeColor | Output the color of random time in Gradient.
Random.RangeColorSimple | Outputs a random color between two colors.
Random.RangeFloat | Outputs a random float value between two values.
Random.RangeInt | Outputs a random int value between two values.
Random.RangeQuaternion | Outputs a random Quaternion value between two values.
Random.RangeVector2 | Outputs a random Vector2 value between two values.
Random.RangeVector3 | Outputs a random Vector3 value between two values.
Random.Rotation | Outputs a random rotation.
Random.RotationUniform | Outputs a random rotation with uniform distribution.
Random.SelectComponent | Output component selected randomly from the list.
Random.SelectGameObject | Output GameObject selected randomly from the list.
Random.SelectString | Output string selected randomly from the list.
Random.Value | Outputs a random float value.

## RaycastHit

Class Name | Description
--- | ---
RaycastHit.BarycentricCoordinate | The barycentric coordinate of the triangle we hit.
RaycastHit.Collider | The Collider that was hit.
RaycastHit.Distance | The distance from the ray's origin to the impact point.
RaycastHit.LightmapCoord | The uv lightmap coordinate at the impact point.
RaycastHit.Normal | The normal of the surface the ray hit.
RaycastHit.Point | The impact point in world space where the ray hit the collider.
RaycastHit.Rigidbody | The Rigidbody of the collider that was hit.
RaycastHit.TextureCoord | The uv texture coordinate at the collision location.
RaycastHit.TextureCoord2 | The secondary uv texture coordinate at the impact point.
RaycastHit.Transform | The Transform of the rigidbody or collider that was hit.
RaycastHit.TriangleIndex | The index of the triangle that was hit.

## RaycastHit2D

Class Name | Description
--- | ---
RaycastHit2D.Centroid | The centroid of the primitive used to perform the cast.
RaycastHit2D.Collider | The Collider2D that was hit.
RaycastHit2D.Distance | The distance from the ray's origin to the impact point.
RaycastHit2D.Fraction | Fraction of the distance along the ray that the hit occurred.
RaycastHit2D.Normal | The normal vector of the surface hit by the ray.
RaycastHit2D.Point | The impact point in world space where the ray hit the collider.
RaycastHit2D.Rigidbody | The Rigidbody2D of the Collider2D that was hit.
RaycastHit2D.Transform | The Transform of the Rigidbody2D or Collider2D that was hit.

## Rect

Class Name | Description
--- | ---
Rect.Center | The position of the center of the rectangle.
Rect.Compose | Compose Rect.
Rect.Contains | Whether the Point is inside the Rect.
Rect.Decompose | Decompose Rect into position and size.
Rect.MinMaxRect | Create Rect from Min and Max.
Rect.NormalizedToPoint | Calculates a point inside a rectangle, given normalized coordinates.
Rect.Overlaps | Whether rectangles overlap each other or not.
Rect.PointToNormalized | Calculates the normalized coordinates cooresponding the the point.

## RectTransform

Class Name | Description
--- | ---
RectTransform.AnchoredPosition | The position of the pivot of this RectTransform relative to the anchor reference point.
RectTransform.AnchoredPosition3D | The 3D position of the pivot of this RectTransform relative to the anchor reference point.
RectTransform.AnchorMax | The normalized position in the parent RectTransform that the upper right corner is anchored to.
RectTransform.AnchorMin | The normalized position in the parent RectTransform that the lower left corner is anchored to.
RectTransform.Get | Gets the RectTransform attached to GameObject.
RectTransform.OffsetMax | The offset of the upper right corner of the rectangle relative to the upper right anchor.
RectTransform.OffsetMin | The offset of the lower left corner of the rectangle relative to the lower left anchor.
RectTransform.Pivot | The normalized position in this RectTransform that it rotates around.
RectTransform.Rect | The calculated rectangle in the local space of the Transform.
RectTransform.SizeDelta | The size of this RectTransform relative to the distances between the anchors.

## Rigidbody

Class Name | Description
--- | ---
Rigidbody.AngularDrag | The angular drag of the object.
Rigidbody.AngularVelocity | The angular velocity vector of the rigidbody measured in radians per second.
Rigidbody.CenterOfMass | The center of mass relative to the transform's origin.
Rigidbody.ClosestPointOnBounds | The closest point to the bounding box of the attached colliders.
Rigidbody.Drag | The drag of the object.
Rigidbody.Get | Gets the Rigidbody attached to GameObject.
Rigidbody.GetPointVelocity | The velocity of the rigidbody at the point worldPoint in global space.
Rigidbody.GetRelativePointVelocity | The velocity relative to the rigidbody at the point relativePoint.
Rigidbody.InertiaTensor | The diagonal inertia tensor of mass relative to the center of mass.
Rigidbody.InertiaTensorRotation | The rotation of the inertia tensor.
Rigidbody.Mass | The mass of the rigidbody.
Rigidbody.MaxAngularVelocity | The maximimum angular velocity of the rigidbody.
Rigidbody.Position | The position of the rigidbody.
Rigidbody.Rotation | The rotation of the rigidbody.
Rigidbody.SolverIterationCount | The iteration count of the solver.
Rigidbody.Velocity | The velocity vector of the rigidbody.
Rigidbody.WorldCenterOfMass | The center of mass of the rigidbody in world space.

## Rigidbody2D

Class Name | Description
--- | ---
Rigidbody2D.AngularDrag | The angular drag of the object.
Rigidbody2D.AngularVelocity | The angular velocity of the Rigidbody2D measured in radians per second.
Rigidbody2D.CenterOfMass | The center of mass relative to the transform's origin.
Rigidbody2D.Drag | The drag of the object.
Rigidbody2D.Get | Gets the Rigidbody2D attached to GameObject.
Rigidbody2D.GetPoint | Get a local space point given the point Point in rigidBody global space.
Rigidbody2D.GetPointVelocity | The velocity of the Rigidbody2D at the point Point in global space.
Rigidbody2D.GetRelativePoint | Get a global space point given the point relativePoint in rigidBody local space.
Rigidbody2D.GetRelativePointVelocity | Get a global space point given the point RelativePoint in rigidBody local space.
Rigidbody2D.GetRelativeVector | Get a global space vector given the vector RelativeVector in rigidBody local space.
Rigidbody2D.GetVector | Get a local space vector given the vector Vector in rigidBody global space.
Rigidbody2D.GravityScale | The degree to which this object is affected by gravity.
Rigidbody2D.Inertia | The rigidBody rotational inertia.
Rigidbody2D.Mass | Mass of the rigidbody.
Rigidbody2D.Position | The position of the rigidbody.
Rigidbody2D.Rotation | The rotation of the rigidbody.
Rigidbody2D.Velocity | Linear velocity of the rigidbody.
Rigidbody2D.WorldCenterOfMass | Gets the center of mass of the rigidBody in global space.

## String

Class Name | Description
--- | ---
String.Concat | Concatenate strings.
String.Join | Concatenate strings. using the specified separator between each element.

## Transform

Class Name | Description
--- | ---
Transform.EulerAngles | The rotation as Euler angles in degrees.
Transform.Forward | The blue axis of the transform in world space.
Transform.Get | Gets the Transform attached to GameObject.
Transform.InverseTransformDirection | Transforms a direction from world space to local space.
Transform.InverseTransformPoint | Transforms Point from world space to local space.
Transform.InverseTransformVector | Transforms a Vector from world space to local space.
Transform.LocalEulerAngles | The rotation as Euler angles in degrees relative to the parent transform's rotation.
Transform.LocalPosition | Position of the transform relative to the parent transform.
Transform.LocalRotation | The rotation of the transform relative to the parent transform's rotation.
Transform.LocalScale | The scale of the transform relative to the parent.
Transform.LossyScale | The global scale of the object
Transform.Parent | The parent of the transform.
Transform.Position | The position of the transform in world space.
Transform.Right | The red axis of the transform in world space.
Transform.Root | Gets the topmost transform in the hierarchy.
Transform.Rotation | The rotation of the transform in world space stored as a Quaternion.
Transform.TransformDirection | Transforms Direction from local space to world space.
Transform.TransformPoint | Transforms Point from local space to world space.
Transform.TransformVector | Transforms Vector from local space to world space.
Transform.Up | The green axis of the transform in world space.

## Vector2

Class Name | Description
--- | ---
Vector2.Add | Add Vector2.
Vector2.Angle | Calculates the angle in degrees between from and to.
Vector2.ClampMagnitude | Calculates a vector with its magnitude clamped to MaxLength.
Vector2.Compose | Compose Vector2.
Vector2.Decompose | Decompose Vector2.
Vector2.Distance | Calculates the distance between A and B.
Vector2.Div | Divide Vector 2 by float.
Vector2.Dot | Dot Product of two vectors.
Vector2.Lerp | Linear interpolation is performed between the vectors of From and To with the interpolation parameter T.
Vector2.Magnitude | The length of vector.
Vector2.Max | Create a vector that is made from the largest components of two vectors.
Vector2.Min | Create a vector that is made from the smallest components of two vectors.
Vector2.MoveTowards | Calculating a vector that moves from the current position Current to Target.
Vector2.Mul | Multiply Vector 2 by float.
Vector2.Negative | To invert the sign of the Vector2.
Vector2.Normalize | Vector 2 normalized vector
Vector2.Scale | Multiplies two vectors component-wise.
Vector2.SqrMagnitude | Calculate the length of the square of the vector.
Vector2.Sub | Subtract Vector2.
Vector2.ToVector3 | Vector 2 is converted to Vector 3.

## Vector3

Class Name | Description
--- | ---
Vector3.Add | Add Vector3.
Vector3.Angle | Calculates the angle in degrees between from and to.
Vector3.ClampMagnitude | Calculates a vector with its magnitude clamped to MaxLength.
Vector3.Compose | Compose Vector3.
Vector3.Cross | Cross Product of two vectors.
Vector3.Decompose | Decompose Vector3.
Vector3.Distance | Calculates the distance between A and B.
Vector3.Div | Divide Vector 2 by float.
Vector3.Dot | Dot Product of two vectors.
Vector3.Lerp | Linear interpolation is performed between the vectors of From and To with the interpolation parameter T.
Vector3.Magnitude | The length of vector.
Vector3.Max | Create a vector that is made from the largest components of two vectors.
Vector3.Min | Create a vector that is made from the smallest components of two vectors.
Vector3.MoveTowards | Calculating a vector that moves from the current position Current to Target.
Vector3.Mul | Multiply Vector3 by float.
Vector3.Negative | To invert the sign of the Vector3.
Vector3.Normalize | Vector3 normalized vector
Vector3.OrthoNormalize | Calculate so that the vector is normalized and orthogonal to other vectors.
Vector3.OrthoNormalize2 | Calculate so that the vector is normalized and orthogonal to other vectors.
Vector3.Project | Calculate so that the vector is normalized and orthogonal to other vectors.
Vector3.ProjectOnPlane | Projects a vector onto a plane defined by a normal orthogonal to the plane.
Vector3.Reflect | Reflects a vector off the plane defined by a normal.
Vector3.RotateTowards | Rotates a vector Current towards Target.
Vector3.Scale | Multiplies two vectors component-wise.
Vector3.Slerp | Spherical linear interpolation is performed between the vectors of From and To with the interpolation parameter T.
Vector3.SqrMagnitude | Calculate the length of the square of the vector.
Vector3.Sub | Subtract Vector3.
Vector3.ToVector2 | Vector3 is converted to Vector2.