Documentation
¶
Overview ¶
Package svg parses Gerber to SVG.
Package svg parses Gerber to SVG.
Index ¶
- func Bounds(element interface{}) (image.Rectangle, error)
- type Arc
- type Circle
- type ElementType
- type Line
- type Path
- type PathArc
- type PathLine
- type Processor
- func (p *Processor) Arc(lineIdx, xs, ys, xe, ye, xc, yc int, interpolation gerber.Interpolation, ...) error
- func (p *Processor) Circle(lineIdx, x, y, diameter int, polarity bool)
- func (p *Processor) Contour(contour gerber.Contour) error
- func (p *Processor) Line(lineIdx, x0, y0, x1, y1, diameter int, linecap gerber.LineCap)
- func (p *Processor) Obround(lineIdx, x, y, width, height int, polarity bool, rotation float64)
- func (p *Processor) Rectangle(lineIdx, x, y, width, height int, polarity bool, rotation float64)
- func (p *Processor) SetDecimal(decimal float64)
- func (p *Processor) SetViewbox(minX, maxX, minY, maxY int)
- func (p *Processor) UnmarshalJSON(b []byte) error
- func (p *Processor) UnmarshalJSON_1(b []byte) error
- func (p *Processor) Write(w io.Writer) error
- type Rectangle
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
Types ¶
type Arc ¶
type Arc struct {
Type ElementType
Line int
XS int
YS int
RadiusX int
RadiusY int
LargeArc int
Sweep int
XE int
YE int
StrokeWidth int
CenterX int
CenterY int
Stroke string
Attr map[string]string
}
An Arc is a SVG Arc.
func (Arc) MarshalJSON ¶
MarshalJSON implements json.Marshaler.
type Circle ¶
type Circle struct {
Type ElementType
Line int
X int
Y int
Radius int
Fill string
Attr map[string]string
}
A Circle is a circle.
func (Circle) MarshalJSON ¶
MarshalJSON implements json.Marshaler.
type ElementType ¶
type ElementType string
An ElementType is a SVG element type.
const ( ElementTypeCircle ElementType = "Circle" ElementTypeRectangle ElementType = "Rect" ElementTypePath ElementType = "Path" ElementTypeLine ElementType = "Line" ElementTypeArc ElementType = "Arc" )
type Line ¶
type Line struct {
Type ElementType
Line int
X1 int
Y1 int
X2 int
Y2 int
StrokeWidth int
Cap string
Stroke string
Attr map[string]string
}
A Line is a SVG line.
func (Line) MarshalJSON ¶
MarshalJSON implements json.Marshaler.
type Path ¶
type Path struct {
Type ElementType
Line int
X int
Y int
Commands []interface{}
Fill string
Attr map[string]string
}
A Path is a SVG path.
func (Path) MarshalJSON ¶
MarshalJSON implements json.Marshaler.
type PathArc ¶
type PathArc struct {
Type ElementType
RadiusX int
RadiusY int
LargeArc int
Sweep int
X int
Y int
CenterX int
CenterY int
}
A PathArc is an arc in a SVG path.
func (PathArc) MarshalJSON ¶
MarshalJSON implements json.Marshaler.
type PathLine ¶
type PathLine struct {
Type ElementType
X int
Y int
}
A PathLine is a line in a SVG path.
func (PathLine) MarshalJSON ¶
MarshalJSON implements json.Marshaler.
type Processor ¶
type Processor struct {
// Data contains SVG elements.
Data []interface{}
// Viewbox of Gerber image.
MinX int
MaxX int
MinY int
MaxY int
// Decimal is the multiplier to convert millimeters to coordinates.
// It is defined in the gerber file.
Decimal float64
// Color for Gerber polarities, defaults to black and white.
PolarityDark string
PolarityClear string
// Optional scaling factor of coordinates when writing SVG image.
Scale float64
// Optional width and height of output SVG image.
Width string
Height string
// Whether to output javascript for interactive panning and zooming in SVG.
PanZoom bool
}
A Processor is a performer of Gerber graphic operations.
func (*Processor) SetDecimal ¶
func (*Processor) SetViewbox ¶
func (*Processor) UnmarshalJSON ¶
func (*Processor) UnmarshalJSON_1 ¶
Click to show internal directories.
Click to hide internal directories.