public override bool GetGripPoints(GripPointsInfo info) { //frist grip to move info.AppendGrip(new McSmartGrip <Ball>(_basePnt + new Vector3d(0, _radius, 0), (obj, g, offset) => { obj.TryModify(); obj._basePnt += offset; obj.TryModify(); obj.ShakePredict(); })); //command grip var ctxGrip = new McSmartGrip <Ball>(McBaseGrip.GripType.PopupMenu, 2, _basePnt - 1.0 * new Vector3d(_radius, 0, 0), McBaseGrip.GripAppearance.PopupMenu, 0, "Select menu", Color.Lime); ctxGrip.GetContextMenu = (obj, items) => { items.Add(new ContextMenuItem("Get prediction", "none", 1)); items.Add(new ContextMenuItem("Edit predictions", "none", 2)); }; ctxGrip.OnCommand = (obj, commandId, grip) => { if (grip.Id == 2) { switch (commandId) { case 1: { ShakePredict(); break; } case 2: { CallForm(); break; } } } }; info.AppendGrip(ctxGrip); return(true); }
// Create a grip for the base point of the object public override bool GetGripPoints(GripPointsInfo info) { info.AppendGrip(new McSmartGrip <DoorPseudo3D_nc51>(_pnt1, (obj, g, offset) => { obj.TryModify(); obj._pnt1 += offset; })); return(true); }