Canguro.Controller.ItemTextBuilder.GetItemText C# (CSharp) Method

GetItemText() public method

public GetItemText ( Item item, System.Vector3 position, float xPos ) : string
item Item
position System.Vector3
xPos float
return string
        public string GetItemText(Item item, Vector3 position, float xPos)
        {
            StringBuilder sb = new StringBuilder();
            RenderOptions options = graphicViewManager.ActiveView.ModelRenderer.RenderOptions;

            if (model.HasResults && (model.Results.ActiveCase == null || model.Results.ActiveCase.AbstractCase == null))
                return string.Empty;

            if (item != null && !options.ShowAnimated)
            {
                if (!options.ShowDeformed && options.InternalForcesShown == RenderOptions.InternalForces.None && !options.ShowDesigned)
                {
                    #region Show just model info (No Results here)
                    if (item is Joint)
                    {
                        Joint j = item as Joint;
                        sb.Append(getJointID(j));
                        sb.Append(" " + Culture.Get("Layer") + ": " + getJointLayer(j));
                        sb.Append(getJointCoord(j));
                        sb.Append(getJointRestraints(j));
                        sb.Append(getJointConstraints(j));
                        sb.Append(getJointMasses(j));
                    }
                    else if (item is LineElement)
                    {
                        LineElement l = item as LineElement;
                        sb.Append(getLineID(l, xPos));
                        sb.Append(getLineLength(l));
                        sb.Append(" " + Culture.Get("Layer") + ": " + getLineLayer(l));
                        sb.Append(getLineSection(l));
                    }
                    #endregion
                }
                else if (options.ShowStressed) { }  // Don't do anything (yet)
                else if (options.ShowDesigned)
                {
                    #region Design
                    if (item is Joint)
                    {
                        Joint j = item as Joint;
                        sb.Append(getJointID(j));
                        sb.Append(getJointCoord(j));
                        // TODO: Show design results (at point)
                    }
                    else if (item is LineElement)
                    {
                        LineElement l = item as LineElement;
                        sb.Append(getLineID(l, xPos));
                        sb.Append(getLineDesignInfo(l, xPos));
                    }
                    #endregion
                }
                else if (options.ShowDeformed)
                {
                    #region Deformed
                    if (item is Joint)
                    {
                        Joint j = item as Joint;
                        sb.Append(getJointID(j));
                        sb.Append(getJointCoord(j));
                        sb.Append(getJointDisplacements(j));
                    }
                    else if (item is LineElement)
                    {
                        LineElement l = item as LineElement;
                        sb.Append(getLineID(l, xPos));
                        sb.Append(getLineDeformedInfo(l, xPos));
                    }
                    #endregion
                }
                else if (options.InternalForcesShown != RenderOptions.InternalForces.None)
                {
                    #region Internal Forces
                    if (item is Joint)
                    {
                        Joint j = item as Joint;
                        sb.Append(getJointID(j));
                        sb.Append(getJointCoord(j));
                    }
                    else if (item is LineElement)
                    {
                        LineElement l = item as LineElement;
                        sb.Append(getLineID(l, xPos));
                        sb.Append(getLineForcesInfo(l, xPos, options.InternalForcesShown));
                        // TODO: Show internal force value at point
                    }
                    #endregion
                }
            }

            return sb.ToString();
        }