Ejemplo n.º 1
0
        void update_grids()
        {
            if (grid_xy != null)
            {
                grid_xy.SafeUpdateLines((lines) => {
                    lines.Segments.Clear();
                    generate_grid_lines(lines, Vector3f.AxisX, Vector3f.AxisY, axis_steps.x, axis_steps.y, step_size);
                });
            }
            if (grid_yz != null)
            {
                grid_yz.SafeUpdateLines((lines) => {
                    lines.Segments.Clear();
                    generate_grid_lines(lines, Vector3f.AxisY, Vector3f.AxisZ, axis_steps.y, axis_steps.z, step_size);
                });
            }
            if (grid_xz != null)
            {
                grid_xz.SafeUpdateLines((lines) => {
                    lines.Segments.Clear();
                    generate_grid_lines(lines, Vector3f.AxisX, Vector3f.AxisZ, axis_steps.x, axis_steps.z, step_size);
                });
            }

            grids_valid = true;
        }
Ejemplo n.º 2
0
 void update_circle_indicator(bool on_snap)
 {
     if (circle_indicator != null)
     {
         circle_indicator.SafeUpdateLines((lines) => {
             lines.Color.a = (on_snap) ? 1.0f : 0.5f;
         });
     }
 }
Ejemplo n.º 3
0
        void update_snap_indicator(float fAngle, bool on_snap)
        {
            Quaternionf planeRotation     = new Quaternionf(Vector3f.AxisY, fAngle * MathUtil.Rad2Degf);
            Quaternionf alignAxisRotation = Quaternionf.FromTo(Vector3f.AxisY, Frame3f.Identity.GetAxis(nRotationAxis));

            snap_indicator.SetLocalRotation(alignAxisRotation * planeRotation);

            snap_indicator.SafeUpdateLines((lines) => {
                lines.Color.a = (on_snap) ? 1.0f : 0.15f;
            });
        }