/// <summary>
        /// Fills the joint drifts.
        /// </summary>
        public void FillJointDrifts()
        {
            JointDrifts = new List <Tuple <LabelNameResultsIdentifier, JointDrifts> >();
            if (Registry.JointDrifts.Count == 0)
            {
                Registry.JointDrifts = GetJointDrifts(JointName);
            }

            foreach (var result in Registry.JointDrifts)
            {
                if (result.Item1.JointName != JointName)
                {
                    continue;
                }
                LabelNameResultsIdentifier identifier =
                    new LabelNameResultsIdentifier
                {
                    LoadCase   = result.Item1.LoadCase,
                    StepType   = result.Item1.StepType,
                    StepNumber = result.Item1.StepNumber,
                    StoryName  = result.Item1.StoryName,
                    Label      = result.Item1.Label
                };
                JointDrifts.Add(new Tuple <LabelNameResultsIdentifier, JointDrifts>(identifier, result.Item2));
            }
        }
Example #2
0
        /// <summary>
        /// Gets the story drifts.
        /// </summary>
        /// <returns>List&lt;Tuple&lt;LabelNameResultsIdentifier, StoryDrifts&gt;&gt;.</returns>
        public static List <Tuple <LabelNameResultsIdentifier, StoryDrifts> > GetStoryDrifts()
        {
            _analysisResults.StoryDrifts(
                out var storyNames,
                out var labels,
                out var loadCases,
                out var stepTypes,
                out var stepNumbers,
                out var directions,
                out var drifts,
                out var displacementsX,
                out var displacementsY,
                out var displacementsZ);

            List <Tuple <LabelNameResultsIdentifier, StoryDrifts> > jointDrifts = new List <Tuple <LabelNameResultsIdentifier, StoryDrifts> >();

            for (int i = 0; i < loadCases.Length; i++)
            {
                LabelNameResultsIdentifier identifier =
                    new LabelNameResultsIdentifier
                {
                    LoadCase   = loadCases[i],
                    StepType   = stepTypes[i],
                    StepNumber = stepNumbers[i],
                    StoryName  = storyNames[i],
                    Label      = labels[i]
                };

                StoryDrifts storyDrifts = new StoryDrifts
                {
                    Direction     = directions[i],
                    Drift         = drifts[i],
                    DisplacementX = displacementsX[i],
                    DisplacementY = displacementsY[i],
                    DisplacementZ = displacementsZ[i]
                };

                jointDrifts.Add(new Tuple <LabelNameResultsIdentifier, StoryDrifts>(identifier, storyDrifts));
            }

            return(jointDrifts);
        }