Example #1
0
        protected int GetUDTArrayTypeMappingCount(ArrayMapping arrayMapping)
        {
            // UDT[] where each array element is the same mapping, but represent different times
            if (arrayMapping.WindowSize != 0.0M)
            {
                MeasurementKey[] keys;
                AlignmentCoordinator.SampleWindow sampleWindow = GetSampleWindow(arrayMapping, out keys);

                m_lastKeyIndex  = m_keyIndex;
                m_cachedMapping = GetTypeMapping(arrayMapping);
                m_cachedFrames  = AlignmentCoordinator.GetFrames(keys, CurrentFrameTime, sampleWindow);

                return(m_cachedFrames.Count);
            }

            // UDT[] where each array element is the same time (relative to now), but represent different mappings
            if (arrayMapping.RelativeTime != 0.0M)
            {
                MeasurementKey[] keys;
                AlignmentCoordinator.SampleWindow sampleWindow = GetSampleWindow(arrayMapping, out keys);

                CurrentFrame     = AlignmentCoordinator.GetFrame(keys, CurrentFrameTime, sampleWindow);
                m_cachedMappings = MappingCompiler.EnumerateTypeMappings(arrayMapping.Expression).ToArray();

                return(m_cachedMappings.Length);
            }

            // UDT[] where each array element is the same time, but represent different mappings
            m_cachedMappings = MappingCompiler.EnumerateTypeMappings(arrayMapping.Expression).ToArray();

            return(m_cachedMappings.Length);
        }
Example #2
0
        protected IDictionary <MeasurementKey, IMeasurement> GetRelativeFrame(FieldMapping fieldMapping)
        {
            IEnumerable <FieldMapping> signalMappings = MappingCompiler.TraverseSignalMappings(fieldMapping);

            MeasurementKey[] keys = signalMappings.SelectMany(mapping => SignalLookup.GetMeasurementKeys(mapping.Expression)).ToArray();
            AlignmentCoordinator.SampleWindow sampleWindow = CreateSampleWindow(fieldMapping);
            return(AlignmentCoordinator.GetFrame(keys, CurrentFrameTime, sampleWindow));
        }
Example #3
0
 protected IDictionary <MeasurementKey, IMeasurement> GetRelativeFrame(FieldMapping fieldMapping)
 {
     MeasurementKey[] keys = m_timeWindowKeys[m_timeWindowKeyIndex++];
     AlignmentCoordinator.SampleWindow sampleWindow = CreateSampleWindow(fieldMapping);
     return(AlignmentCoordinator.GetFrame(keys, CurrentFrameTime, sampleWindow));
 }