private void SetLine(FEWorld world, uint valueId) { System.Diagnostics.Debug.Assert(Type == ElementType.Line); if (Type != ElementType.Line) { return; } FieldValue fv = world.GetFieldValue(valueId); uint quantityId = fv.QuantityId; int feOrder; { uint feId = world.GetLineFEIdFromMesh(quantityId, MeshId, 0); // 先頭の要素 System.Diagnostics.Debug.Assert(feId != 0); LineFE lineFE = world.GetLineFE(quantityId, feId); feOrder = lineFE.Order; ElemPtCount = lineFE.NodeCount; } Indexs = new uint[ElemPtCount * ElemCount]; for (int iEdge = 0; iEdge < ElemCount; iEdge++) { uint feId = world.GetLineFEIdFromMesh(quantityId, MeshId, (uint)iEdge); System.Diagnostics.Debug.Assert(feId != 0); LineFE lineFE = world.GetLineFE(quantityId, feId); for (int iPt = 0; iPt < ElemPtCount; iPt++) { Indexs[iEdge * ElemPtCount + iPt] = (uint)lineFE.NodeCoordIds[iPt]; } } }