meshops

package
v0.9.0 Latest Latest
Warning

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

Go to latest
Published: Oct 9, 2023 License: MIT Imports: 11 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

View Source
var (
	ErrRequireTriangleTopology  = errors.New("mesh is required to have a triangle topology")
	ErrRequireLineTopology      = errors.New("mesh is required to have a line topology")
	ErrRequirePointTopology     = errors.New("mesh is required to have a point topology")
	ErrRequireDifferentTopology = errors.New("mesh does not have required topology")
)

Functions

func CenterFloat3Attribute

func CenterFloat3Attribute(m modeling.Mesh, attr string) modeling.Mesh

func FlatNormals

func FlatNormals(m modeling.Mesh) modeling.Mesh

func FlipTriangleWinding

func FlipTriangleWinding(m modeling.Mesh) modeling.Mesh

func LaplacianSmooth

func LaplacianSmooth(m modeling.Mesh, attribute string, iterations int, smoothingFactor float64) modeling.Mesh

func LaplacianSmoothAlongAxis

func LaplacianSmoothAlongAxis(m modeling.Mesh, attribute string, iterations int, smoothingFactor float64, axis vector3.Float64) modeling.Mesh

func NormalizeAttribute2D added in v0.9.0

func NormalizeAttribute2D(m modeling.Mesh, attribute string) modeling.Mesh

func NormalizeAttribute3D added in v0.9.0

func NormalizeAttribute3D(m modeling.Mesh, attribute string) modeling.Mesh

func RemovedUnreferencedVertices

func RemovedUnreferencedVertices(m modeling.Mesh) modeling.Mesh

func RotateAttribute3D

func RotateAttribute3D(m modeling.Mesh, attribute string, q modeling.Quaternion) modeling.Mesh

func ScaleAttribute3D

func ScaleAttribute3D(m modeling.Mesh, attribute string, origin, amount vector3.Float64) modeling.Mesh

func SliceByPlaneWithAttribute

func SliceByPlaneWithAttribute(m modeling.Mesh, plane geometry.Plane, attribute string) (modeling.Mesh, modeling.Mesh)

func SmoothNormals

func SmoothNormals(m modeling.Mesh) modeling.Mesh

func SplitOnUniqueMaterials

func SplitOnUniqueMaterials(m modeling.Mesh) []modeling.Mesh

func TranslateAttribute3D

func TranslateAttribute3D(m modeling.Mesh, attribute string, amount vector3.Float64) modeling.Mesh

func Unweld

func Unweld(m modeling.Mesh) modeling.Mesh

Unweld duplicates all vertex data such that no two primitive indices share any one vertex

func VertexColorSpace added in v0.9.0

func VertexColorSpace(m modeling.Mesh, attribute string, transformation VertexColorSpaceTransformation) modeling.Mesh

Types

type CenterAttribute3DTransformer

type CenterAttribute3DTransformer struct {
	Attribute string
}

func (CenterAttribute3DTransformer) Transform

func (cat CenterAttribute3DTransformer) Transform(m modeling.Mesh) (results modeling.Mesh, err error)

type CustomTransformer

type CustomTransformer struct {
	Func func(m modeling.Mesh) (results modeling.Mesh, err error)
}

func (CustomTransformer) Transform

func (ct CustomTransformer) Transform(m modeling.Mesh) (results modeling.Mesh, err error)

type FlatNormalsTransformer

type FlatNormalsTransformer struct{}

func (FlatNormalsTransformer) Transform

func (fnt FlatNormalsTransformer) Transform(m modeling.Mesh) (results modeling.Mesh, err error)

type FlipTriangleWindingTransformer

type FlipTriangleWindingTransformer struct {
	Attribute string
}

func (FlipTriangleWindingTransformer) Transform

func (cat FlipTriangleWindingTransformer) Transform(m modeling.Mesh) (results modeling.Mesh, err error)

type LaplacianSmoothTransformer

type LaplacianSmoothTransformer struct {
	Attribute       string
	Iterations      int
	SmoothingFactor float64
}

func (LaplacianSmoothTransformer) Transform

func (lst LaplacianSmoothTransformer) Transform(m modeling.Mesh) (results modeling.Mesh, err error)

type NormalizeAttribute2DTransformer added in v0.9.0

type NormalizeAttribute2DTransformer struct {
	Attribute string
}

func (NormalizeAttribute2DTransformer) Transform added in v0.9.0

func (st NormalizeAttribute2DTransformer) Transform(m modeling.Mesh) (results modeling.Mesh, err error)

type NormalizeAttribute3DTransformer added in v0.9.0

type NormalizeAttribute3DTransformer struct {
	Attribute string
}

Finds the vector with the longest length and scales all vectors within the mesh attribute by (1 / longestLength)

func (NormalizeAttribute3DTransformer) Transform added in v0.9.0

func (st NormalizeAttribute3DTransformer) Transform(m modeling.Mesh) (results modeling.Mesh, err error)

type RemovedUnreferencedVerticesTransformer

type RemovedUnreferencedVerticesTransformer struct{}

func (RemovedUnreferencedVerticesTransformer) Transform

func (fnt RemovedUnreferencedVerticesTransformer) Transform(m modeling.Mesh) (results modeling.Mesh, err error)

type RotateAttribute3DTransformer

type RotateAttribute3DTransformer struct {
	Attribute string
	Amount    modeling.Quaternion
}

func (RotateAttribute3DTransformer) Transform

func (rat RotateAttribute3DTransformer) Transform(m modeling.Mesh) (results modeling.Mesh, err error)

type ScaleAttribute3DTransformer

type ScaleAttribute3DTransformer struct {
	Attribute string
	Origin    vector3.Float64
	Amount    vector3.Float64
}

func (ScaleAttribute3DTransformer) Transform

func (st ScaleAttribute3DTransformer) Transform(m modeling.Mesh) (results modeling.Mesh, err error)

type SliceByPlaneTransformer

type SliceByPlaneTransformer struct {
	Attribute   string
	SliceToKeep SliceByPlaneTransformerSide
	Plane       geometry.Plane
}

func (SliceByPlaneTransformer) Transform

func (sbpt SliceByPlaneTransformer) Transform(m modeling.Mesh) (results modeling.Mesh, err error)

type SliceByPlaneTransformerSide

type SliceByPlaneTransformerSide int
const (
	AbovePlane SliceByPlaneTransformerSide = iota
	BelowPlane
)

type SmoothNormalsTransformer

type SmoothNormalsTransformer struct{}

func (SmoothNormalsTransformer) Transform

func (smt SmoothNormalsTransformer) Transform(m modeling.Mesh) (results modeling.Mesh, err error)

type TranslateAttribute3DTransformer

type TranslateAttribute3DTransformer struct {
	Attribute string
	Amount    vector3.Float64
}

func (TranslateAttribute3DTransformer) Transform

func (tat TranslateAttribute3DTransformer) Transform(m modeling.Mesh) (results modeling.Mesh, err error)

type UnweldTransformer

type UnweldTransformer struct{}

func (UnweldTransformer) Transform

func (fnt UnweldTransformer) Transform(m modeling.Mesh) (results modeling.Mesh, err error)

type VertexColorSpaceTransformation added in v0.9.0

type VertexColorSpaceTransformation int
const (
	VertexColorSpaceSRGBToLinear VertexColorSpaceTransformation = iota
	VertexColorSpaceLinearToSRGB
)

type VertexColorSpaceTransformer added in v0.9.0

type VertexColorSpaceTransformer struct {
	Attribute      string
	Transformation VertexColorSpaceTransformation
}

func (VertexColorSpaceTransformer) Transform added in v0.9.0

func (vcst VertexColorSpaceTransformer) Transform(m modeling.Mesh) (results modeling.Mesh, err error)

Jump to

Keyboard shortcuts

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