public ElementSetGridRegularBase(ParametersGridRegular grid, ISpatialDefinition spatialDefinition, ElementType elementType)
            : base(spatialDefinition, elementType)
        {
            GridParameters = grid.Clone() as ParametersGridRegular;

            Arguments = new IArgument[] {
                new ArgumentGridRegular(new Identity("Grid Parameters"), GridParameters),
                }.ToList();

            ElementType = ElementType;
        }
        public ElementSetGridRegularPoints(
			ParametersGridRegular grid,
			Located location,
			bool fastN)
            : base(new SpatialDefinition(new Describes("Regular Grid Points", "Point set specified on a regular grid"), -1), ElementType.Point)
        {
            GridParameters = grid.Clone() as ParametersGridRegular;
            PointsLocated = location;
            FastN = fastN;

            ElementCount = PointsLocated == Located.CellCentre
                ? grid.CellCountX * grid.CellCountY
                : (grid.CellCountX + 1) * (grid.CellCountY + 1);

            Caption = string.Format("Regular Grid {0}x{1} ({2}, {3})",
                GridParameters.CellCountX, GridParameters.CellCountY,
                PointsLocated.ToString(), ElementCount.ToString());

            Arguments = new IArgument[] {
                new ArgumentGridRegular(new Identity("Grid Parameters"), GridParameters),
                }.ToList();

            ElementType = ElementType.Point;
        }