Пример #1
0
        internal void VisualizeGeometry(NodeModel node, object geom, string tag, RenderDescription rd)
        {
            var t = geom.GetType();

            var viz = Visualizers.FirstOrDefault(x => x.Key == t || x.Key.IsAssignableFrom(t));

            //draw what's in the container
            if (viz.Value != null)
            {
                viz.Value.Invoke(node, geom, tag, rd, octree);
            }
        }
Пример #2
0
 internal Extension <IVisualizer> FindVisualizer(Type type)
 {
     return(Visualizers.SingleOrDefault(e => e.IsDefault && e.Value.TargetType == type)
            ?? Visualizers.FirstOrDefault(e => e.Value.TargetType == type));
 }
Пример #3
0
        public ProjectItemView(ProjectView projectView, ProjectItem projectItem)
        {
            this.ProjectItem = projectItem;
            this.ProjectView = projectView;
            this.ShowCommand = new DelegateCommand(Show);

            this.Visualizers = new ObservableCollection <VisualizerView>(
                Editor.Extensions.Visualizers.Where(v => v.Value.TargetType.IsAssignableFrom(projectItem.ObjectModel.GetType()))
                .Select(v => new VisualizerView(this, v.Value)));

            this.DefaultVisualizer = Visualizers.SingleOrDefault(v => v.IsDefault) ?? Visualizers.FirstOrDefault();
            this.ActiveVisualizer  = DefaultVisualizer;
        }