extrude

package
v0.21.2 Latest Latest
Warning

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

Go to latest
Published: Jan 24, 2025 License: MIT Imports: 12 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func ClosedShape

func ClosedShape(shape []vector2.Float64, path []vector3.Float64) modeling.Mesh

func DirectionsOfPoints added in v0.10.0

func DirectionsOfPoints(points []vector3.Float64) []vector3.Float64

func GetPlaneOuterPoints

func GetPlaneOuterPoints(center, normal, perpendicular vector3.Float64, radius float64, sides int) ([]vector3.Float64, []vector3.Float64)

func Line

func Line(linePoints []LinePoint) modeling.Mesh

func PathPoints added in v0.10.0

func PathPoints(stencil []vector2.Float64, path []vector3.Float64) [][]vector3.Float64

func PathPoints2 added in v0.10.0

func PathPoints2(stencil []vector2.Float64, path []vector3.Float64) [][]vector3.Float64

func Polygon

func Polygon(sides int, points []ExtrusionPoint) modeling.Mesh

func ProjectFace

func ProjectFace(center, normal, perpendicular vector3.Float64, shape []vector2.Float64) ([]vector3.Float64, []vector3.Float64)

TODO

		Pretty sure normal calculation is wrong. Need to determine what is and
     isn't a convex / concave point

func Shape

func Shape(shape []vector2.Float64, path []vector3.Float64) modeling.Mesh

Types

type Circle added in v0.18.0

type Circle struct {
	Resolution int
	Radius     float64
	Radii      []float64
	ClosePath  bool
	Path       []vector3.Float64
}

func (Circle) Extrude added in v0.18.0

func (c Circle) Extrude() modeling.Mesh

type CircleAlongSpline added in v0.18.0

type CircleAlongSpline struct {
	CircleResolution int
	Radius           float64
	Radii            []float64
	ClosePath        bool

	Spline           curves.Spline
	SplineResolution int
}

func (CircleAlongSpline) Extrude added in v0.18.0

func (c CircleAlongSpline) Extrude() modeling.Mesh

type CircleAlongSplineNode added in v0.18.0

type CircleAlongSplineNode = nodes.Struct[modeling.Mesh, CircleAlongSplineNodeData]

type CircleAlongSplineNodeData added in v0.18.0

type CircleAlongSplineNodeData struct {
	Closed           nodes.NodeOutput[bool]
	CircleResolution nodes.NodeOutput[int]
	Radius           nodes.NodeOutput[float64]
	Radii            nodes.NodeOutput[[]float64]
	Spline           nodes.NodeOutput[curves.Spline]
	SplineResolution nodes.NodeOutput[int]
}

func (CircleAlongSplineNodeData) Process added in v0.18.0

func (pnd CircleAlongSplineNodeData) Process() (modeling.Mesh, error)

type CircleNode added in v0.18.0

type CircleNode = nodes.Struct[modeling.Mesh, CircleNodeData]

type CircleNodeData added in v0.18.0

type CircleNodeData struct {
	Closed     nodes.NodeOutput[bool]
	Resolution nodes.NodeOutput[int]
	Radius     nodes.NodeOutput[float64]
	Radii      nodes.NodeOutput[[]float64]
	Path       nodes.NodeOutput[[]vector3.Float64]
}

func (CircleNodeData) Process added in v0.18.0

func (pnd CircleNodeData) Process() (modeling.Mesh, error)

type ExtrusionPoint

type ExtrusionPoint struct {
	Point     vector3.Float64
	Thickness float64
	UV        *ExtrusionPointUV
	Direction *ExtrusionPointDirection
}

type ExtrusionPointDirection added in v0.9.0

type ExtrusionPointDirection struct {
	Direction vector3.Float64
}

type ExtrusionPointUV added in v0.9.0

type ExtrusionPointUV struct {
	Point     vector2.Float64
	Thickness float64
}

type LinePoint

type LinePoint struct {
	Point   vector3.Float64
	Up      vector3.Float64
	Width   float64
	Height  float64
	Uv      vector2.Float64
	UvWidth float64
}

type ScrewNode added in v0.17.0

type ScrewNode = nodes.Struct[modeling.Mesh, ScrewNodeData]

type ScrewNodeData added in v0.17.0

type ScrewNodeData struct {
	Line        nodes.NodeOutput[[]vector3.Float64]
	Segments    nodes.NodeOutput[int]
	Revolutions nodes.NodeOutput[float64]
	Distance    nodes.NodeOutput[float64]
	UVs         nodes.NodeOutput[primitives.StripUVs]
}

func (ScrewNodeData) Process added in v0.17.0

func (snd ScrewNodeData) Process() (modeling.Mesh, error)

Jump to

Keyboard shortcuts

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