Skip to content

DiGi.Geometry.Spatial.Random

github-actions[bot] edited this page Jul 15, 2026 · 2 revisions

DiGi.Geometry.Spatial.Random Namespace

Classes

Create Class

public static class Create

Inheritance System.Object → Create

Methods

Create.Plane(Range<double>, Range<double>, Range<double>, int, double) Method

Generates a DiGi.Geometry.Spatial.Classes.Plane based on the specified coordinate ranges.

public static DiGi.Geometry.Spatial.Classes.Plane? Plane(DiGi.Core.Classes.Range<double>? x, DiGi.Core.Classes.Range<double>? y, DiGi.Core.Classes.Range<double>? z, int seed=-1, double tolerance=0.001);

Parameters

x DiGi.Core.Classes.Range<System.Double>

The range of the X-axis as a DiGi.Core.Classes.Range<> of System.Double values.

y DiGi.Core.Classes.Range<System.Double>

The range of the Y-axis as a DiGi.Core.Classes.Range<> of System.Double values.

z DiGi.Core.Classes.Range<System.Double>

The range of the Z-axis as a DiGi.Core.Classes.Range<> of System.Double values.

seed System.Int32

An System.Int32 value used to seed the random number generator.

tolerance System.Double

A System.Double specifying the distance tolerance, which defaults to DiGi.Core.Constants.Tolerance.MacroDistance.

Returns

DiGi.Geometry.Spatial.Classes.Plane
A DiGi.Geometry.Spatial.Classes.Plane instance if x, y, and z are not null; otherwise, null.

Create.Plane(Range<double>, Range<double>, Range<double>, Random, double) Method

Generates a random DiGi.Geometry.Spatial.Classes.Plane based on the provided coordinate ranges, a random number generator, and a tolerance value.

public static DiGi.Geometry.Spatial.Classes.Plane? Plane(DiGi.Core.Classes.Range<double>? x, DiGi.Core.Classes.Range<double>? y, DiGi.Core.Classes.Range<double>? z, System.Random? random, double tolerance=0.001);

Parameters

x DiGi.Core.Classes.Range<System.Double>

The DiGi.Core.Classes.Range<> defining the range for the X-coordinate of the point on the plane.

y DiGi.Core.Classes.Range<System.Double>

The DiGi.Core.Classes.Range<> defining the range for the Y-coordinate of the point on the plane.

z DiGi.Core.Classes.Range<System.Double>

The DiGi.Core.Classes.Range<> defining the range for the Z-coordinate of the point on the plane.

random System.Random

The System.Random instance used to generate random values for the point and vector.

tolerance System.Double

The System.Double tolerance value, which defaults to DiGi.Core.Constants.Tolerance.MacroDistance.

Returns

DiGi.Geometry.Spatial.Classes.Plane
A DiGi.Geometry.Spatial.Classes.Plane instance if a valid DiGi.Geometry.Spatial.Classes.Point3D and DiGi.Geometry.Spatial.Classes.Vector3D can be generated; otherwise, null.

Create.Plane(BoundingBox3D, int, double) Method

Generates a DiGi.Geometry.Spatial.Classes.Plane based on the provided DiGi.Geometry.Spatial.Classes.BoundingBox3D, using a random seed and a specified tolerance.

public static DiGi.Geometry.Spatial.Classes.Plane? Plane(DiGi.Geometry.Spatial.Classes.BoundingBox3D? boundingBox3D, int seed=-1, double tolerance=0.001);

Parameters

boundingBox3D DiGi.Geometry.Spatial.Classes.BoundingBox3D

The DiGi.Geometry.Spatial.Classes.BoundingBox3D used to define the spatial constraints for the plane generation.

seed System.Int32

An System.Int32 value used as the seed for the random number generator.

tolerance System.Double

A System.Double representing the geometric tolerance, which defaults to DiGi.Core.Constants.Tolerance.MacroDistance.

Returns

DiGi.Geometry.Spatial.Classes.Plane
A DiGi.Geometry.Spatial.Classes.Plane instance if the boundingBox3D is not null; otherwise, null.

Create.Plane(BoundingBox3D, Random, double) Method

Generates a random DiGi.Geometry.Spatial.Classes.Plane based on the provided DiGi.Geometry.Spatial.Classes.BoundingBox3D, System.Random instance, and tolerance.

public static DiGi.Geometry.Spatial.Classes.Plane? Plane(DiGi.Geometry.Spatial.Classes.BoundingBox3D? boundingBox3D, System.Random random, double tolerance=0.001);

Parameters

boundingBox3D DiGi.Geometry.Spatial.Classes.BoundingBox3D

The DiGi.Geometry.Spatial.Classes.BoundingBox3D used to constrain the random point generation for the plane.

random System.Random

The System.Random instance used to generate random values.

tolerance System.Double

The System.Double tolerance value used during the generation process, which defaults to DiGi.Core.Constants.Tolerance.MacroDistance.

Returns

DiGi.Geometry.Spatial.Classes.Plane
A randomly generated DiGi.Geometry.Spatial.Classes.Plane if successful; otherwise, null.

Create.Point3D(Range<double>, Range<double>, Range<double>, int, double) Method

Generates a random DiGi.Geometry.Spatial.Classes.Point3D within the specified coordinate ranges.

public static DiGi.Geometry.Spatial.Classes.Point3D? Point3D(DiGi.Core.Classes.Range<double>? x, DiGi.Core.Classes.Range<double>? y, DiGi.Core.Classes.Range<double>? z, int seed=-1, double tolerance=0.001);

Parameters

x DiGi.Core.Classes.Range<System.Double>

The DiGi.Core.Classes.Range<> defining the boundaries for the X-coordinate.

y DiGi.Core.Classes.Range<System.Double>

The DiGi.Core.Classes.Range<> defining the boundaries for the Y-coordinate.

z DiGi.Core.Classes.Range<System.Double>

The DiGi.Core.Classes.Range<> defining the boundaries for the Z-coordinate.

seed System.Int32

An System.Int32 value used to seed the random number generator.

tolerance System.Double

A System.Double specifying the geometric tolerance, which defaults to DiGi.Core.Constants.Tolerance.MacroDistance.

Returns

DiGi.Geometry.Spatial.Classes.Point3D
A DiGi.Geometry.Spatial.Classes.Point3D instance if all provided ranges are non-null; otherwise, null.

Create.Point3D(Range<double>, Range<double>, Range<double>, Random, double) Method

Generates a random DiGi.Geometry.Spatial.Classes.Point3D based on the specified coordinate ranges and tolerance.

public static DiGi.Geometry.Spatial.Classes.Point3D? Point3D(DiGi.Core.Classes.Range<double>? x, DiGi.Core.Classes.Range<double>? y, DiGi.Core.Classes.Range<double>? z, System.Random? random, double tolerance=0.001);

Parameters

x DiGi.Core.Classes.Range<System.Double>

The DiGi.Core.Classes.Range<> for the X-coordinate.

y DiGi.Core.Classes.Range<System.Double>

The DiGi.Core.Classes.Range<> for the Y-coordinate.

z DiGi.Core.Classes.Range<System.Double>

The DiGi.Core.Classes.Range<> for the Z-coordinate.

random System.Random

The System.Random instance used to generate random values.

tolerance System.Double

The System.Double tolerance value, which defaults to DiGi.Core.Constants.Tolerance.MacroDistance.

Returns

DiGi.Geometry.Spatial.Classes.Point3D
A DiGi.Geometry.Spatial.Classes.Point3D if x, y, z, and random are not null; otherwise, null.

Create.Point3D(BoundingBox3D, int, double) Method

Generates a random DiGi.Geometry.Spatial.Classes.Point3D within the specified DiGi.Geometry.Spatial.Classes.BoundingBox3D.

public static DiGi.Geometry.Spatial.Classes.Point3D? Point3D(DiGi.Geometry.Spatial.Classes.BoundingBox3D? boundingBox3D, int seed=-1, double tolerance=0.001);

Parameters

boundingBox3D DiGi.Geometry.Spatial.Classes.BoundingBox3D

The DiGi.Geometry.Spatial.Classes.BoundingBox3D that defines the boundaries for generating the point.

seed System.Int32

An System.Int32 value used to seed the random number generator.

tolerance System.Double

A System.Double value representing the distance tolerance, which defaults to DiGi.Core.Constants.Tolerance.MacroDistance.

Returns

DiGi.Geometry.Spatial.Classes.Point3D
A DiGi.Geometry.Spatial.Classes.Point3D located within the boundingBox3D, or null if the boundingBox3D is null.

Create.Point3D(BoundingBox3D, Random, double) Method

Generates a random DiGi.Geometry.Spatial.Classes.Point3D within the specified DiGi.Geometry.Spatial.Classes.BoundingBox3D.

public static DiGi.Geometry.Spatial.Classes.Point3D? Point3D(DiGi.Geometry.Spatial.Classes.BoundingBox3D? boundingBox3D, System.Random? random, double tolerance=0.001);

Parameters

boundingBox3D DiGi.Geometry.Spatial.Classes.BoundingBox3D

The DiGi.Geometry.Spatial.Classes.BoundingBox3D that defines the spatial boundaries for the point generation.

random System.Random

The System.Random instance used to generate random coordinates.

tolerance System.Double

The System.Double tolerance value, which defaults to DiGi.Core.Constants.Tolerance.MacroDistance.

Returns

DiGi.Geometry.Spatial.Classes.Point3D
A randomly generated DiGi.Geometry.Spatial.Classes.Point3D within the boundaries of the boundingBox3D, or null if the boundingBox3D, random, or the bounding box's minimum or maximum points are null.

Create.Point3D(Polygon3D, int, double) Method

Generates a random DiGi.Geometry.Spatial.Classes.Point3D within the specified DiGi.Geometry.Spatial.Classes.Polygon3D using a provided seed and tolerance.

public static DiGi.Geometry.Spatial.Classes.Point3D? Point3D(DiGi.Geometry.Spatial.Classes.Polygon3D? polygon3D, int seed=-1, double tolerance=0.001);

Parameters

polygon3D DiGi.Geometry.Spatial.Classes.Polygon3D

The DiGi.Geometry.Spatial.Classes.Polygon3D from which to generate the point.

seed System.Int32

An System.Int32 value used as the seed for the random number generator.

tolerance System.Double

A System.Double representing the distance tolerance, defaulting to DiGi.Core.Constants.Tolerance.MacroDistance.

Returns

DiGi.Geometry.Spatial.Classes.Point3D
A DiGi.Geometry.Spatial.Classes.Point3D located within the polygon3D, or null if the polygon3D is null.

Create.Point3D(Polygon3D, Random, double) Method

Generates a random DiGi.Geometry.Spatial.Classes.Point3D within the boundaries of the specified DiGi.Geometry.Spatial.Classes.Polygon3D.

public static DiGi.Geometry.Spatial.Classes.Point3D? Point3D(DiGi.Geometry.Spatial.Classes.Polygon3D? polygon3D, System.Random? random, double tolerance=0.001);

Parameters

polygon3D DiGi.Geometry.Spatial.Classes.Polygon3D

The DiGi.Geometry.Spatial.Classes.Polygon3D instance used as the boundary for generating the point.

random System.Random

The System.Random instance used to generate random coordinates.

tolerance System.Double

The System.Double tolerance value, which defaults to DiGi.Core.Constants.Tolerance.MacroDistance.

Returns

DiGi.Geometry.Spatial.Classes.Point3D
A DiGi.Geometry.Spatial.Classes.Point3D instance representing a random point within the polygon3D, or null if the polygon3D is null, its associated plane is not defined, or a valid 2D point cannot be generated.

Create.Polygon3D(Range<double>, Range<double>, Range<double>, int, int, double) Method

Generates a DiGi.Geometry.Spatial.Classes.Polygon3D within the specified spatial ranges using a specified number of points.

public static DiGi.Geometry.Spatial.Classes.Polygon3D? Polygon3D(DiGi.Core.Classes.Range<double>? x, DiGi.Core.Classes.Range<double>? y, DiGi.Core.Classes.Range<double>? z, int pointCount, int seed=-1, double tolerance=0.001);

Parameters

x DiGi.Core.Classes.Range<System.Double>

The DiGi.Core.Classes.Range<> defining the boundaries along the X-axis.

y DiGi.Core.Classes.Range<System.Double>

The DiGi.Core.Classes.Range<> defining the boundaries along the Y-axis.

z DiGi.Core.Classes.Range<System.Double>

The DiGi.Core.Classes.Range<> defining the boundaries along the Z-axis.

pointCount System.Int32

The integer number of points to generate for the polygon.

seed System.Int32

The integer seed value used for the random number generator.

tolerance System.Double

The double precision tolerance used for geometric operations, which defaults to DiGi.Core.Constants.Tolerance.MacroDistance.

Returns

DiGi.Geometry.Spatial.Classes.Polygon3D
A DiGi.Geometry.Spatial.Classes.Polygon3D instance if the x, y, and z ranges are not null; otherwise, null.

Create.Polygon3D(Range<double>, Range<double>, Range<double>, int, Random, double) Method

Creates a DiGi.Geometry.Spatial.Classes.Polygon3D within a three-dimensional space defined by the provided coordinate ranges.

public static DiGi.Geometry.Spatial.Classes.Polygon3D? Polygon3D(DiGi.Core.Classes.Range<double>? x, DiGi.Core.Classes.Range<double>? y, DiGi.Core.Classes.Range<double>? z, int pointCount, System.Random? random, double tolerance=0.001);

Parameters

x DiGi.Core.Classes.Range<System.Double>

The DiGi.Core.Classes.Range<> defining the extent along the X-axis.

y DiGi.Core.Classes.Range<System.Double>

The DiGi.Core.Classes.Range<> defining the extent along the Y-axis.

z DiGi.Core.Classes.Range<System.Double>

The DiGi.Core.Classes.Range<> defining the extent along the Z-axis.

pointCount System.Int32

The number of points to be generated for the DiGi.Geometry.Spatial.Classes.Polygon3D.

random System.Random

An instance of System.Random used for random point generation.

tolerance System.Double

The double precision tolerance value, which defaults to DiGi.Core.Constants.Tolerance.MacroDistance.

Returns

DiGi.Geometry.Spatial.Classes.Polygon3D
A DiGi.Geometry.Spatial.Classes.Polygon3D if the x, y, z, and random parameters are not null; otherwise, null.

Create.Polygon3D(BoundingBox3D, int, int, double) Method

Generates a DiGi.Geometry.Spatial.Classes.Polygon3D within the specified DiGi.Geometry.Spatial.Classes.BoundingBox3D.

public static DiGi.Geometry.Spatial.Classes.Polygon3D? Polygon3D(DiGi.Geometry.Spatial.Classes.BoundingBox3D? boundingBox3D, int pointCount, int seed=-1, double tolerance=0.001);

Parameters

boundingBox3D DiGi.Geometry.Spatial.Classes.BoundingBox3D

The DiGi.Geometry.Spatial.Classes.BoundingBox3D that defines the spatial boundaries for the polygon generation.

pointCount System.Int32

An System.Int32 specifying the number of vertices to be generated for the DiGi.Geometry.Spatial.Classes.Polygon3D.

seed System.Int32

An System.Int32 used as the seed for the random number generator; a value of -1 indicates a non-deterministic seed.

tolerance System.Double

A System.Double specifying the geometric tolerance, which defaults to DiGi.Core.Constants.Tolerance.MacroDistance.

Returns

DiGi.Geometry.Spatial.Classes.Polygon3D
A DiGi.Geometry.Spatial.Classes.Polygon3D generated within the boundingBox3D, or null if the boundingBox3D is null.

Create.Polygon3D(BoundingBox3D, int, Random, double) Method

Generates a random DiGi.Geometry.Spatial.Classes.Polygon3D within the specified DiGi.Geometry.Spatial.Classes.BoundingBox3D.

public static DiGi.Geometry.Spatial.Classes.Polygon3D? Polygon3D(DiGi.Geometry.Spatial.Classes.BoundingBox3D? boundingBox3D, int pointCount, System.Random random, double tolerance=0.001);

Parameters

boundingBox3D DiGi.Geometry.Spatial.Classes.BoundingBox3D

The DiGi.Geometry.Spatial.Classes.BoundingBox3D that defines the spatial boundaries for the polygon generation.

pointCount System.Int32

The number of vertices to be generated for the resulting polygon.

random System.Random

The System.Random instance used to ensure randomness in plane selection and point placement.

tolerance System.Double

The double value specifying the geometric tolerance, which defaults to DiGi.Core.Constants.Tolerance.MacroDistance.

Returns

DiGi.Geometry.Spatial.Classes.Polygon3D
A DiGi.Geometry.Spatial.Classes.Polygon3D instance if a valid polygon could be generated; otherwise, null.

Create.PolygonalFace3D(Range<double>, Range<double>, Range<double>, int, int, double) Method

Generates a DiGi.Geometry.Spatial.Classes.PolygonalFace3D within the specified spatial ranges using a set number of points.

public static DiGi.Geometry.Spatial.Classes.PolygonalFace3D? PolygonalFace3D(DiGi.Core.Classes.Range<double>? x, DiGi.Core.Classes.Range<double>? y, DiGi.Core.Classes.Range<double>? z, int pointCount, int seed=-1, double tolerance=0.001);

Parameters

x DiGi.Core.Classes.Range<System.Double>

The DiGi.Core.Classes.Range<> for the X-axis coordinate.

y DiGi.Core.Classes.Range<System.Double>

The DiGi.Core.Classes.Range<> for the Y-axis coordinate.

z DiGi.Core.Classes.Range<System.Double>

The DiGi.Core.Classes.Range<> for the Z-axis coordinate.

pointCount System.Int32

The number of points to be generated for the polygonal face.

seed System.Int32

The seed value used for the random number generator. A value of -1 typically indicates a default or random seed.

tolerance System.Double

The geometric tolerance used for operations, which defaults to DiGi.Core.Constants.Tolerance.MacroDistance.

Returns

DiGi.Geometry.Spatial.Classes.PolygonalFace3D
A DiGi.Geometry.Spatial.Classes.PolygonalFace3D instance if the x, y, and z ranges are provided; otherwise, null.

Create.PolygonalFace3D(Range<double>, Range<double>, Range<double>, int, Random, double) Method

Creates a DiGi.Geometry.Spatial.Classes.PolygonalFace3D based on the specified X, Y, and Z ranges.

public static DiGi.Geometry.Spatial.Classes.PolygonalFace3D? PolygonalFace3D(DiGi.Core.Classes.Range<double>? x, DiGi.Core.Classes.Range<double>? y, DiGi.Core.Classes.Range<double>? z, int pointCount, System.Random random, double tolerance=0.001);

Parameters

x DiGi.Core.Classes.Range<System.Double>

The DiGi.Core.Classes.Range<> defining the extent of the X-axis.

y DiGi.Core.Classes.Range<System.Double>

The DiGi.Core.Classes.Range<> defining the extent of the Y-axis.

z DiGi.Core.Classes.Range<System.Double>

The DiGi.Core.Classes.Range<> defining the extent of the Z-axis.

pointCount System.Int32

The integer number of points to generate for the polygonal face.

random System.Random

The System.Random instance used for randomizing point positions.

tolerance System.Double

The double value specifying the tolerance for geometric operations, which defaults to DiGi.Core.Constants.Tolerance.MacroDistance.

Returns

DiGi.Geometry.Spatial.Classes.PolygonalFace3D
A DiGi.Geometry.Spatial.Classes.PolygonalFace3D if x, y, z, and random are not null; otherwise, null.

Create.PolygonalFace3D(BoundingBox3D, int, int, double) Method

Creates a DiGi.Geometry.Spatial.Classes.PolygonalFace3D within the specified DiGi.Geometry.Spatial.Classes.BoundingBox3D using a random seed and tolerance.

public static DiGi.Geometry.Spatial.Classes.PolygonalFace3D? PolygonalFace3D(DiGi.Geometry.Spatial.Classes.BoundingBox3D? boundingBox3D, int pointCount, int seed=-1, double tolerance=0.001);

Parameters

boundingBox3D DiGi.Geometry.Spatial.Classes.BoundingBox3D

The DiGi.Geometry.Spatial.Classes.BoundingBox3D that defines the spatial bounds for the face generation.

pointCount System.Int32

The System.Int32 number of points to be used in the creation of the polygonal face.

seed System.Int32

The System.Int32 seed value for the random number generator.

tolerance System.Double

The System.Double tolerance value, defaulting to DiGi.Core.Constants.Tolerance.MacroDistance, used for geometric calculations.

Returns

DiGi.Geometry.Spatial.Classes.PolygonalFace3D
A DiGi.Geometry.Spatial.Classes.PolygonalFace3D if the boundingBox3D is not null; otherwise, null.

Create.PolygonalFace3D(BoundingBox3D, int, Random, double) Method

Generates a random DiGi.Geometry.Spatial.Classes.PolygonalFace3D within the specified bounding box.

public static DiGi.Geometry.Spatial.Classes.PolygonalFace3D? PolygonalFace3D(DiGi.Geometry.Spatial.Classes.BoundingBox3D? boundingBox3D, int pointCount, System.Random random, double tolerance=0.001);

Parameters

boundingBox3D DiGi.Geometry.Spatial.Classes.BoundingBox3D

The DiGi.Geometry.Spatial.Classes.BoundingBox3D that defines the spatial boundaries for generating the face.

pointCount System.Int32

The System.Int32 number of points to be used in the generation of the polygons.

random System.Random

The System.Random instance used for stochastic generation.

tolerance System.Double

The System.Double distance tolerance for geometric operations, which defaults to DiGi.Core.Constants.Tolerance.MacroDistance.

Returns

DiGi.Geometry.Spatial.Classes.PolygonalFace3D
A randomly generated DiGi.Geometry.Spatial.Classes.PolygonalFace3D instance if the generation is successful; otherwise, null.

Create.Polyhedron(Range<double>, Range<double>, Range<double>, int, int, double) Method

Creates a DiGi.Geometry.Spatial.Classes.Polyhedron based on the specified spatial ranges and point count.

public static DiGi.Geometry.Spatial.Classes.Polyhedron? Polyhedron(DiGi.Core.Classes.Range<double>? x, DiGi.Core.Classes.Range<double>? y, DiGi.Core.Classes.Range<double>? z, int pointCount, int seed=-1, double tolerance=0.001);

Parameters

x DiGi.Core.Classes.Range<System.Double>

The DiGi.Core.Classes.Range<> defining the extent of the X-axis.

y DiGi.Core.Classes.Range<System.Double>

The DiGi.Core.Classes.Range<> defining the extent of the Y-axis.

z DiGi.Core.Classes.Range<System.Double>

The DiGi.Core.Classes.Range<> defining the extent of the Z-axis.

pointCount System.Int32

The number of points to generate for the construction of the DiGi.Geometry.Spatial.Classes.Polyhedron.

seed System.Int32

The seed value used for the random number generator; a value of -1 indicates a random seed.

tolerance System.Double

The geometric tolerance used during creation, which defaults to DiGi.Core.Constants.Tolerance.MacroDistance.

Returns

DiGi.Geometry.Spatial.Classes.Polyhedron
A DiGi.Geometry.Spatial.Classes.Polyhedron instance if x, y, and z are all provided; otherwise, null.

Create.Polyhedron(Range<double>, Range<double>, Range<double>, int, Random, double) Method

Creates a DiGi.Geometry.Spatial.Classes.Polyhedron within a three-dimensional space defined by the specified spatial ranges.

public static DiGi.Geometry.Spatial.Classes.Polyhedron? Polyhedron(DiGi.Core.Classes.Range<double>? x, DiGi.Core.Classes.Range<double>? y, DiGi.Core.Classes.Range<double>? z, int pointCount, System.Random? random, double tolerance=0.001);

Parameters

x DiGi.Core.Classes.Range<System.Double>

The DiGi.Core.Classes.Range<> of System.Double defining the extent along the X-axis.

y DiGi.Core.Classes.Range<System.Double>

The DiGi.Core.Classes.Range<> of System.Double defining the extent along the Y-axis.

z DiGi.Core.Classes.Range<System.Double>

The DiGi.Core.Classes.Range<> of System.Double defining the extent along the Z-axis.

pointCount System.Int32

The number of points to be used in the generation of the DiGi.Geometry.Spatial.Classes.Polyhedron.

random System.Random

An instance of System.Random used for random point distribution.

tolerance System.Double

The distance tolerance used for geometric operations, which defaults to DiGi.Core.Constants.Tolerance.MacroDistance.

Returns

DiGi.Geometry.Spatial.Classes.Polyhedron
A DiGi.Geometry.Spatial.Classes.Polyhedron if the spatial ranges and random are not null; otherwise, null.

Create.Polyhedron(BoundingBox3D, int, int, double) Method

Creates a DiGi.Geometry.Spatial.Classes.Polyhedron within the specified DiGi.Geometry.Spatial.Classes.BoundingBox3D using a random distribution of points.

public static DiGi.Geometry.Spatial.Classes.Polyhedron? Polyhedron(DiGi.Geometry.Spatial.Classes.BoundingBox3D? boundingBox3D, int pointCount, int seed=-1, double tolerance=0.001);

Parameters

boundingBox3D DiGi.Geometry.Spatial.Classes.BoundingBox3D

The DiGi.Geometry.Spatial.Classes.BoundingBox3D that defines the spatial boundaries for the polyhedron generation.

pointCount System.Int32

The number of points to be used in the creation of the polyhedron.

seed System.Int32

The System.Int32 seed value for the random number generator; a value of -1 indicates a non-deterministic seed.

tolerance System.Double

The System.Double tolerance used for geometric operations, defaulting to DiGi.Core.Constants.Tolerance.MacroDistance.

Returns

DiGi.Geometry.Spatial.Classes.Polyhedron
A DiGi.Geometry.Spatial.Classes.Polyhedron generated within the specified boundaries, or null if the boundingBox3D is null.

Create.Polyhedron(BoundingBox3D, int, Random, double) Method

Generates a random DiGi.Geometry.Spatial.Classes.Polyhedron based on a provided DiGi.Geometry.Spatial.Classes.BoundingBox3D, using a randomly generated polygonal face and an extrusion length derived from the bounding box constraints.

public static DiGi.Geometry.Spatial.Classes.Polyhedron? Polyhedron(DiGi.Geometry.Spatial.Classes.BoundingBox3D? boundingBox3D, int pointCount, System.Random random, double tolerance=0.001);

Parameters

boundingBox3D DiGi.Geometry.Spatial.Classes.BoundingBox3D

The DiGi.Geometry.Spatial.Classes.BoundingBox3D that defines the spatial boundaries for the generation process.

pointCount System.Int32

An System.Int32 specifying the number of points used to create the base polygonal face.

random System.Random

A System.Random instance used to randomize the face generation and the final extrusion length.

tolerance System.Double

A System.Double representing the distance tolerance for geometric operations, which defaults to DiGi.Core.Constants.Tolerance.MacroDistance.

Returns

DiGi.Geometry.Spatial.Classes.Polyhedron
A DiGi.Geometry.Spatial.Classes.Polyhedron if the object was successfully created; otherwise, null.

Create.Vector2D(BoundingBox3D, int, double) Method

Generates a DiGi.Geometry.Spatial.Classes.Vector3D based on the provided DiGi.Geometry.Spatial.Classes.BoundingBox3D, utilizing a random seed and a specific tolerance.

public static DiGi.Geometry.Spatial.Classes.Vector3D? Vector2D(DiGi.Geometry.Spatial.Classes.BoundingBox3D? boundingBox3D, int seed=-1, double tolerance=0.001);

Parameters

boundingBox3D DiGi.Geometry.Spatial.Classes.BoundingBox3D

The DiGi.Geometry.Spatial.Classes.BoundingBox3D used as the basis for generating the vector.

seed System.Int32

An System.Int32 value used to initialize the random number generator.

tolerance System.Double

A System.Double value representing the tolerance, which defaults to DiGi.Core.Constants.Tolerance.MacroDistance.

Returns

DiGi.Geometry.Spatial.Classes.Vector3D
A DiGi.Geometry.Spatial.Classes.Vector3D if the boundingBox3D is not null; otherwise, null.

Create.Vector3D(Range<double>, Range<double>, Range<double>, int, double) Method

Generates a random DiGi.Geometry.Spatial.Classes.Vector3D within the specified ranges for each axis.

public static DiGi.Geometry.Spatial.Classes.Vector3D? Vector3D(DiGi.Core.Classes.Range<double>? x, DiGi.Core.Classes.Range<double>? y, DiGi.Core.Classes.Range<double>? z, int seed=-1, double tolerance=0.001);

Parameters

x DiGi.Core.Classes.Range<System.Double>

The range for the X-coordinate.

y DiGi.Core.Classes.Range<System.Double>

The range for the Y-coordinate.

z DiGi.Core.Classes.Range<System.Double>

The range for the Z-coordinate.

seed System.Int32

An System.Int32 value used to seed the random number generator.

tolerance System.Double

A System.Double representing the distance tolerance, which defaults to DiGi.Core.Constants.Tolerance.MacroDistance.

Returns

DiGi.Geometry.Spatial.Classes.Vector3D
A DiGi.Geometry.Spatial.Classes.Vector3D if both x and y are not null; otherwise, null.

Create.Vector3D(Range<double>, Range<double>, Range<double>, Random, double) Method

Generates a random DiGi.Geometry.Spatial.Classes.Vector3D within the specified ranges, ensuring that the resulting vector's length is at least the specified tolerance.

public static DiGi.Geometry.Spatial.Classes.Vector3D? Vector3D(DiGi.Core.Classes.Range<double>? x, DiGi.Core.Classes.Range<double>? y, DiGi.Core.Classes.Range<double>? z, System.Random? random, double tolerance=0.001);

Parameters

x DiGi.Core.Classes.Range<System.Double>

The DiGi.Core.Classes.Range<> for the X component of the vector.

y DiGi.Core.Classes.Range<System.Double>

The DiGi.Core.Classes.Range<> for the Y component of the vector.

z DiGi.Core.Classes.Range<System.Double>

The DiGi.Core.Classes.Range<> for the Z component of the vector.

random System.Random

The System.Random instance used to generate random values.

tolerance System.Double

The minimum length threshold that the resulting DiGi.Geometry.Spatial.Classes.Vector3D must meet; defaults to DiGi.Core.Constants.Tolerance.MacroDistance.

Returns

DiGi.Geometry.Spatial.Classes.Vector3D
A DiGi.Geometry.Spatial.Classes.Vector3D that satisfies the length requirement, or null if x, y, or random is null.

Create.Vector3D(BoundingBox3D, Random, double) Method

Generates a random DiGi.Geometry.Spatial.Classes.Vector3D within the specified DiGi.Geometry.Spatial.Classes.BoundingBox3D.

public static DiGi.Geometry.Spatial.Classes.Vector3D? Vector3D(DiGi.Geometry.Spatial.Classes.BoundingBox3D? boundingBox3D, System.Random random, double tolerance=0.001);

Parameters

boundingBox3D DiGi.Geometry.Spatial.Classes.BoundingBox3D

The DiGi.Geometry.Spatial.Classes.BoundingBox3D that defines the spatial boundaries for generating the random vector.

random System.Random

The System.Random instance used to produce the random coordinates.

tolerance System.Double

The System.Double tolerance value, which defaults to DiGi.Core.Constants.Tolerance.MacroDistance.

Returns

DiGi.Geometry.Spatial.Classes.Vector3D
A randomly generated DiGi.Geometry.Spatial.Classes.Vector3D within the specified boundingBox3D, or null if the boundingBox3D, random, or any of the bounding box's boundary points are null.

Create.Vector3D(int, double) Method

Generates a random DiGi.Geometry.Spatial.Classes.Vector3D using the specified seed and tolerance.

public static DiGi.Geometry.Spatial.Classes.Vector3D? Vector3D(int seed=-1, double tolerance=0.001);

Parameters

seed System.Int32

The System.Int32 seed used to initialize the random number generator.

tolerance System.Double

The System.Double tolerance for the operation, defaulting to DiGi.Core.Constants.Tolerance.MacroDistance.

Returns

DiGi.Geometry.Spatial.Classes.Vector3D
A nullable DiGi.Geometry.Spatial.Classes.Vector3D representing the generated random vector.

Create.Vector3D(Random, double) Method

Generates a random unit DiGi.Geometry.Spatial.Classes.Vector3D by creating a random vector and ensuring its length exceeds the specified tolerance before normalization.

public static DiGi.Geometry.Spatial.Classes.Vector3D? Vector3D(System.Random? random, double tolerance=0.001);

Parameters

random System.Random

The System.Random instance used to generate the random components of the vector. If this System.Random is null, the method returns null.

tolerance System.Double

A System.Double value specifying the minimum length threshold that the generated vector must meet before it can be normalized. The default value is DiGi.Core.Constants.Tolerance.MacroDistance.

Returns

DiGi.Geometry.Spatial.Classes.Vector3D
A unit DiGi.Geometry.Spatial.Classes.Vector3D representing a random direction, or null if the random instance is null.

Clone this wiki locally