Helper functions for Scene View style 3D GUI.

These are mainly mathematical functions that assist in converting between the 3D Scene space and the 2D GUI. The functions are used in the construction of the Unity Editor itself and so using them is a good way to make your own Handles GUIs consistent with Unity's.

acceleration | Get standard acceleration for dragging values (Read Only). |

niceMouseDelta | Get nice mouse delta to use for dragging a float value (Read Only). |

niceMouseDeltaZoom | Get nice mouse delta to use for zooming (Read Only). |

AddControl | Record a distance measurement from a handle. |

AddDefaultControl | Add the ID for a default control. This will be picked if nothing else is. |

CalcLineTranslation | Map a mouse drag onto a movement along a line in 3D space. |

ClosestPointToArc | Get the point on an arc (in 3D space) which is closest to the current mouse position. |

ClosestPointToDisc | Get the point on an disc (in 3D space) which is closest to the current mouse position. |

ClosestPointToPolyLine | Get the point on a polyline (in 3D space) which is closest to the current mouse position. |

DistancePointBezier | Calculate distance between a point and a Bezier curve. |

DistancePointLine | Calculate distance between a point and a line. |

DistancePointToLine | Distance from a point p in 2d to a line defined by two points a and b. |

DistancePointToLineSegment | Distance from a point p in 2d to a line segment defined by two points a and b. |

DistanceToArc | Returns the distance in pixels from the mouse pointer to a 3D section of a disc. |

DistanceToCircle | Returns the distance in pixels from the mouse pointer to a camera facing circle. |

DistanceToCone | Returns the distance in pixels from the mouse pointer to a cone. |

DistanceToCube | Returns the distance in pixels from the mouse pointer to a cube. |

DistanceToDisc | Returns the distance in pixels from the mouse pointer to a 3D disc. |

DistanceToLine | Returns the distance in pixels from the mouse pointer to a line. |

DistanceToPolyLine | Returns the distance in pixels from the mouse pointer to a polyline. |

DistanceToRectangle | Returns the distance in pixels from the mouse pointer to a rectangle on screen. |

FindNearestVertex | Returns the nearest vertex to a guiPoint within a maximum radius of 50 pixels. |

GetHandleSize | Get world space size of a manipulator handle at given position. |

GUIPointToScreenPixelCoordinate | Converts a 2D GUI position to screen pixel coordinates. |

GUIPointToWorldRay | Convert 2D GUI position to a world space ray. |

PickGameObject | Pick game object closest to specified position. |

PickRectObjects | Pick GameObjects that lie within a specified screen rectangle. |

PlaceObject | Casts a ray against the loaded scenes and returns the nearest intersected point on a collider. |

PointOnLineParameter | Returns the parameter for the projection of the point on the given line. |

PopCamera | Retrieve all camera settings. |

ProjectPointLine | Project point onto a line. |

PushCamera | Store all camera settings. |

RaySnap | Casts ray against the Scene and report if an object lies in its path. |

Repaint | Repaint the current view. |

WorldPointToSizedRect | Calculate a rectangle to display a 2D GUI element near a projected point in 3D space. |

WorldToGUIPoint | Convert a world space point to a 2D GUI position. |

WorldToGUIPointWithDepth | Convert a world space point to a 2D GUI position. |

pickGameObjectCustomPasses | Subscribe to this event to add additional picking objects to the HandleUtility.PickGameObject method. |

placeObjectCustomPasses | Subscribe to this event to handle object placement in the SceneView. |

PickGameObjectCallback | This is the method definition for pickGameObjectCustomPasses. |

PlaceObjectDelegate | This is the method definition for placeObjectCustomPasses. |