Ejemplo n.º 1
0
        public override void postprocess_target_objects()
        {
            // turn on xform gizmo
            Scene.Context.TransformManager.PopOverrideGizmoType();
            Scene.Context.TransformManager.PushOverrideGizmoType(TransformManager.DefaultGizmoType);


            PlaneOriginS = Vector3d.Zero;
            PlaneNormalS = Vector3d.AxisY;

            foreach (var obj in TargetObjects)
            {
                PlaneOriginS += SceneTransforms.ObjectToSceneP(obj.SO, obj.SO.Mesh.CachedBounds.Center);
            }
            PlaneOriginS /= TargetObjects.Count;

            gizmoSO = new PlaneCutPivotSO();
            gizmoSO.Create(Scene.PivotSOMaterial, Scene.FrameSOMaterial);
            gizmoSO.OnTransformModified += GizmoSO_OnTransformModified;
            Scene.AddSceneObject(gizmoSO);

            Frame3f cutFrameS = new Frame3f(PlaneOriginS, PlaneNormalS);

            gizmoSO.SetLocalFrame(cutFrameS, CoordSpace.SceneCoords);

            set_plane_origin(PlaneOriginS);
            set_plane_normal(PlaneNormalS);

            set_allow_selection_changes(true);
            Scene.Select(gizmoSO, true);
            set_allow_selection_changes(false);
        }
Ejemplo n.º 2
0
        public override void Shutdown()
        {
            if (gizmoSO != null)
            {
                set_allow_selection_changes(true);
                Scene.RemoveSceneObject(gizmoSO, true);
                set_allow_selection_changes(false);
                gizmoSO = null;
            }

            base.Shutdown();
        }