예제 #1
0
 public void InitializeLeg(LegSO so)
 {
     leg = new LegModel(so, OrthogenMaterials.RectifiedLegMaterial);
     OnDataModelModified?.Invoke(this, EventArgs.Empty);
     leg.OnDeformationAdded   += OG.notifyModelingOpAdded;
     leg.OnDeformationRemoved += OG.notifyModelingOpRemoved;
 }
예제 #2
0
        public void RemoveTrimLine()
        {
            trimline = null;

            if (socket != null)
            {
                socket.EnableUpdate = false;
                socket.RemoveTrimLine();
                socket.HideSocket();
            }

            OnDataModelModified?.Invoke(this, EventArgs.Empty);
        }
예제 #3
0
        public void InitializeTrimline(TrimLoopSO so)
        {
            trimline = so;

            if (socket != null)
            {
                socket.SetNewTrimLine(trimline);
                socket.EnableUpdate = true;
                socket.ShowSocket();
            }

            OnDataModelModified?.Invoke(this, EventArgs.Empty);
        }
예제 #4
0
        public void InitializeSocket(SocketSO so)
        {
            if (leg == null || trimline == null)
            {
                DebugUtil.Log(2, "OrthogenDM.InitializeSocket: must have created leg and trimline first!");
            }

            // align frame w/ leg
            so.SetLocalFrame(leg.RectifiedSO.GetLocalFrame(CoordSpace.SceneCoords), CoordSpace.SceneCoords);

            socket = new SocketModel(so, leg, trimline, SocketModel.ModelModes.Socket);
            socket.OnSocketUpdated += OG.notifySocketUpdated;

            OnDataModelModified?.Invoke(this, EventArgs.Empty);
        }
예제 #5
0
 public void InitializeScan(ScanSO so)
 {
     scan = new ScanModel(so);
     OnDataModelModified?.Invoke(this, EventArgs.Empty);
 }