Files
Triangle.NET/src/MeshExplorer/Generators/RandomPoints.cs
T
2022-02-13 12:44:42 +01:00

56 lines
1.6 KiB
C#

// -----------------------------------------------------------------------
// <copyright file="RandomPoints.cs" company="">
// Christian Woltering, Triangle.NET, http://triangle.codeplex.com/
// </copyright>
// -----------------------------------------------------------------------
namespace MeshExplorer.Generators
{
using TriangleNet.Geometry;
/// <summary>
/// Simple random points generator.
/// </summary>
public class RandomPoints : BaseGenerator
{
public RandomPoints()
{
name = "Random Points";
description = "";
parameter = 3;
descriptions[0] = "Number of points:";
descriptions[1] = "Width:";
descriptions[2] = "Height:";
ranges[0] = new int[] { 10, 5000 };
ranges[1] = new int[] { 10, 200 };
ranges[2] = new int[] { 10, 200 };
}
public override IPolygon Generate(double param0, double param1, double param2)
{
int numPoints = GetParamValueInt(0, param0);
numPoints = (numPoints / 10) * 10;
if (numPoints < ranges[0][0])
{
numPoints = ranges[0][0];
}
var input = new Polygon(numPoints);
int width = GetParamValueInt(1, param1);
int height = GetParamValueInt(2, param2);
for (int i = 0; i < numPoints; i++)
{
input.Add(new Vertex(Util.Random.NextDouble() * width,
Util.Random.NextDouble() * height));
}
return input;
}
}
}