UnityEditor.Joint2DEditorBase.InverseTransformPoint C# (CSharp) Method

InverseTransformPoint() protected static method

protected static InverseTransformPoint ( Transform transform, Vector3 position ) : Vector3
transform UnityEngine.Transform
position Vector3
return Vector3
        protected static Vector3 InverseTransformPoint(Transform transform, Vector3 position)
        {
            return GetAnchorSpaceMatrix(transform).inverse.MultiplyPoint(position);
        }

Usage Example

        public void OnSceneGUI()
        {
            this.anchorJoint2D = (AnchoredJoint2D)this.target;
            Vector3 position        = Joint2DEditorBase.TransformPoint(this.anchorJoint2D.transform, (Vector3)this.anchorJoint2D.anchor);
            Vector3 connectedAnchor = (Vector3)this.anchorJoint2D.connectedAnchor;

            if (this.anchorJoint2D.connectedBody != null)
            {
                connectedAnchor = Joint2DEditorBase.TransformPoint(this.anchorJoint2D.connectedBody.transform, connectedAnchor);
            }
            Vector3 vector4 = connectedAnchor - position;
            Vector3 vector3 = position + ((Vector3)((vector4.normalized * HandleUtility.GetHandleSize(position)) * 0.1f));

            Handles.color = Color.green;
            Vector3[] points = new Vector3[] { vector3, connectedAnchor };
            Handles.DrawAAPolyLine(points);
            if (base.HandleAnchor(ref connectedAnchor, true))
            {
                connectedAnchor = Joint2DEditorBase.SnapToPoint(this.SnapToSprites(connectedAnchor), position, 0.13f);
                if (this.anchorJoint2D.connectedBody != null)
                {
                    connectedAnchor = Joint2DEditorBase.InverseTransformPoint(this.anchorJoint2D.connectedBody.transform, connectedAnchor);
                }
                Undo.RecordObject(this.anchorJoint2D, "Move Connected Anchor");
                this.anchorJoint2D.connectedAnchor = connectedAnchor;
            }
            if (base.HandleAnchor(ref position, false))
            {
                position = Joint2DEditorBase.SnapToPoint(this.SnapToSprites(position), connectedAnchor, 0.13f);
                Undo.RecordObject(this.anchorJoint2D, "Move Anchor");
                this.anchorJoint2D.anchor = Joint2DEditorBase.InverseTransformPoint(this.anchorJoint2D.transform, position);
            }
        }
All Usage Examples Of UnityEditor.Joint2DEditorBase::InverseTransformPoint