Esempio n. 1
0
        private void ShowHinter(Document _document, List <SolverPreviewObject> _solverGeometry, Mouse3DPosition mouseData, gpPln sketchPlane)
        {
            var axis = sketchPlane.Axis;

            axis.Location = new Point3D(0, 0, 0).GpPnt;
            var axis2 = new gpAx2();

            axis2.Axis = axis;
            var point3D         = mouseData.Point;
            var pointOnplane    = point3D.ToPoint2D(axis2);
            var constraintHints = new bool[] { false, false, false, false };

            for (int i = 0; i < _solverGeometry.Count; i++)
            {
                if (_solverGeometry[i] is SolverEdgeTwoPointsResult)
                {
                    switch (_solverGeometry[i].Type)
                    {
                    case ("Parallel X"):
                        constraintHints[0] = true;
                        break;

                    case ("Parallel Y"):
                        constraintHints[1] = true;
                        break;

                    case ("Parallel Line"):
                        constraintHints[2] = true;
                        break;

                    case ("Perpendicular Line"):
                        constraintHints[3] = true;
                        break;
                    }
                }
            }
            var currentX = pointOnplane.X;
            var currentY = pointOnplane.Y;

            NodeBuilderUtils.DrawConstraints(_document, axis2, currentX, currentY, constraintHints);
        }