public TransformHandleParam Without(PositionHandleParam.Handle handles) { return(new TransformHandleParam( RemoveHandles(position, handles), rotation, scale, RemoveHandles(cameraAlignedPosition, handles), cameraAlignedRotation, cameraAlignedScale, RemoveHandles(localPosition, handles), localRotation, localScale, RemoveHandles(vertexSnappingPosition, handles), vertexSnappingRotation, vertexSnappingScale )); }
static PositionHandleParam RemoveHandles(PositionHandleParam p, PositionHandleParam.Handle handles) { return(new PositionHandleParam(p.handles & ~handles, p.axisOffset, p.axisSize, p.planeOffset, p.planeSize, p.axesOrientation, p.planeOrientation)); }