Igtampe.BasicShapes
1.0.0
dotnet add package Igtampe.BasicShapes --version 1.0.0
NuGet\Install-Package Igtampe.BasicShapes -Version 1.0.0
<PackageReference Include="Igtampe.BasicShapes" Version="1.0.0" />
<PackageVersion Include="Igtampe.BasicShapes" Version="1.0.0" />
<PackageReference Include="Igtampe.BasicShapes" />
paket add Igtampe.BasicShapes --version 1.0.0
#r "nuget: Igtampe.BasicShapes, 1.0.0"
#:package Igtampe.BasicShapes@1.0.0
#addin nuget:?package=Igtampe.BasicShapes&version=1.0.0
#tool nuget:?package=Igtampe.BasicShapes&version=1.0.0
BasicShapes
BasicShapes is a very basic geometry drawing package that includes some basic classes and a renderer that uses BasicRender to draw.
<br/>
The Sample used in the start of the BasicRender demo
Line
A Collection of two points (defined as PointF or Point) used to draw a straight line.
| Field | Description |
|---|---|
| P1 | Leftmost point of the line (As Point) |
| P1F | Leftmost point of the line (As PointF) |
| P2 | Rightmost point of the line (As Point) |
| P2F | Rightmost point of the line (as PointF) |
| Points | List of all points contained in this line (between P1 and P2).<br/><br/> These points are used to render, and are calculated using the slope with a resolution of 1 x coordinate per point |
| M | Slope of the line |
| DX | Int conversion of DFX |
| DXF | Difference in X of this line (as Float) |
| DY | Int conversion of DFY |
| DYF | Difference in Y of this line (as Float) |
| Length | Length of this line. Thank you Pythagoras |
| Center | Center of this line (as PointF) |
| Method | Description |
|---|---|
| ContainsPoint() | Checks if the list of points this line contains contains the given point |
| Intersects() | Checks if this line intersects with another line. It's probably horribly inefficient but eh. |
| Static Method | Description |
|---|---|
| TranslateLine() | Translates a line by a given DX and DY |
| P1ScaleLine() | Scales the line up from P1. This method is not supported by Curve |
| P2ScaleLine() | Scales the line up from P2. This method is not supported by Curve |
| CenterScaleLine() | Scales the line up from the center of the line |
Curve
An extension of Line that calculates and can be used to render a curve around a center point with a given radius and starting and ending angle. |Field|Description| |-|-| |Center|Center of the curve (as PointF)| |R|Radius of the curve| |A1|Start angle of this curve (Smallest)| |A2|End angle of this curve (Largest)| |Points| List of all points contained in this line (between P1 and P2).<br/><br/> These points are used to render, and are calculated using the radius and angles with a resolution of 0.5 degrees per point|
| Static Method | Description |
|---|---|
| TranslateCurve() | Translates a curve from one spot to another based on a given DX and DY |
| ScaleCurve() | Scales a curve around the center |
Polygon
A collection of lines (lines or curves) to be drawn or filled by the renderer.
| Field | Description |
|---|---|
| Lines | Lines that make up this polygon |
| Center | Center of this polygon (as PointF) |
| BoundingRectangle | A Rectangle that contains all of this polygon |
| Static Method | Description |
|---|---|
| TranslatePolygon() | Translates a polygon from one spot to another based on a given DX and DY |
| ScalePolygon() | Scales a polygon up or down based around its center. ScalePolygon() currently does not support polygons with curves |
DrawShapes
DrawShapes is the renderer for shapes with BasicRender onto the console. It includes various static methods to handle this:
| Static Method | Description |
|---|---|
| DrawLine() | Draws a line. Includes overrides to generate the lines on the fly if necessary |
| DrawRectangle() | Draws a rectangle's outline |
| FillRectangle() | Shortcut to Draw.Box() from BasicRender.<br/><br/>We removed a couple other aliases but this one makes sense. Better to have function with Draw and Fill next to each other rather than have the functions miles apart. |
| DrawPolygon() | Draws a polygon's outline. Includes overrides to generate the polygons on the fly if necessary based on lines or points |
| FillPolygon() | Fills a polygon. Includes DrawPolygon's overrides |
Vector Graphics File
Eventually we should make a vector based format for BasicRender using BasicShapes but that'll probably be another time
| Product | Versions Compatible and additional computed target framework versions. |
|---|---|
| .NET | net5.0 was computed. net5.0-windows was computed. net6.0 was computed. net6.0-android was computed. net6.0-ios was computed. net6.0-maccatalyst was computed. net6.0-macos was computed. net6.0-tvos was computed. net6.0-windows was computed. net7.0 was computed. net7.0-android was computed. net7.0-ios was computed. net7.0-maccatalyst was computed. net7.0-macos was computed. net7.0-tvos was computed. net7.0-windows was computed. net8.0 was computed. net8.0-android was computed. net8.0-browser was computed. net8.0-ios was computed. net8.0-maccatalyst was computed. net8.0-macos was computed. net8.0-tvos was computed. net8.0-windows was computed. net9.0 was computed. net9.0-android was computed. net9.0-browser was computed. net9.0-ios was computed. net9.0-maccatalyst was computed. net9.0-macos was computed. net9.0-tvos was computed. net9.0-windows was computed. net10.0 was computed. net10.0-android was computed. net10.0-browser was computed. net10.0-ios was computed. net10.0-maccatalyst was computed. net10.0-macos was computed. net10.0-tvos was computed. net10.0-windows was computed. |
| .NET Core | netcoreapp2.0 was computed. netcoreapp2.1 was computed. netcoreapp2.2 was computed. netcoreapp3.0 was computed. netcoreapp3.1 was computed. |
| .NET Standard | netstandard2.0 is compatible. netstandard2.1 was computed. |
| .NET Framework | net461 was computed. net462 was computed. net463 was computed. net47 was computed. net471 was computed. net472 was computed. net48 was computed. net481 was computed. |
| MonoAndroid | monoandroid was computed. |
| MonoMac | monomac was computed. |
| MonoTouch | monotouch was computed. |
| Tizen | tizen40 was computed. tizen60 was computed. |
| Xamarin.iOS | xamarinios was computed. |
| Xamarin.Mac | xamarinmac was computed. |
| Xamarin.TVOS | xamarintvos was computed. |
| Xamarin.WatchOS | xamarinwatchos was computed. |
-
.NETStandard 2.0
- Igtampe.BasicRender (>= 1.1.0)
NuGet packages
This package is not used by any NuGet packages.
GitHub repositories
This package is not used by any popular GitHub repositories.
| Version | Downloads | Last Updated |
|---|---|---|
| 1.0.0 | 404 | 3/3/2022 |