Example #1
0
        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);
        }
Example #3
0
        protected override void InitializeModel()
        {
            _sideGeometry = CreateSideModel(Position);

            base.InitializeModel();
        }
Example #4
0
        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();
        }