Skip to content
/ geometry Public

Ara3D.Geometry is a C# library of 2D and 3D geometric data structures and algorithms.

License

Notifications You must be signed in to change notification settings

ara3d/geometry

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

20 Commits
 
 
 
 
 
 
 
 

Repository files navigation

DEPRECATED: this library is being replaced by https://github.com/ara3d/Plato.Geometry


Ara3D.Geometry

NuGet Version

A cross-platform C# library of geometric algorithms and data structures.

Parametric-Geometry-Toolkit-Teaser

Status

This library is a work in progress and still undergoing frequent changes.

Overview

This library is designed specially for parametric design and procedural geometry creation. Everything is written from the ground in .NET Standard 2.0 compliant C# and has minimal dependencies. All dependencies are also .NET Standard 2.0 compliant C#.

This library leverages functional programming techniques and a fluent-style API (i.e., method-chain syntax) to make working with geometric structures easy and efficient.

Most data structures are immutable.

Interfaces

Many of the interfaces are defined in the file Interfaces.cs. Some of the primary interface are:

  • ITriMesh - triangular mesh
  • IQuadMesh - quadrilateral mesh
  • IPolyLine2D - a series of connectedline segments
  • IPolyLine3D - a series of connected line segments in 3D space
  • ISurface - a surface in 3D space, that may be discrete or parametric.
  • IParametricSurface - a surface defined using a mapping from UV coordinates to XYZ coordinates
  • ICurve2D - a continuous curve in 2D space
  • ICurve3D - a continuous curve in 3D space

Primitive Shapes

A number of primitive shapes are provided in 2D and 3D.

See:

  • PlatonicSolids.cs
  • ParametricSurfaces.cs
  • Polygons.cs
  • Prisms.cs

Building the Library from Source

This library can only be build as a submodule of the Ara 3D Main Repository.

About

Ara3D.Geometry is a C# library of 2D and 3D geometric data structures and algorithms.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages