public void GetInsertionPoint(string name, ref Displacements offsetDistancesI, ref Displacements offsetDistancesJ, ref bool isStiffnessTransformed, ref string coordinateSystem) { }
/// <summary> /// Factories the specified unique name. /// </summary> /// <param name="uniqueName">Name of the unique.</param> /// <param name="nodeI">The node i.</param> /// <param name="nodeJ">The node j.</param> /// <param name="storyName">Name of the story.</param> /// <param name="angle">The angle.</param> /// <param name="pointIOffset">The point i offset.</param> /// <param name="pointJOffset">The point j offset.</param> /// <param name="cardinalInsertionPoint">The cardinal insertion point.</param> /// <param name="section">The section.</param> /// <returns>Frame.</returns> public static Frame Factory(string uniqueName, Node nodeI, Node nodeJ, string storyName = "", double angle = 0, Displacements pointIOffset = new Displacements(), Displacements pointJOffset = new Displacements(), eCardinalInsertionPoint cardinalInsertionPoint = eCardinalInsertionPoint.Centroid, FrameSection section = null) { if (Registry.Frames.Keys.Contains(uniqueName)) { return(Registry.Frames[uniqueName]); } Frame frame = new Frame(nodeI, nodeJ, uniqueName) { Story = storyName, Angle = angle, PointIOffset = pointIOffset, PointJOffset = pointJOffset, CardinalInsertionPoint = cardinalInsertionPoint, Section = section }; Registry.Frames.Add(uniqueName, frame); return(Registry.Frames[uniqueName]); }
/* #region fields for using in serialization - deserialization * * private List<double[]> DisplacementsValues; * private LoadCase[] DisplacementsCases; * * private LoadCase[] ForcesCases; * private List<double[]> ForcesValues; * #endregion * * * /// <summary> * /// Populates a <see cref="T:System.Runtime.Serialization.SerializationInfo" /> with the data needed to serialize the target object. * /// </summary> * /// <param name="info">The <see cref="T:System.Runtime.Serialization.SerializationInfo" /> to populate with data.</param> * /// <param name="context">The destination (see <see cref="T:System.Runtime.Serialization.StreamingContext" />) for this serialization.</param> * /// <exception cref="System.NotImplementedException"></exception> * public virtual void GetObjectData(SerializationInfo info, StreamingContext context) * { * info.AddValue("ReleasedMap",ReleasedMap); * info.AddValue("FixedMap",FixedMap); * info.AddValue("ReversedReleasedMap",ReversedReleasedMap); * info.AddValue("ReversedFixedMap",ReversedFixedMap); * info.AddValue("settlementsLoadCase",settlementsLoadCase); * * FillArraysFromDictionary(); * * info.AddValue("DisplacementsCases", DisplacementsCases); * info.AddValue("DisplacementsValues", DisplacementsValues); * info.AddValue("ForcesCases", ForcesCases); * info.AddValue("ForcesValues", ForcesValues); * * //info.AddValue("KffCholesky", ); * //info.AddValue("KffLdl", KffLdl); * info.AddValue("Kss", Kss); * info.AddValue("Kfs", Kfs); * } * * private void FillArraysFromDictionary() * { * DisplacementsCases = new LoadCase[displacements.Count]; * DisplacementsValues = new List<double[]>(); * * var cnt = 0; * * foreach (var pair in displacements) * { * DisplacementsCases[cnt++] = pair.Key; * DisplacementsValues.Add(pair.Value); * } * * ForcesCases = new LoadCase[displacements.Count]; * ForcesValues = new List<double[]>(); * * cnt = 0; * * foreach (var pair in forces) * { * ForcesCases[cnt++] = pair.Key; * ForcesValues.Add(pair.Value); * } * } * * protected StaticLinearAnalysisResult(SerializationInfo info, StreamingContext context) * { * ReleasedMap = info.GetValue<int[]>("ReleasedMap"); * FixedMap = info.GetValue<int[]>("FixedMap"); * ReversedReleasedMap = info.GetValue<int[]>("ReversedReleasedMap"); * ReversedFixedMap = info.GetValue<int[]>("ReversedFixedMap"); * settlementsLoadCase = info.GetValue<LoadCase>("settlementsLoadCase"); * * DisplacementsCases = info.GetValue<LoadCase[]>("DisplacementsCases"); * DisplacementsValues = info.GetValue<List<double[]>>("DisplacementsValues"); * ForcesCases = info.GetValue<LoadCase[]>("ForcesCases"); * ForcesValues = info.GetValue<List<double[]>>("ForcesValues"); * * KffCholesky = info.GetValue<CSparse.Double.Factorization.SparseCholesky>("KffCholesky"); * //KffLdl = info.GetValue<CSparse.Double.Factorization.SparseLDL>("KffLdl"); * * Kss = info.GetValue<CSparse.Double.CompressedColumnStorage>("Kss"); * Kfs = info.GetValue<CSparse.Double.CompressedColumnStorage>("Kfs"); * } * * [OnDeserialized] * private void FillDictionaryFromArray(StreamingContext context) * { * displacements.Clear(); * forces.Clear(); * * for (var i = 0; i < DisplacementsValues.Count; i++) * { * displacements[DisplacementsCases[i]] = DisplacementsValues[i]; * } * * for (var i = 0; i < ForcesValues.Count; i++) * { * forces[ForcesCases[i]] = ForcesValues[i]; * } * } */ #endregion public void Clear() { Displacements.Clear(); Forces.Clear(); ElementForces.Clear(); ConcentratedForces.Clear(); SupportReactions.Clear(); }
public void SetInsertionPoint(string name, Displacements offsetDistancesI, Displacements offsetDistancesJ, bool isStiffnessTransformed, string coordinateSystem = CoordinateSystems.Global, eItemType itemType = eItemType.Object) { }
public void GetInsertionPoint(string name, ref Displacements offsetDistancesI, ref Displacements offsetDistancesJ, ref eCardinalInsertionPoint cardinalPoint, ref bool isMirroredLocal2, ref bool isStiffnessTransformed, ref string coordinateSystem) { }
internal override bool ParseNodeBodyElement(string id, VRMLParser parser) { if (id == "coordIndex") { CoordIndex.AddRange(parser.ParseSFInt32OrMFInt32Value()); } else if (id == "displacements") { Displacements.AddRange(parser.ParseSFVec3fOrMFVec3fValue()); } else if (id == "name") { Name = parser.ParseStringValue(); } else if (id == "weight") { Weight = parser.ParseDoubleValue(); } else { return(false); } return(true); }
/// <summary> /// This function returns a list of ground displacement load assignments made to one or more specified point elements. /// </summary> /// <param name="name">The name of an existing point object, element or group of objects, depending on the value of <paramref name="itemType" />.</param> /// <param name="numberItems">This is the total number of ground displacement load assignments returned.</param> /// <param name="pointNames">The name of the point element to which the specified ground displacement load assignment applies.</param> /// <param name="loadPatterns">The name of the load pattern for each load.</param> /// <param name="loadPatternSteps">The load pattern step for each load. /// In most cases this item does not apply and will be returned as 0.</param> /// <param name="coordinateSystem">The name of the coordinate system for the ground displacement. /// This is either Local or the name of a defined coordinate system.</param> /// <param name="displacements">The ground displacements assigned along the local or global axis direction, depending on the specified <paramref name="coordinateSystem" />.</param> /// <param name="itemType">If this item is <see cref="eItemTypeElement.ObjectElement" />, the load assignments are retrieved for the elements corresponding to the object specified by the <paramref name="name" /> item. /// If this item is <see cref="eItemTypeElement.Element" />, the load assignments are retrieved for the element specified by the <paramref name="name" /> item. /// If this item is <see cref="eItemTypeElement.GroupElement" />, the load assignments are retrieved for the elements corresponding to all objects included in the group specified by the <paramref name="name" /> item. /// If this item is <see cref="eItemTypeElement.SelectionElement" />, the load assignments are retrieved for elements corresponding to all selected objects, and the <paramref name="name" /> item is ignored.</param> /// <exception cref="CSiException"></exception> public void GetLoadDisplacement(string name, ref int numberItems, ref string[] pointNames, ref string[] loadPatterns, ref int[] loadPatternSteps, ref string[] coordinateSystem, ref Displacements[] displacements, eItemTypeElement itemType = eItemTypeElement.Element) { double[] U1 = new double[0]; double[] U2 = new double[0]; double[] U3 = new double[0]; double[] R1 = new double[0]; double[] R2 = new double[0]; double[] R3 = new double[0]; _callCode = _sapModel.PointElm.GetLoadDispl(name, ref numberItems, ref pointNames, ref loadPatterns, ref loadPatternSteps, ref coordinateSystem, ref U1, ref U2, ref U3, ref R1, ref R2, ref R3, EnumLibrary.Convert <eItemTypeElement, CSiProgram.eItemTypeElm>(itemType)); if (throwCurrentApiException(_callCode)) { throw new CSiException(); } displacements = new Displacements[numberItems - 1]; for (int i = 0; i < numberItems; i++) { displacements[i].UX = U1[i]; displacements[i].UY = U2[i]; displacements[i].UZ = U3[i]; displacements[i].RX = R1[i]; displacements[i].RY = R2[i]; displacements[i].RZ = R3[i]; } }
public void GetInsertionPoint(string name, ref Displacements offsetDistancesI, ref Displacements offsetDistancesJ) { }