protected override void OnProcessPendingRemovalMessage(ProcessPendingRemovalMessage msg) { _safeSideMeshData.ExeAndReset((positions, triangleIndices, normals) => { DispatcherHelperEx.CheckBeginInvokeOnUI(() => { _sideGeometry = new MeshGeometry3D() { Positions = positions, TriangleIndices = new IntCollection(triangleIndices), Normals = normals }; }); }); base.OnProcessPendingRemovalMessage(msg); }
private Geometry3D CreateNdSideModel() { Geometry3D geometry = null; switch (Position) { case PanelSectionPosition.CornerBottomLeft: case PanelSectionPosition.CornerTopLeft: geometry = base.CreateSideModel(PanelSectionPosition.SideLeft); break; case PanelSectionPosition.CornerBottomRight: case PanelSectionPosition.CornerTopRight: geometry = base.CreateSideModel(PanelSectionPosition.SideRight); break; default: throw new InvalidOperationException(); } return(geometry); }
protected override void InitializeModel() { _sideGeometry = CreateSideModel(Position); base.InitializeModel(); }
protected override void ResetModel() { _sideGeometry = CreateSideModel(Position); base.ResetModel(); }
protected override void InitializeModel() { _ndSideGeometry = CreateNdSideModel(); base.InitializeModel(); }
protected override void ResetModel() { _ndSideGeometry = CreateNdSideModel(); base.ResetModel(); }