Types

package
v0.3.0 Latest Latest
Warning

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

Go to latest
Published: Feb 21, 2026 License: Apache-2.0 Imports: 6 Imported by: 0

Documentation

Index

Constants

View Source
const (
	GeometryTypeGeometry = iota
	GeometryTypeAxis
	GeometryTypeFilterBeam
	GeometryTypeFilterColor
	GeometryTypeFilterGobo
	GeometryTypeFilterShaper
	GeometryTypeBeam
	GeometryTypeMediaServerLayer
	GeometryTypeMediaServerCamera
	GeometryTypeMediaServerMaster
	GeometryTypeDisplay
	GeometryTypeGeometryReference
	GeometryTypeLaser
	GeometryTypeWiringObject
	GeometryTypeInventory
	GeometryTypeStructure
	GeometryTypeSupport
	GeometryTypeMagnet
)

Variables

This section is empty.

Functions

func CreateGeometryReferencePointers

func CreateGeometryReferencePointers[T GeometryReferenceCreation](refPointers *ReferencePointers, source *[]T, parentPrefix string)

func CreateGeometryWithChildsReferencePointer added in v0.3.0

func CreateGeometryWithChildsReferencePointer(obj GeometryModelWithChildGeometries, refPointers *ReferencePointers, parentPrefix string)

func CreateReferencePointers

func CreateReferencePointers[T ReferenceCreation](refPointers *ReferencePointers, source *[]T)

func CreateReferencePointersMap

func CreateReferencePointersMap[T ReferenceCreation](refPointers *ReferencePointers, source *map[string]T)

func ResolveGeometryWithChildsReference added in v0.3.0

func ResolveGeometryWithChildsReference(obj GeometryModelWithChildGeometries, refPointers *ReferencePointers)

func ResolveReferences

func ResolveReferences[T ReferenceResolver](refPointers *ReferencePointers, source *[]T)

func ResolveReferencesMap

func ResolveReferencesMap[T ReferenceResolver](refPointers *ReferencePointers, source *map[string]T)

Types

type ActivationGroup

type ActivationGroup struct {
	Name       string
	Attributes []*Attribute
}

func (*ActivationGroup) CreateReferencePointer

func (obj *ActivationGroup) CreateReferencePointer(refPointers *ReferencePointers)

type AnimationSystem

type AnimationSystem struct {
	P1      []float32
	P2      []float32
	P3      []float32
	Radiues float32
}

type ArtNet

type ArtNet struct {
	Maps []*Map
}

key: artnet value, value: dmx value

type Attribute

type Attribute struct {
	Name             string
	Pretty           string
	ActivationGroup  NodeReference[ActivationGroup]
	Feature          NodeReference[Feature]
	MainAttribute    NodeReference[Attribute]
	PhysicalUnit     string
	Color            ColorCIE
	SubPhysicalUnits *[]*SubPhysicalUnit
}

func (*Attribute) CreateReferencePointer

func (obj *Attribute) CreateReferencePointer(refPointers *ReferencePointers)

func (*Attribute) ResolveReference

func (obj *Attribute) ResolveReference(refPointers *ReferencePointers)

type AttributeDefinitions

type AttributeDefinitions struct {
	ActivationGroups []*ActivationGroup
	FeatureGroups    []*FeatureGroup
	Attributes       []*Attribute
}

func (*AttributeDefinitions) CreateReferencePointer

func (obj *AttributeDefinitions) CreateReferencePointer(refPointers *ReferencePointers)

func (*AttributeDefinitions) ResolveReference

func (obj *AttributeDefinitions) ResolveReference(refPointers *ReferencePointers)

type Axis

type Axis struct {
	Name     string
	Model    NodeReference[Model]
	Position Matrix
	Geometries
}

func (*Axis) CreateGeometryReferencePointer added in v0.3.0

func (obj *Axis) CreateGeometryReferencePointer(refPointers *ReferencePointers, parentPrefix string)

func (*Axis) GenerateMesh added in v0.3.0

func (obj *Axis) GenerateMesh(parentTransformation MeshTypes.Matrix, modelList []MeshModel) []MeshModel

func (*Axis) GetGeometries added in v0.3.0

func (obj *Axis) GetGeometries() Geometries

func (*Axis) GetGeometriesPtr added in v0.3.0

func (obj *Axis) GetGeometriesPtr() *Geometries

func (*Axis) GetModel added in v0.3.0

func (obj *Axis) GetModel() NodeReference[Model]

func (*Axis) GetModelPtr added in v0.3.0

func (obj *Axis) GetModelPtr() *NodeReference[Model]

func (*Axis) GetName added in v0.3.0

func (obj *Axis) GetName() string

func (*Axis) GetNamePtr added in v0.3.0

func (obj *Axis) GetNamePtr() *string

func (*Axis) GetPosition added in v0.3.0

func (obj *Axis) GetPosition() Matrix

func (*Axis) GetPositionPtr added in v0.3.0

func (obj *Axis) GetPositionPtr() *Matrix

func (*Axis) ResolveReference added in v0.3.0

func (obj *Axis) ResolveReference(refPointers *ReferencePointers)

func (*Axis) SetGeometries added in v0.3.0

func (obj *Axis) SetGeometries(geometries Geometries)

func (*Axis) SetModel added in v0.3.0

func (obj *Axis) SetModel(model NodeReference[Model])

func (*Axis) SetName added in v0.3.0

func (obj *Axis) SetName(name string)

func (*Axis) SetPosition added in v0.3.0

func (obj *Axis) SetPosition(matrix Matrix)

type Beam

type Beam struct {
	Name     string
	Model    NodeReference[Model]
	Position Matrix
	Geometries
	LampType         string
	PowerConsumption float32
	LuminousFlux     float32
	ColorTemperature float32
	BeamAngle        float32
	FieldAngle       float32
	ThrowRatio       float32
	RectangleRatio   float32
	BeamRadius       float32
	BeamType         string
	CRI              uint
	EmitterSpectrum  NodeReference[Emitter]
}

func (*Beam) CreateGeometryReferencePointer added in v0.3.0

func (obj *Beam) CreateGeometryReferencePointer(refPointers *ReferencePointers, parentPrefix string)

func (*Beam) GenerateMesh added in v0.3.0

func (obj *Beam) GenerateMesh(parentTransformation MeshTypes.Matrix, modelList []MeshModel) []MeshModel

func (*Beam) GetGeometries added in v0.3.0

func (obj *Beam) GetGeometries() Geometries

func (*Beam) GetGeometriesPtr added in v0.3.0

func (obj *Beam) GetGeometriesPtr() *Geometries

func (*Beam) GetModel added in v0.3.0

func (obj *Beam) GetModel() NodeReference[Model]

func (*Beam) GetModelPtr added in v0.3.0

func (obj *Beam) GetModelPtr() *NodeReference[Model]

func (*Beam) GetName added in v0.3.0

func (obj *Beam) GetName() string

func (*Beam) GetNamePtr added in v0.3.0

func (obj *Beam) GetNamePtr() *string

func (*Beam) GetPosition added in v0.3.0

func (obj *Beam) GetPosition() Matrix

func (*Beam) GetPositionPtr added in v0.3.0

func (obj *Beam) GetPositionPtr() *Matrix

func (*Beam) ResolveReference

func (obj *Beam) ResolveReference(refPointers *ReferencePointers)

func (*Beam) SetGeometries added in v0.3.0

func (obj *Beam) SetGeometries(geometries Geometries)

func (*Beam) SetModel added in v0.3.0

func (obj *Beam) SetModel(model NodeReference[Model])

func (*Beam) SetName added in v0.3.0

func (obj *Beam) SetName(name string)

func (*Beam) SetPosition added in v0.3.0

func (obj *Beam) SetPosition(matrix Matrix)

type Break

type Break struct {
	DMXOffset DMXAddress
	DMXBreak  uint
}

type CITP

type CITP struct {
}

type CRI

type CRI struct {
	CES string
	CRI uint
}

type CRIGroup

type CRIGroup struct {
	ColorTemperature float32
	CRIs             []*CRI
}

type ChannelFunction

type ChannelFunction struct {
	Name              string
	Attribute         NodeReference[Attribute]
	OriginalAttribute string
	DMXFrom           DMXValue
	Default           DMXValue
	PhysicalFrom      float32
	PhysicalTo        float32
	RealFade          float32
	RealAcceleration  float32
	Wheel             NodeReference[Wheel]
	Emitter           NodeReference[Emitter]
	Filter            NodeReference[Filter]
	ColorSpace        NodeReference[ColorSpace]
	Gamut             NodeReference[Gamut]
	ModeMaster        string //TODO: reference to dmx channel or other channel function
	ModeFrom          DMXValue
	ModeTo            DMXValue
	DMXProfile        NodeReference[DMXProfile]
	Min               float32 // Fallback to PhysicalFrom if 0.0
	Max               float32 // Fallback to PhysicalTo if 0.0
	CustomName        string  // Default: Node Name of the Channel function Example: Head_Dimmer.Dimmer.Dimmer
	ChannelSets       []*ChannelSet
	SubChannelSets    []*SubChannelSet
}

func (*ChannelFunction) ResolveReference

func (obj *ChannelFunction) ResolveReference(refPointers *ReferencePointers)

type ChannelSet

type ChannelSet struct {
	Name         string
	DMXFrom      DMXValue
	PhysicalFrom float32
	PhysicalTo   float32
	WheelSlot    NodeReference[WheelSlot]
}

func (*ChannelSet) ResolveReference

func (obj *ChannelSet) ResolveReference(refPointers *ReferencePointers)

type ColorCIE

type ColorCIE struct {
	X  float32
	Y  float32
	Y2 float32
}

format xyY (X,Y,Y2)

type ColorSpace

type ColorSpace struct {
	Name       string
	Mode       string //enum + TODO: default data (see https://www.gdtf.eu/gdtf/file-spec/physical-descriptions/#table-20-color-space-attributes)
	Red        ColorCIE
	Green      ColorCIE
	Blue       ColorCIE
	WhitePoint ColorCIE
}

type Connector

type Connector struct {
	Name     string
	Type     string
	DMXBreak uint    // obsolete (see https://www.gdtf.eu/gdtf/file-spec/physical-descriptions/#table-27-connector-attributes)
	Gender   int     // obsolete
	Length   float32 // obsolete
}

type DMXAddress

type DMXAddress struct {
	Address  int16 // 0 indexed
	Universe int   // 0 indexed
}

type DMXChannel

type DMXChannel struct {
	DMXBreak        int
	Offset          []int
	InitialFunction NodeReference[ChannelFunction] //TODO:
	Highlight       DMXValue
	Geometry        string
	LogicalChannels []*LogicalChannel
}

func (DMXChannel) GetName

func (element DMXChannel) GetName() string

func (*DMXChannel) ResolveReference

func (obj *DMXChannel) ResolveReference(refPointers *ReferencePointers, mode *DMXMode)

type DMXMode

type DMXMode struct {
	Name        string
	Description string
	Geometry    NodeReference[GeometryNodeReference]
	DMXChannels []*DMXChannel
	Relations   []*Relation
	FTMacros    []*FTMacro
	MeshModels  []MeshModel
}

func (*DMXMode) CreateReferencePointer

func (obj *DMXMode) CreateReferencePointer(refPointers *ReferencePointers)

func (*DMXMode) ResolveReference

func (obj *DMXMode) ResolveReference(refPointers *ReferencePointers)

type DMXProfile

type DMXProfile struct {
	Name   string
	Points []*Point
}

func (*DMXProfile) CreateReferencePointer

func (obj *DMXProfile) CreateReferencePointer(refPointers *ReferencePointers)

type Display

type Display struct {
	Name     string
	Model    NodeReference[Model]
	Position Matrix
	Geometries
	Texture FileReference
}

func (*Display) CreateGeometryReferencePointer added in v0.3.0

func (obj *Display) CreateGeometryReferencePointer(refPointers *ReferencePointers, parentPrefix string)

func (*Display) GenerateMesh added in v0.3.0

func (obj *Display) GenerateMesh(parentTransformation MeshTypes.Matrix, modelList []MeshModel) []MeshModel

func (*Display) GetGeometries added in v0.3.0

func (obj *Display) GetGeometries() Geometries

func (*Display) GetGeometriesPtr added in v0.3.0

func (obj *Display) GetGeometriesPtr() *Geometries

func (*Display) GetModel added in v0.3.0

func (obj *Display) GetModel() NodeReference[Model]

func (*Display) GetModelPtr added in v0.3.0

func (obj *Display) GetModelPtr() *NodeReference[Model]

func (*Display) GetName added in v0.3.0

func (obj *Display) GetName() string

func (*Display) GetNamePtr added in v0.3.0

func (obj *Display) GetNamePtr() *string

func (*Display) GetPosition added in v0.3.0

func (obj *Display) GetPosition() Matrix

func (*Display) GetPositionPtr added in v0.3.0

func (obj *Display) GetPositionPtr() *Matrix

func (*Display) ResolveReference added in v0.3.0

func (obj *Display) ResolveReference(refPointers *ReferencePointers)

func (*Display) SetGeometries added in v0.3.0

func (obj *Display) SetGeometries(geometries Geometries)

func (*Display) SetModel added in v0.3.0

func (obj *Display) SetModel(model NodeReference[Model])

func (*Display) SetName added in v0.3.0

func (obj *Display) SetName(name string)

func (*Display) SetPosition added in v0.3.0

func (obj *Display) SetPosition(matrix Matrix)

type Emitter

type Emitter struct {
	Name               string
	Color              ColorCIE
	DominantWaveLength float32
	DiodePart          string
	Measurements       []*Measurement
}

func (*Emitter) CreateReferencePointer

func (obj *Emitter) CreateReferencePointer(refPointers *ReferencePointers)

type FTMacro

type FTMacro struct {
	Name            string
	ChannelFunction NodeReference[ChannelFunction]
	MacroDMXs       []*MacroDMX
}

func (*FTMacro) ResolveReference

func (obj *FTMacro) ResolveReference(refPointers *ReferencePointers)

type Feature

type Feature struct {
	Name       string
	Attributes []*Attribute
}

type FeatureGroup

type FeatureGroup struct {
	Name     string
	Pretty   string
	Features []*Feature
}

func (*FeatureGroup) CreateReferencePointer

func (obj *FeatureGroup) CreateReferencePointer(refPointers *ReferencePointers)

type FileReference

type FileReference = string // without extension and without path

type Filter

type Filter struct {
	Name         string
	Color        ColorCIE
	Measurements []*Measurement
}

func (*Filter) CreateReferencePointer

func (obj *Filter) CreateReferencePointer(refPointers *ReferencePointers)

type FilterBeam

type FilterBeam struct {
	Name     string
	Model    NodeReference[Model]
	Position Matrix
	Geometries
}

func (*FilterBeam) CreateGeometryReferencePointer added in v0.3.0

func (obj *FilterBeam) CreateGeometryReferencePointer(refPointers *ReferencePointers, parentPrefix string)

func (*FilterBeam) GenerateMesh added in v0.3.0

func (obj *FilterBeam) GenerateMesh(parentTransformation MeshTypes.Matrix, modelList []MeshModel) []MeshModel

func (*FilterBeam) GetGeometries added in v0.3.0

func (obj *FilterBeam) GetGeometries() Geometries

func (*FilterBeam) GetGeometriesPtr added in v0.3.0

func (obj *FilterBeam) GetGeometriesPtr() *Geometries

func (*FilterBeam) GetModel added in v0.3.0

func (obj *FilterBeam) GetModel() NodeReference[Model]

func (*FilterBeam) GetModelPtr added in v0.3.0

func (obj *FilterBeam) GetModelPtr() *NodeReference[Model]

func (*FilterBeam) GetName added in v0.3.0

func (obj *FilterBeam) GetName() string

func (*FilterBeam) GetNamePtr added in v0.3.0

func (obj *FilterBeam) GetNamePtr() *string

func (*FilterBeam) GetPosition added in v0.3.0

func (obj *FilterBeam) GetPosition() Matrix

func (*FilterBeam) GetPositionPtr added in v0.3.0

func (obj *FilterBeam) GetPositionPtr() *Matrix

func (*FilterBeam) ResolveReference added in v0.3.0

func (obj *FilterBeam) ResolveReference(refPointers *ReferencePointers)

func (*FilterBeam) SetGeometries added in v0.3.0

func (obj *FilterBeam) SetGeometries(geometries Geometries)

func (*FilterBeam) SetModel added in v0.3.0

func (obj *FilterBeam) SetModel(model NodeReference[Model])

func (*FilterBeam) SetName added in v0.3.0

func (obj *FilterBeam) SetName(name string)

func (*FilterBeam) SetPosition added in v0.3.0

func (obj *FilterBeam) SetPosition(matrix Matrix)

type FilterColor

type FilterColor struct {
	Name     string
	Model    NodeReference[Model]
	Position Matrix
	Geometries
}

func (*FilterColor) CreateGeometryReferencePointer added in v0.3.0

func (obj *FilterColor) CreateGeometryReferencePointer(refPointers *ReferencePointers, parentPrefix string)

func (*FilterColor) GenerateMesh added in v0.3.0

func (obj *FilterColor) GenerateMesh(parentTransformation MeshTypes.Matrix, modelList []MeshModel) []MeshModel

func (*FilterColor) GetGeometries added in v0.3.0

func (obj *FilterColor) GetGeometries() Geometries

func (*FilterColor) GetGeometriesPtr added in v0.3.0

func (obj *FilterColor) GetGeometriesPtr() *Geometries

func (*FilterColor) GetModel added in v0.3.0

func (obj *FilterColor) GetModel() NodeReference[Model]

func (*FilterColor) GetModelPtr added in v0.3.0

func (obj *FilterColor) GetModelPtr() *NodeReference[Model]

func (*FilterColor) GetName added in v0.3.0

func (obj *FilterColor) GetName() string

func (*FilterColor) GetNamePtr added in v0.3.0

func (obj *FilterColor) GetNamePtr() *string

func (*FilterColor) GetPosition added in v0.3.0

func (obj *FilterColor) GetPosition() Matrix

func (*FilterColor) GetPositionPtr added in v0.3.0

func (obj *FilterColor) GetPositionPtr() *Matrix

func (*FilterColor) ResolveReference added in v0.3.0

func (obj *FilterColor) ResolveReference(refPointers *ReferencePointers)

func (*FilterColor) SetGeometries added in v0.3.0

func (obj *FilterColor) SetGeometries(geometries Geometries)

func (*FilterColor) SetModel added in v0.3.0

func (obj *FilterColor) SetModel(model NodeReference[Model])

func (*FilterColor) SetName added in v0.3.0

func (obj *FilterColor) SetName(name string)

func (*FilterColor) SetPosition added in v0.3.0

func (obj *FilterColor) SetPosition(matrix Matrix)

type FilterGobo

type FilterGobo struct {
	Name     string
	Model    NodeReference[Model]
	Position Matrix
	Geometries
}

func (*FilterGobo) CreateGeometryReferencePointer added in v0.3.0

func (obj *FilterGobo) CreateGeometryReferencePointer(refPointers *ReferencePointers, parentPrefix string)

func (*FilterGobo) GenerateMesh added in v0.3.0

func (obj *FilterGobo) GenerateMesh(parentTransformation MeshTypes.Matrix, modelList []MeshModel) []MeshModel

func (*FilterGobo) GetGeometries added in v0.3.0

func (obj *FilterGobo) GetGeometries() Geometries

func (*FilterGobo) GetGeometriesPtr added in v0.3.0

func (obj *FilterGobo) GetGeometriesPtr() *Geometries

func (*FilterGobo) GetModel added in v0.3.0

func (obj *FilterGobo) GetModel() NodeReference[Model]

func (*FilterGobo) GetModelPtr added in v0.3.0

func (obj *FilterGobo) GetModelPtr() *NodeReference[Model]

func (*FilterGobo) GetName added in v0.3.0

func (obj *FilterGobo) GetName() string

func (*FilterGobo) GetNamePtr added in v0.3.0

func (obj *FilterGobo) GetNamePtr() *string

func (*FilterGobo) GetPosition added in v0.3.0

func (obj *FilterGobo) GetPosition() Matrix

func (*FilterGobo) GetPositionPtr added in v0.3.0

func (obj *FilterGobo) GetPositionPtr() *Matrix

func (*FilterGobo) ResolveReference added in v0.3.0

func (obj *FilterGobo) ResolveReference(refPointers *ReferencePointers)

func (*FilterGobo) SetGeometries added in v0.3.0

func (obj *FilterGobo) SetGeometries(geometries Geometries)

func (*FilterGobo) SetModel added in v0.3.0

func (obj *FilterGobo) SetModel(model NodeReference[Model])

func (*FilterGobo) SetName added in v0.3.0

func (obj *FilterGobo) SetName(name string)

func (*FilterGobo) SetPosition added in v0.3.0

func (obj *FilterGobo) SetPosition(matrix Matrix)

type FilterShaper

type FilterShaper struct {
	Name     string
	Model    NodeReference[Model]
	Position Matrix
	Geometries
}

func (*FilterShaper) CreateGeometryReferencePointer added in v0.3.0

func (obj *FilterShaper) CreateGeometryReferencePointer(refPointers *ReferencePointers, parentPrefix string)

func (*FilterShaper) GenerateMesh added in v0.3.0

func (obj *FilterShaper) GenerateMesh(parentTransformation MeshTypes.Matrix, modelList []MeshModel) []MeshModel

func (*FilterShaper) GetGeometries added in v0.3.0

func (obj *FilterShaper) GetGeometries() Geometries

func (*FilterShaper) GetGeometriesPtr added in v0.3.0

func (obj *FilterShaper) GetGeometriesPtr() *Geometries

func (*FilterShaper) GetModel added in v0.3.0

func (obj *FilterShaper) GetModel() NodeReference[Model]

func (*FilterShaper) GetModelPtr added in v0.3.0

func (obj *FilterShaper) GetModelPtr() *NodeReference[Model]

func (*FilterShaper) GetName added in v0.3.0

func (obj *FilterShaper) GetName() string

func (*FilterShaper) GetNamePtr added in v0.3.0

func (obj *FilterShaper) GetNamePtr() *string

func (*FilterShaper) GetPosition added in v0.3.0

func (obj *FilterShaper) GetPosition() Matrix

func (*FilterShaper) GetPositionPtr added in v0.3.0

func (obj *FilterShaper) GetPositionPtr() *Matrix

func (*FilterShaper) ResolveReference added in v0.3.0

func (obj *FilterShaper) ResolveReference(refPointers *ReferencePointers)

func (*FilterShaper) SetGeometries added in v0.3.0

func (obj *FilterShaper) SetGeometries(geometries Geometries)

func (*FilterShaper) SetModel added in v0.3.0

func (obj *FilterShaper) SetModel(model NodeReference[Model])

func (*FilterShaper) SetName added in v0.3.0

func (obj *FilterShaper) SetName(name string)

func (*FilterShaper) SetPosition added in v0.3.0

func (obj *FilterShaper) SetPosition(matrix Matrix)

type FixtureType

type FixtureType struct {
	FixtureTypeID    string
	Name             string
	ShortName        string
	LongName         string
	Manufacturer     string
	Description      string
	Thumbnail        NodeReference[image.Image]
	ThumbnailOffsetX int
	ThumbnailOffsetY int
	CanHaveChildren  bool
	RefFT            *string

	AttributeDefinitions AttributeDefinitions
	Wheels               []*Wheel
	PhysicalDescriptions []*PhysicalDescription
	Models               []*Model
	Geometries           Geometries
	DMXModes             map[string]*DMXMode
	Revisions            []*Revision
	FTPresets            *[]string
	Protocols            Protocol
}

func (*FixtureType) CreateReferencePointer

func (obj *FixtureType) CreateReferencePointer(refPointers *ReferencePointers)

func (*FixtureType) ResolveReference

func (obj *FixtureType) ResolveReference(refPointers *ReferencePointers)

type GDTF

type GDTF struct {
	DataVersion string
	FixtureType FixtureType
}

func (*GDTF) BuildMesh

func (obj *GDTF) BuildMesh(dmxMode string) ([]MeshModel, error)

Assemble a mesh based on entire geometry

func (*GDTF) CreateReferencePointer

func (obj *GDTF) CreateReferencePointer(refPointers *ReferencePointers)

func (*GDTF) ResolveReference

func (obj *GDTF) ResolveReference(refPointers *ReferencePointers)

type Gamut

type Gamut struct {
	Name   string
	Points []*ColorCIE
}

func (*Gamut) CreateReferencePointer

func (obj *Gamut) CreateReferencePointer(refPointers *ReferencePointers)

type Geometries

type Geometries struct {
	GeometryList          []*Geometry
	AxisList              []*Axis
	FilterBeamList        []*FilterBeam
	FilterColorList       []*FilterColor
	FilterGoboList        []*FilterGobo
	FilterShaperList      []*FilterShaper
	BeamList              []*Beam
	MediaServerLayerList  []*MediaServerLayer
	MediaServerCameraList []*MediaServerCamera
	MediaServerMasterList []*MediaServerMaster
	DisplayList           []*Display
	LaserList             []*Laser
	GeometryReferenceList []*GeometryReference
	WiringObjectList      []*WiringObject
	InventoryList         []*Inventory
	StructureList         []*Structure
	SupportList           []*Support
	MagnetList            []*Magnet

	Parent *GeometryNodeReference
}

func (*Geometries) CreateGeometryReferencePointer

func (obj *Geometries) CreateGeometryReferencePointer(refPointers *ReferencePointers, parentPrefix string)

func (*Geometries) GenerateMesh

func (obj *Geometries) GenerateMesh(parentTransformation MeshTypes.Matrix, modelList []MeshModel) []MeshModel

func (*Geometries) ResolveReference

func (obj *Geometries) ResolveReference(refPointers *ReferencePointers)

type Geometry

type Geometry struct {
	Name     string
	Model    NodeReference[Model]
	Position Matrix
	Geometries
}

func (*Geometry) CreateGeometryReferencePointer added in v0.3.0

func (obj *Geometry) CreateGeometryReferencePointer(refPointers *ReferencePointers, parentPrefix string)

func (*Geometry) GenerateMesh added in v0.3.0

func (obj *Geometry) GenerateMesh(parentTransformation MeshTypes.Matrix, modelList []MeshModel) []MeshModel

func (*Geometry) GetGeometries added in v0.3.0

func (obj *Geometry) GetGeometries() Geometries

func (*Geometry) GetGeometriesPtr added in v0.3.0

func (obj *Geometry) GetGeometriesPtr() *Geometries

func (*Geometry) GetModel added in v0.3.0

func (obj *Geometry) GetModel() NodeReference[Model]

func (*Geometry) GetModelPtr added in v0.3.0

func (obj *Geometry) GetModelPtr() *NodeReference[Model]

func (*Geometry) GetName added in v0.3.0

func (obj *Geometry) GetName() string

func (*Geometry) GetNamePtr added in v0.3.0

func (obj *Geometry) GetNamePtr() *string

func (*Geometry) GetPosition added in v0.3.0

func (obj *Geometry) GetPosition() Matrix

func (*Geometry) GetPositionPtr added in v0.3.0

func (obj *Geometry) GetPositionPtr() *Matrix

func (*Geometry) ResolveReference added in v0.3.0

func (obj *Geometry) ResolveReference(refPointers *ReferencePointers)

func (*Geometry) SetGeometries added in v0.3.0

func (obj *Geometry) SetGeometries(geometries Geometries)

func (*Geometry) SetModel added in v0.3.0

func (obj *Geometry) SetModel(model NodeReference[Model])

func (*Geometry) SetName added in v0.3.0

func (obj *Geometry) SetName(name string)

func (*Geometry) SetPosition added in v0.3.0

func (obj *Geometry) SetPosition(matrix Matrix)

type GeometryModel added in v0.3.0

type GeometryModel interface {
	GetName() string
	GetNamePtr() *string
	SetName(string)

	GetModel() NodeReference[Model]
	GetModelPtr() *NodeReference[Model]
	SetModel(NodeReference[Model])

	GetPosition() Matrix
	GetPositionPtr() *Matrix
	SetPosition(Matrix)

	GenerateMesh(parentTransformation MeshTypes.Matrix, modelList []MeshModel) []MeshModel
}

type GeometryModelWithChildGeometries added in v0.3.0

type GeometryModelWithChildGeometries interface {
	GetName() string
	GetNamePtr() *string
	SetName(string)

	GetModel() NodeReference[Model]
	GetModelPtr() *NodeReference[Model]
	SetModel(NodeReference[Model])

	GetPosition() Matrix
	GetPositionPtr() *Matrix
	SetPosition(Matrix)

	GenerateMesh(parentTransformation MeshTypes.Matrix, modelList []MeshModel) []MeshModel

	GetGeometries() Geometries
	GetGeometriesPtr() *Geometries
	SetGeometries(Geometries)
}

type GeometryNodeReference

type GeometryNodeReference struct {
	Ptr  GeometryModel
	Type string
}

type GeometryReference

type GeometryReference struct {
	Name        string
	Model       NodeReference[Model]
	Position    Matrix
	GeometryRef NodeReference[GeometryNodeReference] // only top level geometries allowed to be referenced
	Breaks      []*Break
}

func (*GeometryReference) GenerateMesh

func (obj *GeometryReference) GenerateMesh(parentTransformation MeshTypes.Matrix, modelList []MeshModel) []MeshModel

func (*GeometryReference) GetModel added in v0.3.0

func (obj *GeometryReference) GetModel() NodeReference[Model]

func (*GeometryReference) GetModelPtr added in v0.3.0

func (obj *GeometryReference) GetModelPtr() *NodeReference[Model]

func (*GeometryReference) GetName added in v0.3.0

func (obj *GeometryReference) GetName() string

func (*GeometryReference) GetNamePtr added in v0.3.0

func (obj *GeometryReference) GetNamePtr() *string

func (*GeometryReference) GetPosition added in v0.3.0

func (obj *GeometryReference) GetPosition() Matrix

func (*GeometryReference) GetPositionPtr added in v0.3.0

func (obj *GeometryReference) GetPositionPtr() *Matrix

func (*GeometryReference) ResolveReference

func (obj *GeometryReference) ResolveReference(refPointers *ReferencePointers)

func (*GeometryReference) SetModel added in v0.3.0

func (obj *GeometryReference) SetModel(model NodeReference[Model])

func (*GeometryReference) SetName added in v0.3.0

func (obj *GeometryReference) SetName(name string)

func (*GeometryReference) SetPosition added in v0.3.0

func (obj *GeometryReference) SetPosition(matrix Matrix)

type GeometryReferenceCreation

type GeometryReferenceCreation interface {
	CreateGeometryReferencePointer(refPointers *ReferencePointers, parentPrefix string)
}

type GeometryType added in v0.3.0

type GeometryType int

type Hex

type Hex = int

type Inventory

type Inventory struct {
	Name     string
	Model    NodeReference[Model]
	Position Matrix
	Geometries
	Count int
}

func (*Inventory) CreateGeometryReferencePointer added in v0.3.0

func (obj *Inventory) CreateGeometryReferencePointer(refPointers *ReferencePointers, parentPrefix string)

func (*Inventory) GenerateMesh added in v0.3.0

func (obj *Inventory) GenerateMesh(parentTransformation MeshTypes.Matrix, modelList []MeshModel) []MeshModel

func (*Inventory) GetGeometries added in v0.3.0

func (obj *Inventory) GetGeometries() Geometries

func (*Inventory) GetGeometriesPtr added in v0.3.0

func (obj *Inventory) GetGeometriesPtr() *Geometries

func (*Inventory) GetModel added in v0.3.0

func (obj *Inventory) GetModel() NodeReference[Model]

func (*Inventory) GetModelPtr added in v0.3.0

func (obj *Inventory) GetModelPtr() *NodeReference[Model]

func (*Inventory) GetName added in v0.3.0

func (obj *Inventory) GetName() string

func (*Inventory) GetNamePtr added in v0.3.0

func (obj *Inventory) GetNamePtr() *string

func (*Inventory) GetPosition added in v0.3.0

func (obj *Inventory) GetPosition() Matrix

func (*Inventory) GetPositionPtr added in v0.3.0

func (obj *Inventory) GetPositionPtr() *Matrix

func (*Inventory) ResolveReference added in v0.3.0

func (obj *Inventory) ResolveReference(refPointers *ReferencePointers)

func (*Inventory) SetGeometries added in v0.3.0

func (obj *Inventory) SetGeometries(geometries Geometries)

func (*Inventory) SetModel added in v0.3.0

func (obj *Inventory) SetModel(model NodeReference[Model])

func (*Inventory) SetName added in v0.3.0

func (obj *Inventory) SetName(name string)

func (*Inventory) SetPosition added in v0.3.0

func (obj *Inventory) SetPosition(matrix Matrix)

type Laser

type Laser struct {
	Name     string
	Model    NodeReference[Model]
	Position Matrix
	Geometries
	ColorType         string  // enum
	Color             float32 // Required if ColorType is “SingleWaveLength”; Unit:nm (nanometers)
	OutputStrength    float32
	Emitter           NodeReference[Emitter]
	BeamDiameter      float32
	BeamDivergenceMin float32
	BeamDivergenceMax float32
	ScanAnglePan      float32
	ScanAngleTilt     float32
	ScanSpeed         float32
	Protocols         []*LaserProtocol
}

func (*Laser) CreateGeometryReferencePointer added in v0.3.0

func (obj *Laser) CreateGeometryReferencePointer(refPointers *ReferencePointers, parentPrefix string)

func (*Laser) GenerateMesh added in v0.3.0

func (obj *Laser) GenerateMesh(parentTransformation MeshTypes.Matrix, modelList []MeshModel) []MeshModel

func (*Laser) GetGeometries added in v0.3.0

func (obj *Laser) GetGeometries() Geometries

func (*Laser) GetGeometriesPtr added in v0.3.0

func (obj *Laser) GetGeometriesPtr() *Geometries

func (*Laser) GetModel added in v0.3.0

func (obj *Laser) GetModel() NodeReference[Model]

func (*Laser) GetModelPtr added in v0.3.0

func (obj *Laser) GetModelPtr() *NodeReference[Model]

func (*Laser) GetName added in v0.3.0

func (obj *Laser) GetName() string

func (*Laser) GetNamePtr added in v0.3.0

func (obj *Laser) GetNamePtr() *string

func (*Laser) GetPosition added in v0.3.0

func (obj *Laser) GetPosition() Matrix

func (*Laser) GetPositionPtr added in v0.3.0

func (obj *Laser) GetPositionPtr() *Matrix

func (*Laser) ResolveReference

func (obj *Laser) ResolveReference(refPointers *ReferencePointers)

func (*Laser) SetGeometries added in v0.3.0

func (obj *Laser) SetGeometries(geometries Geometries)

func (*Laser) SetModel added in v0.3.0

func (obj *Laser) SetModel(model NodeReference[Model])

func (*Laser) SetName added in v0.3.0

func (obj *Laser) SetName(name string)

func (*Laser) SetPosition added in v0.3.0

func (obj *Laser) SetPosition(matrix Matrix)

type LaserProtocol

type LaserProtocol struct {
	Name string
}

type LegHeight

type LegHeight struct {
	Value float32
}

type LogicalChannel

type LogicalChannel struct {
	Attribute          NodeReference[Attribute]
	Snap               string // enum
	Master             string // enum
	MibFade            float32
	DMXChangeTimeLimit float32
	ChannelFunctions   []*ChannelFunction
}

func (*LogicalChannel) ResolveReference

func (obj *LogicalChannel) ResolveReference(refPointers *ReferencePointers)

type MacroDMX

type MacroDMX struct {
	Steps []*MacroDMXStep
}

func (*MacroDMX) ResolveReference

func (obj *MacroDMX) ResolveReference(refPointers *ReferencePointers)

type MacroDMXStep

type MacroDMXStep struct {
	Duration  float32
	DMXValues []*MacroDMXValue
}

func (*MacroDMXStep) ResolveReference

func (obj *MacroDMXStep) ResolveReference(refPointers *ReferencePointers)

type MacroDMXValue

type MacroDMXValue struct {
	Value      DMXValue
	DMXChannel NodeReference[DMXChannel]
}

func (*MacroDMXValue) ResolveReference

func (obj *MacroDMXValue) ResolveReference(refPointers *ReferencePointers)

type Magnet

type Magnet struct {
	Name     string
	Model    NodeReference[Model]
	Position Matrix
	Geometries
}

func (*Magnet) CreateGeometryReferencePointer added in v0.3.0

func (obj *Magnet) CreateGeometryReferencePointer(refPointers *ReferencePointers, parentPrefix string)

func (*Magnet) GenerateMesh added in v0.3.0

func (obj *Magnet) GenerateMesh(parentTransformation MeshTypes.Matrix, modelList []MeshModel) []MeshModel

func (*Magnet) GetGeometries added in v0.3.0

func (obj *Magnet) GetGeometries() Geometries

func (*Magnet) GetGeometriesPtr added in v0.3.0

func (obj *Magnet) GetGeometriesPtr() *Geometries

func (*Magnet) GetModel added in v0.3.0

func (obj *Magnet) GetModel() NodeReference[Model]

func (*Magnet) GetModelPtr added in v0.3.0

func (obj *Magnet) GetModelPtr() *NodeReference[Model]

func (*Magnet) GetName added in v0.3.0

func (obj *Magnet) GetName() string

func (*Magnet) GetNamePtr added in v0.3.0

func (obj *Magnet) GetNamePtr() *string

func (*Magnet) GetPosition added in v0.3.0

func (obj *Magnet) GetPosition() Matrix

func (*Magnet) GetPositionPtr added in v0.3.0

func (obj *Magnet) GetPositionPtr() *Matrix

func (*Magnet) ResolveReference added in v0.3.0

func (obj *Magnet) ResolveReference(refPointers *ReferencePointers)

func (*Magnet) SetGeometries added in v0.3.0

func (obj *Magnet) SetGeometries(geometries Geometries)

func (*Magnet) SetModel added in v0.3.0

func (obj *Magnet) SetModel(model NodeReference[Model])

func (*Magnet) SetName added in v0.3.0

func (obj *Magnet) SetName(name string)

func (*Magnet) SetPosition added in v0.3.0

func (obj *Magnet) SetPosition(matrix Matrix)

type Map

type Map struct {
	Key   uint // Art-Net value
	Value uint // DMX value
}

type Matrix

type Matrix [4][4]float64

The transformation matrix consists 4 x 4 floats. Stored in a row-major order. For example, each row of the matrix is stored as a 4- component vector. The mathematical definition of the matrix is in a column-major order. For example, the matrix rotation is stored in the first three columns, and the translation is stored in the 4th column. The metric system consists of the Right- handed Cartesian Coordinates XYZ:

X – from left (-X) to right (+X),
Y – from the outside of the monitor (-Y) to the inside of the monitor (+Y),
Z – from bottom (-Z) to top (+Z). 0,0,0 – center base.

type Measurement

type Measurement struct {
	Phyiscal          float32
	LuminousIntensity float32
	Transmission      float32
	InterpolationTo   string
	MeasurementPoints []*MeasurementPoint
}

type MeasurementPoint

type MeasurementPoint struct {
	WaveLength float32
	Energy     float32
}

type MediaServerCamera

type MediaServerCamera struct {
	Name     string
	Model    NodeReference[Model]
	Position Matrix
	Geometries
}

func (*MediaServerCamera) CreateGeometryReferencePointer added in v0.3.0

func (obj *MediaServerCamera) CreateGeometryReferencePointer(refPointers *ReferencePointers, parentPrefix string)

func (*MediaServerCamera) GenerateMesh added in v0.3.0

func (obj *MediaServerCamera) GenerateMesh(parentTransformation MeshTypes.Matrix, modelList []MeshModel) []MeshModel

func (*MediaServerCamera) GetGeometries added in v0.3.0

func (obj *MediaServerCamera) GetGeometries() Geometries

func (*MediaServerCamera) GetGeometriesPtr added in v0.3.0

func (obj *MediaServerCamera) GetGeometriesPtr() *Geometries

func (*MediaServerCamera) GetModel added in v0.3.0

func (obj *MediaServerCamera) GetModel() NodeReference[Model]

func (*MediaServerCamera) GetModelPtr added in v0.3.0

func (obj *MediaServerCamera) GetModelPtr() *NodeReference[Model]

func (*MediaServerCamera) GetName added in v0.3.0

func (obj *MediaServerCamera) GetName() string

func (*MediaServerCamera) GetNamePtr added in v0.3.0

func (obj *MediaServerCamera) GetNamePtr() *string

func (*MediaServerCamera) GetPosition added in v0.3.0

func (obj *MediaServerCamera) GetPosition() Matrix

func (*MediaServerCamera) GetPositionPtr added in v0.3.0

func (obj *MediaServerCamera) GetPositionPtr() *Matrix

func (*MediaServerCamera) ResolveReference added in v0.3.0

func (obj *MediaServerCamera) ResolveReference(refPointers *ReferencePointers)

func (*MediaServerCamera) SetGeometries added in v0.3.0

func (obj *MediaServerCamera) SetGeometries(geometries Geometries)

func (*MediaServerCamera) SetModel added in v0.3.0

func (obj *MediaServerCamera) SetModel(model NodeReference[Model])

func (*MediaServerCamera) SetName added in v0.3.0

func (obj *MediaServerCamera) SetName(name string)

func (*MediaServerCamera) SetPosition added in v0.3.0

func (obj *MediaServerCamera) SetPosition(matrix Matrix)

type MediaServerLayer

type MediaServerLayer struct {
	Name     string
	Model    NodeReference[Model]
	Position Matrix
	Geometries
}

func (*MediaServerLayer) CreateGeometryReferencePointer added in v0.3.0

func (obj *MediaServerLayer) CreateGeometryReferencePointer(refPointers *ReferencePointers, parentPrefix string)

func (*MediaServerLayer) GenerateMesh added in v0.3.0

func (obj *MediaServerLayer) GenerateMesh(parentTransformation MeshTypes.Matrix, modelList []MeshModel) []MeshModel

func (*MediaServerLayer) GetGeometries added in v0.3.0

func (obj *MediaServerLayer) GetGeometries() Geometries

func (*MediaServerLayer) GetGeometriesPtr added in v0.3.0

func (obj *MediaServerLayer) GetGeometriesPtr() *Geometries

func (*MediaServerLayer) GetModel added in v0.3.0

func (obj *MediaServerLayer) GetModel() NodeReference[Model]

func (*MediaServerLayer) GetModelPtr added in v0.3.0

func (obj *MediaServerLayer) GetModelPtr() *NodeReference[Model]

func (*MediaServerLayer) GetName added in v0.3.0

func (obj *MediaServerLayer) GetName() string

func (*MediaServerLayer) GetNamePtr added in v0.3.0

func (obj *MediaServerLayer) GetNamePtr() *string

func (*MediaServerLayer) GetPosition added in v0.3.0

func (obj *MediaServerLayer) GetPosition() Matrix

func (*MediaServerLayer) GetPositionPtr added in v0.3.0

func (obj *MediaServerLayer) GetPositionPtr() *Matrix

func (*MediaServerLayer) ResolveReference added in v0.3.0

func (obj *MediaServerLayer) ResolveReference(refPointers *ReferencePointers)

func (*MediaServerLayer) SetGeometries added in v0.3.0

func (obj *MediaServerLayer) SetGeometries(geometries Geometries)

func (*MediaServerLayer) SetModel added in v0.3.0

func (obj *MediaServerLayer) SetModel(model NodeReference[Model])

func (*MediaServerLayer) SetName added in v0.3.0

func (obj *MediaServerLayer) SetName(name string)

func (*MediaServerLayer) SetPosition added in v0.3.0

func (obj *MediaServerLayer) SetPosition(matrix Matrix)

type MediaServerMaster

type MediaServerMaster struct {
	Name     string
	Model    NodeReference[Model]
	Position Matrix
	Geometries
}

func (*MediaServerMaster) CreateGeometryReferencePointer added in v0.3.0

func (obj *MediaServerMaster) CreateGeometryReferencePointer(refPointers *ReferencePointers, parentPrefix string)

func (*MediaServerMaster) GenerateMesh added in v0.3.0

func (obj *MediaServerMaster) GenerateMesh(parentTransformation MeshTypes.Matrix, modelList []MeshModel) []MeshModel

func (*MediaServerMaster) GetGeometries added in v0.3.0

func (obj *MediaServerMaster) GetGeometries() Geometries

func (*MediaServerMaster) GetGeometriesPtr added in v0.3.0

func (obj *MediaServerMaster) GetGeometriesPtr() *Geometries

func (*MediaServerMaster) GetModel added in v0.3.0

func (obj *MediaServerMaster) GetModel() NodeReference[Model]

func (*MediaServerMaster) GetModelPtr added in v0.3.0

func (obj *MediaServerMaster) GetModelPtr() *NodeReference[Model]

func (*MediaServerMaster) GetName added in v0.3.0

func (obj *MediaServerMaster) GetName() string

func (*MediaServerMaster) GetNamePtr added in v0.3.0

func (obj *MediaServerMaster) GetNamePtr() *string

func (*MediaServerMaster) GetPosition added in v0.3.0

func (obj *MediaServerMaster) GetPosition() Matrix

func (*MediaServerMaster) GetPositionPtr added in v0.3.0

func (obj *MediaServerMaster) GetPositionPtr() *Matrix

func (*MediaServerMaster) ResolveReference added in v0.3.0

func (obj *MediaServerMaster) ResolveReference(refPointers *ReferencePointers)

func (*MediaServerMaster) SetGeometries added in v0.3.0

func (obj *MediaServerMaster) SetGeometries(geometries Geometries)

func (*MediaServerMaster) SetModel added in v0.3.0

func (obj *MediaServerMaster) SetModel(model NodeReference[Model])

func (*MediaServerMaster) SetName added in v0.3.0

func (obj *MediaServerMaster) SetName(name string)

func (*MediaServerMaster) SetPosition added in v0.3.0

func (obj *MediaServerMaster) SetPosition(matrix Matrix)

type MeshModel added in v0.3.0

type MeshModel struct {
	Mesh         MeshTypes.Mesh
	GeometryType GeometryType
	GeometryPtr  GeometryModel
}

func GenerateMesh added in v0.3.0

func GenerateMesh(obj GeometryModel, parentTransformation MeshTypes.Matrix, modelList []MeshModel, geometryType GeometryType) ([]MeshModel, MeshTypes.Matrix)

func GenerateMeshWithChildren added in v0.3.0

func GenerateMeshWithChildren(obj GeometryModelWithChildGeometries, parentTransformation MeshTypes.Matrix, modelList []MeshModel, geometryType GeometryType) []MeshModel

func GenerateMeshes

func GenerateMeshes[T GeometryModel](source *[]T, parentTransformation MeshTypes.Matrix, modelList []MeshModel) []MeshModel

func (MeshModel) Copy added in v0.3.0

func (obj MeshModel) Copy() MeshModel

type Model

type Model struct {
	Name            string
	Length          float32 // in meter
	Width           float32 // in meter
	Height          float32 // in meter
	PrimitiveType   string  // enum
	File            *string
	SVGOffsetX      float32
	SVGOffsetY      float32
	SVGSideOffsetX  float32
	SVGSideOffsetY  float32
	SVGFrontOffsetX float32
	SVGFrontOffsetY float32
	Mesh            *MeshTypes.Mesh
}

func (*Model) CreateReferencePointer

func (obj *Model) CreateReferencePointer(refPointers *ReferencePointers)

type NodeReference

type NodeReference[T any] struct {
	String string
	Ptr    *T
}

type OpenSoundControl

type OpenSoundControl struct {
}

type OperatingTemperature

type OperatingTemperature struct {
	Low  float32
	High float32
}

type PhysicalDescription

type PhysicalDescription struct {
	Emitters              []*Emitter
	Filters               []*Filter
	ColorSpace            *ColorSpace
	AdditionalColorSpaces []*ColorSpace
	Gamuts                []*Gamut
	DMXProfiles           []*DMXProfile
	CRIs                  []*CRIGroup
	Connectors            []*Connector
	Properties            *Properties
}

func (*PhysicalDescription) CreateReferencePointer

func (obj *PhysicalDescription) CreateReferencePointer(refPointers *ReferencePointers)

type PinPatch

type PinPatch struct {
	ToWiringObject NodeReference[WiringObject]
	FromPin        int
	ToPin          int
}

func (*PinPatch) ResolveReference

func (obj *PinPatch) ResolveReference(refPointers *ReferencePointers)

type Point

type Point struct {
	DMXPercentage float32
	CFC0          float32
	CFC1          float32
	CFC2          float32
	CFC3          float32
}

type PosiStageNet

type PosiStageNet struct {
}

type PrismFacet

type PrismFacet struct {
	Color    ColorCIE
	Rotation Rotation
}

type Properties

type Properties struct {
	OperatingTemperature *OperatingTemperature
	Weight               *Weight
	PowerConsumption     any
	LegHeight            *LegHeight
}

type Protocol

type Protocol struct {
	RDM              []*RDM
	ArtNet           []*ArtNet
	SACN             []*SACN
	PosiStageNet     []*PosiStageNet
	OpenSoundControl []*OpenSoundControl
	CITP             []*CITP
}

func (*Protocol) ResolveReference

func (obj *Protocol) ResolveReference(refPointers *ReferencePointers)

type RDM

type RDM struct {
	ManufacturerID   Hex
	DeviceModelID    Hex
	SoftwareVersions []*RDMSoftwareVersion
}

func (*RDM) ResolveReference

func (obj *RDM) ResolveReference(refPointers *ReferencePointers)

type RDMDMXPersonality

type RDMDMXPersonality struct {
	Value   Hex
	DMXMode NodeReference[DMXMode] // reference to DMX Mode
}

func (*RDMDMXPersonality) ResolveReference

func (obj *RDMDMXPersonality) ResolveReference(refPointers *ReferencePointers)

type RDMSoftwareVersion

type RDMSoftwareVersion struct {
	Value            Hex
	DMXPersonalities []*RDMDMXPersonality
}

func (*RDMSoftwareVersion) ResolveReference

func (obj *RDMSoftwareVersion) ResolveReference(refPointers *ReferencePointers)

type ReferenceCreation

type ReferenceCreation interface {
	CreateReferencePointer(refPointers *ReferencePointers)
}

type ReferencePointers

type ReferencePointers struct {
	ActivationGroups map[string]*ActivationGroup
	Features         map[string]*Feature
	Attributes       map[string]*Attribute
	Wheels           map[string]*Wheel
	WheelSlots       map[string]*WheelSlot
	Emitters         map[string]*Emitter
	Filters          map[string]*Filter
	ColorSpaces      map[string]*ColorSpace // TODO: find example since spec sheet is not specific enough
	Gamuts           map[string]*Gamut
	DMXProfiles      map[string]*DMXProfile
	DMXModes         map[string]*DMXMode
	DMXChannels      map[string]*DMXChannel
	SubPhysicalUnits map[string]*SubPhysicalUnit //TODO: find example since spec sheet is not specific enough
	WiringObjects    map[string]*WiringObject    //TODO: find example since spec sheet is not specific enough
	ChannelFunctions map[string]*ChannelFunction
	Geometries       map[string]*GeometryNodeReference
	Models           map[string]*Model
}

func CreateRefPointersMap added in v0.2.0

func CreateRefPointersMap() *ReferencePointers

type ReferenceResolver

type ReferenceResolver interface {
	ResolveReference(refPointers *ReferencePointers)
}

type Relation

type Relation struct {
	Name     string
	Master   *DMXChannel
	Follower *DMXChannel
	Type     string //enum with "Multiply" or "Override"
}

type Revision

type Revision struct {
	Text       string
	Date       time.Time
	UserID     uint
	ModifiedBy string
}

type Rotation

type Rotation [3][3]float32

Rotation matrix, consist of 3*3 floats. Stored as row-major matrix, i.e. each row of the matrix is stored as a 3-component vector. Mathematical definition of the matrix is column-major, i.e. the matrix rotation is stored in the three columns. Metric system, right-handed Cartesian coordinates XYZ:

X – from left (-X) to right (+X),
Y – from the outside of the monitor (-Y) to the inside of the monitor (+Y),
Z – from the bottom (-Z) to the top (+Z).

type SACN

type SACN struct {
	Maps []*Map
}

type Structure

type Structure struct {
	Name     string
	Model    NodeReference[Model]
	Position Matrix
	Geometries
	LinkedGeometry            string // for now (analyse if this can be a NodeReference instead)
	StructureType             string // enum
	CrossSectionType          string // enum
	CrossSectionHeight        float32
	CrossSectionWallThickness float32
	TrussCrossSection         string
}

func (*Structure) CreateGeometryReferencePointer added in v0.3.0

func (obj *Structure) CreateGeometryReferencePointer(refPointers *ReferencePointers, parentPrefix string)

func (*Structure) GenerateMesh added in v0.3.0

func (obj *Structure) GenerateMesh(parentTransformation MeshTypes.Matrix, modelList []MeshModel) []MeshModel

func (*Structure) GetGeometries added in v0.3.0

func (obj *Structure) GetGeometries() Geometries

func (*Structure) GetGeometriesPtr added in v0.3.0

func (obj *Structure) GetGeometriesPtr() *Geometries

func (*Structure) GetModel added in v0.3.0

func (obj *Structure) GetModel() NodeReference[Model]

func (*Structure) GetModelPtr added in v0.3.0

func (obj *Structure) GetModelPtr() *NodeReference[Model]

func (*Structure) GetName added in v0.3.0

func (obj *Structure) GetName() string

func (*Structure) GetNamePtr added in v0.3.0

func (obj *Structure) GetNamePtr() *string

func (*Structure) GetPosition added in v0.3.0

func (obj *Structure) GetPosition() Matrix

func (*Structure) GetPositionPtr added in v0.3.0

func (obj *Structure) GetPositionPtr() *Matrix

func (*Structure) ResolveReference added in v0.3.0

func (obj *Structure) ResolveReference(refPointers *ReferencePointers)

func (*Structure) SetGeometries added in v0.3.0

func (obj *Structure) SetGeometries(geometries Geometries)

func (*Structure) SetModel added in v0.3.0

func (obj *Structure) SetModel(model NodeReference[Model])

func (*Structure) SetName added in v0.3.0

func (obj *Structure) SetName(name string)

func (*Structure) SetPosition added in v0.3.0

func (obj *Structure) SetPosition(matrix Matrix)

type SubChannelSet

type SubChannelSet struct {
	Name            string
	PhysicalFrom    float32
	PhysicalTo      float32
	SubPhysicalUnit NodeReference[SubPhysicalUnit]
	DMXProfile      NodeReference[DMXProfile]
}

func (*SubChannelSet) ResolveReference

func (obj *SubChannelSet) ResolveReference(refPointers *ReferencePointers)

type SubPhysicalUnit

type SubPhysicalUnit struct {
	Type         string
	PhysicalUnit string
	PhysicalFrom float32
	PhysicalTo   float32
}

type Support

type Support struct {
	Name     string
	Model    NodeReference[Model]
	Position Matrix
	Geometries
	SupportType      string //enum
	RopeCrossSection string
	RopeOffset       Vector3
	CapacityX        float32
	CapacityY        float32
	CapacityZ        float32
	CapacityXX       float32
	CapacityYY       float32
	CapacityZZ       float32
	ResistanceX      float32
	ResistanceY      float32
	ResistanceZ      float32
	ResistanceXX     float32
	ResistanceYY     float32
	ResistanceZZ     float32
}

func (*Support) CreateGeometryReferencePointer added in v0.3.0

func (obj *Support) CreateGeometryReferencePointer(refPointers *ReferencePointers, parentPrefix string)

func (*Support) GenerateMesh added in v0.3.0

func (obj *Support) GenerateMesh(parentTransformation MeshTypes.Matrix, modelList []MeshModel) []MeshModel

func (*Support) GetGeometries added in v0.3.0

func (obj *Support) GetGeometries() Geometries

func (*Support) GetGeometriesPtr added in v0.3.0

func (obj *Support) GetGeometriesPtr() *Geometries

func (*Support) GetModel added in v0.3.0

func (obj *Support) GetModel() NodeReference[Model]

func (*Support) GetModelPtr added in v0.3.0

func (obj *Support) GetModelPtr() *NodeReference[Model]

func (*Support) GetName added in v0.3.0

func (obj *Support) GetName() string

func (*Support) GetNamePtr added in v0.3.0

func (obj *Support) GetNamePtr() *string

func (*Support) GetPosition added in v0.3.0

func (obj *Support) GetPosition() Matrix

func (*Support) GetPositionPtr added in v0.3.0

func (obj *Support) GetPositionPtr() *Matrix

func (*Support) ResolveReference added in v0.3.0

func (obj *Support) ResolveReference(refPointers *ReferencePointers)

func (*Support) SetGeometries added in v0.3.0

func (obj *Support) SetGeometries(geometries Geometries)

func (*Support) SetModel added in v0.3.0

func (obj *Support) SetModel(model NodeReference[Model])

func (*Support) SetName added in v0.3.0

func (obj *Support) SetName(name string)

func (*Support) SetPosition added in v0.3.0

func (obj *Support) SetPosition(matrix Matrix)

type Vector3

type Vector3 struct {
	X float32
	Y float32
	Z float32
}

type Weight

type Weight struct {
	Value float32
}

type Wheel

type Wheel struct {
	Name       string
	WheelSlots []*WheelSlot
}

func (*Wheel) CreateReferencePointer

func (obj *Wheel) CreateReferencePointer(refPointers *ReferencePointers)

func (*Wheel) ResolveReference

func (obj *Wheel) ResolveReference(refPointers *ReferencePointers)

type WheelSlot

type WheelSlot struct {
	Name             string
	Color            ColorCIE
	Filter           NodeReference[Filter] // ref to Physical/Filter
	MediaFileName    *string
	PrismFacets      []*PrismFacet
	AnimationSystems []*AnimationSystem
}

func (*WheelSlot) ResolveReference

func (obj *WheelSlot) ResolveReference(refPointers *ReferencePointers)

type WiringObject

type WiringObject struct {
	Name     string
	Model    NodeReference[Model]
	Position Matrix
	Geometries
	ConnectorType     string
	ComponentType     string //enum
	SignalType        string
	PinCount          int
	ElectricalPayLoad float32
	VoltageRangeMax   float32
	VoltageRangeMin   float32
	FrequencyRangeMax float32
	FrequencyRangeMin float32
	MaxPayLoad        float32
	Voltage           float32
	SignalLayer       int
	CosPhi            float32
	FuseCurrent       float32 // in ampere
	FuseRating        string  //enum
	Orientation       string  //enum
	WireGroup         string
	PinPatches        []*PinPatch
}

func (*WiringObject) CreateGeometryReferencePointer added in v0.3.0

func (obj *WiringObject) CreateGeometryReferencePointer(refPointers *ReferencePointers, parentPrefix string)

func (*WiringObject) GenerateMesh added in v0.3.0

func (obj *WiringObject) GenerateMesh(parentTransformation MeshTypes.Matrix, modelList []MeshModel) []MeshModel

func (*WiringObject) GetGeometries added in v0.3.0

func (obj *WiringObject) GetGeometries() Geometries

func (*WiringObject) GetGeometriesPtr added in v0.3.0

func (obj *WiringObject) GetGeometriesPtr() *Geometries

func (*WiringObject) GetModel added in v0.3.0

func (obj *WiringObject) GetModel() NodeReference[Model]

func (*WiringObject) GetModelPtr added in v0.3.0

func (obj *WiringObject) GetModelPtr() *NodeReference[Model]

func (*WiringObject) GetName added in v0.3.0

func (obj *WiringObject) GetName() string

func (*WiringObject) GetNamePtr added in v0.3.0

func (obj *WiringObject) GetNamePtr() *string

func (*WiringObject) GetPosition added in v0.3.0

func (obj *WiringObject) GetPosition() Matrix

func (*WiringObject) GetPositionPtr added in v0.3.0

func (obj *WiringObject) GetPositionPtr() *Matrix

func (*WiringObject) ResolveReference

func (obj *WiringObject) ResolveReference(refPointers *ReferencePointers)

func (*WiringObject) SetGeometries added in v0.3.0

func (obj *WiringObject) SetGeometries(geometries Geometries)

func (*WiringObject) SetModel added in v0.3.0

func (obj *WiringObject) SetModel(model NodeReference[Model])

func (*WiringObject) SetName added in v0.3.0

func (obj *WiringObject) SetName(name string)

func (*WiringObject) SetPosition added in v0.3.0

func (obj *WiringObject) SetPosition(matrix Matrix)

Jump to

Keyboard shortcuts

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