gpc

package
v0.0.0-...-e8a13b5 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Jul 15, 2023 License: MIT Imports: 4 Imported by: 6

Documentation

Overview

Package gpc parses GPC format files.

Example
polygon, err := gpc.ParseFile(filepath.Join("testdata", "test_orientation.wwl"))
if err != nil {
	panic(err)
}

goon.Dump(polygon)
Output:

(gpc.Polygon)(gpc.Polygon{
	Contours: ([]gpc.Contour)([]gpc.Contour{
		(gpc.Contour)(gpc.Contour{
			Vertices: ([]mgl64.Vec2)([]mgl64.Vec2{
				(mgl64.Vec2)(mgl64.Vec2{
					(float64)(-210),
					(float64)(-210),
				}),
				(mgl64.Vec2)(mgl64.Vec2{
					(float64)(210),
					(float64)(-210),
				}),
				(mgl64.Vec2)(mgl64.Vec2{
					(float64)(210),
					(float64)(210),
				}),
				(mgl64.Vec2)(mgl64.Vec2{
					(float64)(-210),
					(float64)(210),
				}),
			}),
		}),
		(gpc.Contour)(gpc.Contour{
			Vertices: ([]mgl64.Vec2)([]mgl64.Vec2{
				(mgl64.Vec2)(mgl64.Vec2{
					(float64)(180),
					(float64)(180),
				}),
				(mgl64.Vec2)(mgl64.Vec2{
					(float64)(180),
					(float64)(120),
				}),
				(mgl64.Vec2)(mgl64.Vec2{
					(float64)(120),
					(float64)(180),
				}),
			}),
		}),
		(gpc.Contour)(gpc.Contour{
			Vertices: ([]mgl64.Vec2)([]mgl64.Vec2{
				(mgl64.Vec2)(mgl64.Vec2{
					(float64)(0),
					(float64)(180),
				}),
				(mgl64.Vec2)(mgl64.Vec2{
					(float64)(-15),
					(float64)(150),
				}),
				(mgl64.Vec2)(mgl64.Vec2{
					(float64)(15),
					(float64)(150),
				}),
			}),
		}),
		(gpc.Contour)(gpc.Contour{
			Vertices: ([]mgl64.Vec2)([]mgl64.Vec2{
				(mgl64.Vec2)(mgl64.Vec2{
					(float64)(-150),
					(float64)(150),
				}),
				(mgl64.Vec2)(mgl64.Vec2{
					(float64)(-134),
					(float64)(150),
				}),
				(mgl64.Vec2)(mgl64.Vec2{
					(float64)(-134),
					(float64)(166),
				}),
				(mgl64.Vec2)(mgl64.Vec2{
					(float64)(-150),
					(float64)(166),
				}),
				(mgl64.Vec2)(mgl64.Vec2{
					(float64)(-150),
					(float64)(150),
				}),
				(mgl64.Vec2)(mgl64.Vec2{
					(float64)(-166),
					(float64)(150),
				}),
				(mgl64.Vec2)(mgl64.Vec2{
					(float64)(-166),
					(float64)(134),
				}),
				(mgl64.Vec2)(mgl64.Vec2{
					(float64)(-150),
					(float64)(134),
				}),
				(mgl64.Vec2)(mgl64.Vec2{
					(float64)(-150),
					(float64)(118),
				}),
				(mgl64.Vec2)(mgl64.Vec2{
					(float64)(-134),
					(float64)(118),
				}),
				(mgl64.Vec2)(mgl64.Vec2{
					(float64)(-134),
					(float64)(134),
				}),
				(mgl64.Vec2)(mgl64.Vec2{
					(float64)(-150),
					(float64)(134),
				}),
				(mgl64.Vec2)(mgl64.Vec2{
					(float64)(-150),
					(float64)(150),
				}),
			}),
		}),
	}),
})

Index

Examples

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type Contour

type Contour struct {
	Vertices []mgl64.Vec2
}

Contour is a contour.

type Polygon

type Polygon struct {
	Contours []Contour
}

Polygon is a polygon.

func Parse

func Parse(r io.Reader) (Polygon, error)

Parse parses a GPC format reader.

func ParseFile

func ParseFile(path string) (Polygon, error)

ParseFile parses a GPC format file.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL