コード例 #1
0
        /// <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);
        }
コード例 #2
0
        /// <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);
        }
コード例 #3
0
ファイル: Geometry1D.cs プロジェクト: LitvinovVN/Elasticity
        public override NodeSet GetNodeSet(GridLayers gridLayers)
        {
            NodeSet1D nodeSet1D = new NodeSet1D();

            foreach (var geometryElement in GeometryElements)
            {
                nodeSet1D.Merge(geometryElement.GetNodeSet(gridLayers));
            }

            return(nodeSet1D);
        }
コード例 #4
0
 public GridWithGeometryPreCalculated1D(Grid1D grid, Geometry1D geometry)
 {
     GenerateLayersFromGridAndGeometry(grid, geometry);
     CalculateGridLayers1DParamaters();
     NodeSet1D = (NodeSet1D)GenerateNodeSetFromGridLayersAndGeometry(GridLayers1D, geometry);
 }