public MaterialSetOLD ProvideNext(ProviderContext context)
        {
            if (currentIndex > context.CycleLength)
            {
                currentIndex = 0;
            }

            var            position                = 1.0 / context.CycleLength * currentIndex;
            var            gradientStepSpan        = GradientStepData.Sum(step => step.Offset);
            var            additivestepPercentage  = 0d;
            MaterialSetOLD interpolatedMaterialSet = MaterialPalette.Sets.BrownBrushSet;

            if (position >= 1)
            {
                currentIndex++;
                return(GradientStepData.Last().MaterialSet);
            }
            for (var x = 0; x <= GradientStepData.Count - 2; x++)
            {
                var stepPercentage            = GradientStepData[x].Offset / gradientStepSpan;
                var stepProgression           = position - additivestepPercentage;
                var stepProgressionPercentage = stepProgression / stepPercentage;

                if (position >= additivestepPercentage && position < (additivestepPercentage + stepPercentage))
                {
                    interpolatedMaterialSet = MediaExtensions.Interpolate(GradientStepData[x].MaterialSet,
                                                                          GradientStepData[x + 1].MaterialSet, stepProgressionPercentage);
                    break;
                }
                additivestepPercentage += stepPercentage;
            }
            currentIndex++;
            return(interpolatedMaterialSet);
        }
        private MaterialSet GetMaterialSetAtProgression(double progression)
        {
            var totalGradientSpan = GradientStepData.Sum(t => t.Offset);

            if (progression <= 0)
            {
                return(GradientStepData.First().MaterialSet);
            }
            if (progression >= 1)
            {
                return(GradientStepData.Last().MaterialSet);
            }

            var currentOffset = 0d;

            for (var x = 0; x <= GradientStepData.Count - 2; x++)
            {
                var startGradientStep = GradientStepData[x];
                var endGradientStep   = GradientStepData[x + 1];

                var stepSpanPercentage = startGradientStep.Offset / totalGradientSpan;
                var stepEndOffset      = currentOffset + stepSpanPercentage;

                if (progression >= currentOffset && progression < stepEndOffset)
                {
                    var progressionThroughStep = progression.Map(currentOffset, stepEndOffset, 0d, 1d);
                    var materialSet            = MediaExtensions.Interpolate(startGradientStep.MaterialSet,
                                                                             endGradientStep.MaterialSet, progressionThroughStep);
                    return(materialSet);
                }
                currentOffset = stepEndOffset;
            }
            throw new ArgumentOutOfRangeException();
        }
Пример #3
0
 public void AddImage(Person p, PersonModel person)
 {
     if (p.Images != null && p.Images.Profiles != null && p.Images.Profiles.Any())
     {
         List <Profile> profiles  = p.Images.Profiles;
         string         filePath  = profiles.First().FilePath;
         Guid           dbImageId = MediaExtensions.AddMovieDBImage(_client, filePath);
         person.Image = GlassExtensions.GetImage(dbImageId, person.Title);
     }
 }
Пример #4
0
        public SunsetView()
        {
            this.InitializeComponent();

            // 1. Init resources
            _rootVisual = this.GetVisual();
            _rand       = new Random();
            var c = _rootVisual.Compositor;

            // 2. Create Brushes
            _grad = c.CreateLinearGradientBrush();
            _grad.ColorStops.Add(c.CreateColorGradientStop(0, MediaExtensions.FromHex("#E500780A")));
            _grad.ColorStops.Add(c.CreateColorGradientStop(0.5f, MediaExtensions.FromHex("#E55D8200")));
            _grad.ColorStops.Add(c.CreateColorGradientStop(1, MediaExtensions.FromHex("#E55D780A")));
            _grad.StartPoint = new Vector2(0, 0);
            _grad.EndPoint   = new Vector2(0, 0.5f);

            _shad       = c.CreateColorBrush();
            _shad.Color = Color.FromArgb(100, 0, 0, 0);

            // 3. Create grass geometry & resources
            _geom        = c.CreateEllipseGeometry();
            _geom.Radius = new Vector2(4, 150);
            _geom.Center = new Vector2(4, 150);
            _cent        = CompositionFactory.CreateCenteringExpression(0.5, 0.5);

            _grassShape           = c.CreateSpriteShape(_geom);
            _grassShape.FillBrush = _grad;

            _shadowShape           = c.CreateSpriteShape(_geom);
            _shadowShape.FillBrush = _shad;

            _grassOffset = c.CreateExpressionAnimation()
                           .SetTarget("Offset")
                           .SetParameter("Root", _rootVisual)
                           .SetExpression("Vector3(Root.Size.X * percent, Root.Size.Y - (this.Target.Size.Y * 0.5f), 0f)");

            _shadowOffset = c.CreateExpressionAnimation()
                            .SetTarget(nameof(Visual.Offset))
                            .SetExpression("Caster.Offset");

            _shadowRotation = c.CreateExpressionAnimation()
                              .SetTarget(nameof(Visual.RotationAngleInDegrees))
                              .SetExpression("Caster.RotationAngleInDegrees");

            // 4. Create blades
            for (int i = 0; i < 250; i++)
            {
                PlantGrassSeed();
            }

            // 5. Create blur for shadow
            CreateBlurLayer();
        }
        public ProjectAutoMap()
        {
            CreateMap <Project, ProjectViewModel>()
            .ForMember(dst => dst.Id, opt => opt.MapFrom(src => src.NodeGUID))
            .ForMember(dst => dst.Description, opt => opt.MapFrom(src => ProjectDescriber.GetDescribe(src)))
            .ForMember(dst => dst.Year, opt => opt.MapFrom(src => src.Year))
            .ForMember(dst => dst.Url, opt => opt.MapFrom(src => URLHelper.ResolveUrl(src.RelativeURL, false)))
            .ForMember(dst => dst.Image, opt => opt.Ignore())
            .AfterMap((s, d, context) =>
            {
                if (s.Image != null)
                {
                    var model = MediaExtensions.GetImageModelByURl(s.Image);
                    if (model != null)
                    {
                        d.Image = context.Mapper.Map <ImageViewModel>(model);
                    }
                }
            });

            CreateMap <Project, IMetadata>()
            .IncludeBase <TreeNode, IMetadata>();
        }
Пример #6
0
        protected Guid AddImage(ImageData m)
        {
            Guid dbImageId = MediaExtensions.AddMovieDBImage(_client, m.FilePath);

            return(dbImageId);
        }