/// <summary> /// Возвращает набор узлов сетки, входящих в примитив /// </summary> /// <param name="grid"></param> /// <returns></returns> public override NodeSet GetNodeSet(GridLayers gridLayers) { var nodeSet1D = new NodeSet1D(); var gridLayers1D = (GridLayers1D)gridLayers; for (int i = 0; i < gridLayers1D.GridLayers.Count; i++) { var curGridLayer = gridLayers1D.GridLayers[i]; decimal curCoordDecimal = curGridLayer.Coordinate; Coordinate curCoord = new Coordinate1D(curCoordDecimal); var nodeLocationEnum = IsCoordinateBelongsToGeometryPrimitive(curCoord); if (nodeLocationEnum != NodeLocationEnum.Outer) { var addingNode = new Node1D(); addingNode.Coordinate = new Coordinate1D(curGridLayer.Coordinate); addingNode.NodeLocationEnum = nodeLocationEnum; //addingNode. nodeSet1D.AddNode1D(addingNode); } } return(nodeSet1D); }
/// <summary> /// Создаёт объект NodeSet1D по переданным объектам слоёв сетки и геометрии /// </summary> /// <param name="gridLayers"></param> /// <param name="geometry"></param> /// <returns></returns> public override NodeSet GenerateNodeSetFromGridLayersAndGeometry(GridLayers gridLayers, Geometry geometry) { NodeSet1D resultNodeSet1D = new NodeSet1D(); resultNodeSet1D = (NodeSet1D)geometry.GetNodeSet(gridLayers); return(resultNodeSet1D); }
public override NodeSet GetNodeSet(GridLayers gridLayers) { NodeSet1D nodeSet1D = new NodeSet1D(); foreach (var geometryElement in GeometryElements) { nodeSet1D.Merge(geometryElement.GetNodeSet(gridLayers)); } return(nodeSet1D); }
public GridWithGeometryPreCalculated1D(Grid1D grid, Geometry1D geometry) { GenerateLayersFromGridAndGeometry(grid, geometry); CalculateGridLayers1DParamaters(); NodeSet1D = (NodeSet1D)GenerateNodeSetFromGridLayersAndGeometry(GridLayers1D, geometry); }