Beispiel #1
0
 private void GenerateStartingStaticPulse(ElementNode target, IIntentNode intentNode, ColorGradient gradient=null)
 {
     if (intentNode == null || intentNode.StartTime <= TimeSpan.Zero) return;
     var lightingIntent = intentNode.Intent as LightingIntent;
     if (lightingIntent != null && lightingIntent.StartValue.Intensity > 0)
     {
         var newCurve = new Curve(lightingIntent.StartValue.Intensity*100);
         GenerateStartingStaticPulse(target,newCurve, gradient ?? new ColorGradient(lightingIntent.StartValue.FullColor), intentNode.StartTime);
     }
     else
     {
         var discreteIntent = intentNode.Intent as DiscreteLightingIntent;
         if (discreteIntent != null && discreteIntent.StartValue.Intensity > 0)
         {
             var newCurve = new Curve(discreteIntent.StartValue.Intensity*100);
             GenerateStartingStaticPulse(target, newCurve, gradient ?? new ColorGradient(discreteIntent.StartValue.FullColor),
                 intentNode.StartTime);
         }
     }
 }
Beispiel #2
0
 private void GenerateStartingStaticPulse(ElementNode target, IIntentNode intentNode, ColorGradient gradient=null)
 {
     if (intentNode == null || intentNode.StartTime <= TimeSpan.Zero) return;
     var lightingIntent = intentNode.Intent as LightingIntent;
     if (lightingIntent!= null && lightingIntent.StartValue.Intensity > 0)
     {
         var newCurve =
             new Curve(
                 new PointPairList(new PointPairList(new[] {0.0, 100},
                     new[] {lightingIntent.StartValue.Intensity*100, lightingIntent.StartValue.Intensity*100})));
         var pulse = new Pulse.Pulse
         {
             TargetNodes = new[] {target},
             LevelCurve = newCurve,
             ColorGradient = gradient ?? new ColorGradient(lightingIntent.StartValue.FullColor),
             TimeSpan = intentNode.StartTime
         };
         EffectIntents result = pulse.Render();
         _elementData.Add(result);
     }
 }
Beispiel #3
0
 public static TimeSpan GetIntentRelativeTime(TimeSpan effectRelativeTime, IIntentNode intentNode)
 {
     return effectRelativeTime - intentNode.StartTime;
 }
Beispiel #4
0
 public static TimeSpan GetEffectRelativeTime(TimeSpan intentRelativeTime, IIntentNode intentNode)
 {
     return intentNode.StartTime + intentRelativeTime;
 }
Beispiel #5
0
 private void _AddIntentForElement(Guid elementId, IIntentNode intentNode)
 {
     _AddIntentsForElement(elementId, new IIntentNode[] { intentNode });
 }
Beispiel #6
0
        private void _AddIntentToElementStateBuilder(Guid elementId, IIntentNode intentNode, TimeSpan intentRelativeTime)
        {
            IIntentState intentState = intentNode.CreateIntentState(intentRelativeTime);

            _elementStateBuilder.AddElementState(elementId, intentState);
        }