modelio

package
v0.8.1 Latest Latest
Warning

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

Go to latest
Published: Jun 19, 2026 License: MIT Imports: 8 Imported by: 0

Documentation

Rendered for darwin/amd64

Overview

Package modelio provides purego-based Go bindings for the macOS ModelIO framework.

Apple documentation: https://developer.apple.com/documentation/modelio

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func KUTType3dObject

func KUTType3dObject() uintptr

func KUTTypeAlembic

func KUTTypeAlembic() uintptr

func KUTTypePolygon

func KUTTypePolygon() uintptr

func KUTTypeStereolithography

func KUTTypeStereolithography() uintptr

func KUTTypeUniversalSceneDescription

func KUTTypeUniversalSceneDescription() uintptr

func KUTTypeUniversalSceneDescriptionMobile

func KUTTypeUniversalSceneDescriptionMobile() uintptr

func MDLAssetCanExportFileExtension

func MDLAssetCanExportFileExtension(extension *foundation.NSString) bool

@method canImportFileExtension: @abstract Indicates whether MDLAsset object can export asset to resource with the given extension @return YES is returned if MDLAsset is able is able to export assets to resources with the given extension

func MDLAssetCanImportFileExtension

func MDLAssetCanImportFileExtension(extension *foundation.NSString) bool

@method canImportFileExtension: @abstract Indicates whether MDLAsset object can be initialized with resource with the given extension @return YES is returned if MDLAsset is able to load and represent assets with the given extension

func MDLAssetPlaceLightProbesWithDensityHeuristicUsingIrradianceDataSource

func MDLAssetPlaceLightProbesWithDensityHeuristicUsingIrradianceDataSource(value float32, type_ MDLProbePlacement, dataSource MDLLightProbeIrradianceDataSource) *foundation.NSArray[*MDLLightProbe]

func MDLUtilityConvertToUSDZWriteToURL

func MDLUtilityConvertToUSDZWriteToURL(inputURL *foundation.NSURL, outputURL *foundation.NSURL)

func MDLVertexAttributeAnisotropy

func MDLVertexAttributeAnisotropy() uintptr

The attribute data describes the degree to which a surface’s appearance changes in appearance when rotated about its normal vector.

func MDLVertexAttributeBinormal

func MDLVertexAttributeBinormal() uintptr

The normal to a curve at a vertex position

func MDLVertexAttributeBitangent

func MDLVertexAttributeBitangent() uintptr

The vector completing a tangent basis at a vertex

func MDLVertexAttributeColor

func MDLVertexAttributeColor() uintptr

Color of a vertex

func MDLVertexAttributeEdgeCrease

func MDLVertexAttributeEdgeCrease() uintptr

A crease value along an edge to be applied during subdivision. A zero value indicates an edge is smooth, one is sharply creased.

func MDLVertexAttributeJointIndices

func MDLVertexAttributeJointIndices() uintptr

Indices of joints in an animation rig corresponding to weighting information

func MDLVertexAttributeJointWeights

func MDLVertexAttributeJointWeights() uintptr

Weights corresponding to joints for the purpose of blending animation

func MDLVertexAttributeNormal

func MDLVertexAttributeNormal() uintptr

The direction of a normal at a vertex

func MDLVertexAttributeOcclusionValue

func MDLVertexAttributeOcclusionValue() uintptr

A value indicating the degree to which a vertex is occluded by surrounding geometry

func MDLVertexAttributePosition

func MDLVertexAttributePosition() uintptr

The position of a vertex

func MDLVertexAttributeShadingBasisU

func MDLVertexAttributeShadingBasisU() uintptr

The u direction of a shading basis at a vertex

func MDLVertexAttributeShadingBasisV

func MDLVertexAttributeShadingBasisV() uintptr

The v direction of a shading basis at a vertex

func MDLVertexAttributeSubdivisionStencil

func MDLVertexAttributeSubdivisionStencil() uintptr

Stencil values for subdivision at a vertex

func MDLVertexAttributeTangent

func MDLVertexAttributeTangent() uintptr

A vector tangent to a vertex

func MDLVertexAttributeTextureCoordinate

func MDLVertexAttributeTextureCoordinate() uintptr

Texture coordinate mapping at a vertex

Types

type Acl_entry_id_t

type Acl_entry_id_t int64
const (
	ACL_FIRST_ENTRY Acl_entry_id_t = 0
	ACL_NEXT_ENTRY  Acl_entry_id_t = -1
	ACL_LAST_ENTRY  Acl_entry_id_t = -2
)

func (Acl_entry_id_t) String

func (e Acl_entry_id_t) String() string

type Acl_flag_t

type Acl_flag_t int64
const (
	ACL_FLAG_DEFER_INHERIT      Acl_flag_t = 1
	ACL_FLAG_NO_INHERIT         Acl_flag_t = 131072
	ACL_ENTRY_INHERITED         Acl_flag_t = 16
	ACL_ENTRY_FILE_INHERIT      Acl_flag_t = 32
	ACL_ENTRY_DIRECTORY_INHERIT Acl_flag_t = 64
	ACL_ENTRY_LIMIT_INHERIT     Acl_flag_t = 128
	ACL_ENTRY_ONLY_INHERIT      Acl_flag_t = 256
)

func (Acl_flag_t) String

func (e Acl_flag_t) String() string

type Acl_perm_t

type Acl_perm_t int64
const (
	ACL_READ_DATA           Acl_perm_t = 2
	ACL_LIST_DIRECTORY      Acl_perm_t = 2
	ACL_WRITE_DATA          Acl_perm_t = 4
	ACL_ADD_FILE            Acl_perm_t = 4
	ACL_EXECUTE             Acl_perm_t = 8
	ACL_SEARCH              Acl_perm_t = 8
	ACL_DELETE              Acl_perm_t = 16
	ACL_APPEND_DATA         Acl_perm_t = 32
	ACL_ADD_SUBDIRECTORY    Acl_perm_t = 32
	ACL_DELETE_CHILD        Acl_perm_t = 64
	ACL_READ_ATTRIBUTES     Acl_perm_t = 128
	ACL_WRITE_ATTRIBUTES    Acl_perm_t = 256
	ACL_READ_EXTATTRIBUTES  Acl_perm_t = 512
	ACL_WRITE_EXTATTRIBUTES Acl_perm_t = 1024
	ACL_READ_SECURITY       Acl_perm_t = 2048
	ACL_WRITE_SECURITY      Acl_perm_t = 4096
	ACL_CHANGE_OWNER        Acl_perm_t = 8192
	ACL_SYNCHRONIZE         Acl_perm_t = 1048576
)

func (Acl_perm_t) String

func (e Acl_perm_t) String() string

type Acl_tag_t

type Acl_tag_t int64
const (
	ACL_UNDEFINED_TAG  Acl_tag_t = 0
	ACL_EXTENDED_ALLOW Acl_tag_t = 1
	ACL_EXTENDED_DENY  Acl_tag_t = 2
)

func (Acl_tag_t) String

func (e Acl_tag_t) String() string

type Acl_type_t

type Acl_type_t int64
const (
	ACL_TYPE_EXTENDED Acl_type_t = 256
	ACL_TYPE_ACCESS   Acl_type_t = 0
	ACL_TYPE_DEFAULT  Acl_type_t = 1
	ACL_TYPE_AFS      Acl_type_t = 2
	ACL_TYPE_CODA     Acl_type_t = 3
	ACL_TYPE_NTFS     Acl_type_t = 4
	ACL_TYPE_NWFS     Acl_type_t = 5
)

func (Acl_type_t) String

func (e Acl_type_t) String() string

type Clockid_t

type Clockid_t int64

func (Clockid_t) String

func (e Clockid_t) String() string

type Dispatch_autorelease_frequency_t

type Dispatch_autorelease_frequency_t uint64
const (
	DISPATCH_AUTORELEASE_FREQUENCY_INHERIT   Dispatch_autorelease_frequency_t = 0
	DISPATCH_AUTORELEASE_FREQUENCY_WORK_ITEM Dispatch_autorelease_frequency_t = 1
	DISPATCH_AUTORELEASE_FREQUENCY_NEVER     Dispatch_autorelease_frequency_t = 2
)

func (Dispatch_autorelease_frequency_t) String

type Dispatch_block_flags_t

type Dispatch_block_flags_t uint64
const (
	DISPATCH_BLOCK_BARRIER           Dispatch_block_flags_t = 1
	DISPATCH_BLOCK_DETACHED          Dispatch_block_flags_t = 2
	DISPATCH_BLOCK_ASSIGN_CURRENT    Dispatch_block_flags_t = 4
	DISPATCH_BLOCK_NO_QOS_CLASS      Dispatch_block_flags_t = 8
	DISPATCH_BLOCK_INHERIT_QOS_CLASS Dispatch_block_flags_t = 16
	DISPATCH_BLOCK_ENFORCE_QOS_CLASS Dispatch_block_flags_t = 32
)

func (Dispatch_block_flags_t) String

func (e Dispatch_block_flags_t) String() string

type EvCmd

type EvCmd int64
const (
	EVNOP   EvCmd = 0
	EVHIDE  EvCmd = 1
	EVSHOW  EvCmd = 2
	EVMOVE  EvCmd = 3
	EVLEVEL EvCmd = 4
)

func (EvCmd) String

func (e EvCmd) String() string

type Filesec_property_t

type Filesec_property_t int64
const (
	FILESEC_OWNER         Filesec_property_t = 1
	FILESEC_GROUP         Filesec_property_t = 2
	FILESEC_UUID          Filesec_property_t = 3
	FILESEC_MODE          Filesec_property_t = 4
	FILESEC_ACL           Filesec_property_t = 5
	FILESEC_GRPUUID       Filesec_property_t = 6
	FILESEC_ACL_RAW       Filesec_property_t = 100
	FILESEC_ACL_ALLOCSIZE Filesec_property_t = 101
)

func (Filesec_property_t) String

func (e Filesec_property_t) String() string

type Idtype_t

type Idtype_t int64
const (
	P_ALL  Idtype_t = 0
	P_PID  Idtype_t = 1
	P_PGID Idtype_t = 2
)

func (Idtype_t) String

func (e Idtype_t) String() string

type Ipc_info_object_type_t

type Ipc_info_object_type_t int64
const (
	IPC_OTYPE_NONE                 Ipc_info_object_type_t = 0
	IPC_OTYPE_THREAD_CONTROL       Ipc_info_object_type_t = 1
	IPC_OTYPE_TASK_CONTROL         Ipc_info_object_type_t = 2
	IPC_OTYPE_HOST                 Ipc_info_object_type_t = 3
	IPC_OTYPE_HOST_PRIV            Ipc_info_object_type_t = 4
	IPC_OTYPE_PROCESSOR            Ipc_info_object_type_t = 5
	IPC_OTYPE_PROCESSOR_SET        Ipc_info_object_type_t = 6
	IPC_OTYPE_PROCESSOR_SET_NAME   Ipc_info_object_type_t = 7
	IPC_OTYPE_TIMER                Ipc_info_object_type_t = 8
	IPC_OTYPE_PORT_SUBST_ONCE      Ipc_info_object_type_t = 9
	IPC_OTYPE_MIG                  Ipc_info_object_type_t = 10
	IPC_OTYPE_MEMORY_OBJECT        Ipc_info_object_type_t = 11
	IPC_OTYPE_XMM_PAGER            Ipc_info_object_type_t = 12
	IPC_OTYPE_XMM_KERNEL           Ipc_info_object_type_t = 13
	IPC_OTYPE_XMM_REPLY            Ipc_info_object_type_t = 14
	IPC_OTYPE_UND_REPLY            Ipc_info_object_type_t = 15
	IPC_OTYPE_HOST_NOTIFY          Ipc_info_object_type_t = 16
	IPC_OTYPE_HOST_SECURITY        Ipc_info_object_type_t = 17
	IPC_OTYPE_LEDGER               Ipc_info_object_type_t = 18
	IPC_OTYPE_MAIN_DEVICE          Ipc_info_object_type_t = 19
	IPC_OTYPE_TASK_NAME            Ipc_info_object_type_t = 20
	IPC_OTYPE_SUBSYSTEM            Ipc_info_object_type_t = 21
	IPC_OTYPE_IO_DONE_QUEUE        Ipc_info_object_type_t = 22
	IPC_OTYPE_SEMAPHORE            Ipc_info_object_type_t = 23
	IPC_OTYPE_LOCK_SET             Ipc_info_object_type_t = 24
	IPC_OTYPE_CLOCK                Ipc_info_object_type_t = 25
	IPC_OTYPE_CLOCK_CTRL           Ipc_info_object_type_t = 26
	IPC_OTYPE_IOKIT_IDENT          Ipc_info_object_type_t = 27
	IPC_OTYPE_NAMED_ENTRY          Ipc_info_object_type_t = 28
	IPC_OTYPE_IOKIT_CONNECT        Ipc_info_object_type_t = 29
	IPC_OTYPE_IOKIT_OBJECT         Ipc_info_object_type_t = 30
	IPC_OTYPE_UPL                  Ipc_info_object_type_t = 31
	IPC_OTYPE_MEM_OBJ_CONTROL      Ipc_info_object_type_t = 32
	IPC_OTYPE_AU_SESSIONPORT       Ipc_info_object_type_t = 33
	IPC_OTYPE_FILEPORT             Ipc_info_object_type_t = 34
	IPC_OTYPE_LABELH               Ipc_info_object_type_t = 35
	IPC_OTYPE_TASK_RESUME          Ipc_info_object_type_t = 36
	IPC_OTYPE_VOUCHER              Ipc_info_object_type_t = 37
	IPC_OTYPE_VOUCHER_ATTR_CONTROL Ipc_info_object_type_t = 38
	IPC_OTYPE_WORK_INTERVAL        Ipc_info_object_type_t = 39
	IPC_OTYPE_UX_HANDLER           Ipc_info_object_type_t = 40
	IPC_OTYPE_UEXT_OBJECT          Ipc_info_object_type_t = 41
	IPC_OTYPE_ARCADE_REG           Ipc_info_object_type_t = 42
	IPC_OTYPE_EVENTLINK            Ipc_info_object_type_t = 43
	IPC_OTYPE_TASK_INSPECT         Ipc_info_object_type_t = 44
	IPC_OTYPE_TASK_READ            Ipc_info_object_type_t = 45
	IPC_OTYPE_THREAD_INSPECT       Ipc_info_object_type_t = 46
	IPC_OTYPE_THREAD_READ          Ipc_info_object_type_t = 47
	IPC_OTYPE_SUID_CRED            Ipc_info_object_type_t = 48
	IPC_OTYPE_HYPERVISOR           Ipc_info_object_type_t = 49
	IPC_OTYPE_TASK_ID_TOKEN        Ipc_info_object_type_t = 50
	IPC_OTYPE_TASK_FATAL           Ipc_info_object_type_t = 51
	IPC_OTYPE_KCDATA               Ipc_info_object_type_t = 52
	IPC_OTYPE_EXCLAVES_RESOURCE    Ipc_info_object_type_t = 53
	IPC_OTYPE_THREAD_RESUME        Ipc_info_object_type_t = 54
	IPC_OTYPE_UNKNOWN              Ipc_info_object_type_t = 4294967295
)

func (Ipc_info_object_type_t) String

func (e Ipc_info_object_type_t) String() string

type Launch_data_type_t

type Launch_data_type_t int64
const (
	LAUNCH_DATA_DICTIONARY Launch_data_type_t = 1
	LAUNCH_DATA_ARRAY      Launch_data_type_t = 2
	LAUNCH_DATA_FD         Launch_data_type_t = 3
	LAUNCH_DATA_INTEGER    Launch_data_type_t = 4
	LAUNCH_DATA_REAL       Launch_data_type_t = 5
	LAUNCH_DATA_BOOL       Launch_data_type_t = 6
	LAUNCH_DATA_STRING     Launch_data_type_t = 7
	LAUNCH_DATA_OPAQUE     Launch_data_type_t = 8
	LAUNCH_DATA_ERRNO      Launch_data_type_t = 9
	LAUNCH_DATA_MACHPORT   Launch_data_type_t = 10
)

func (Launch_data_type_t) String

func (e Launch_data_type_t) String() string

type MDLAnimatedMatrix4x4

type MDLAnimatedMatrix4x4 struct {
	MDLAnimatedValue
}

Apple documentation: https://developer.apple.com/documentation/modelio/mdlanimatedmatrix4x4

func MDLAnimatedMatrix4x4FromID

func MDLAnimatedMatrix4x4FromID(id objc.ID) *MDLAnimatedMatrix4x4

func (*MDLAnimatedMatrix4x4) Double4x4AtTime

func (o *MDLAnimatedMatrix4x4) Double4x4AtTime(time_ float64) unsafe.Pointer

func (*MDLAnimatedMatrix4x4) Float4x4AtTime

func (o *MDLAnimatedMatrix4x4) Float4x4AtTime(time_ float64) unsafe.Pointer

func (*MDLAnimatedMatrix4x4) GetDouble4x4ArrayMaxCount

func (o *MDLAnimatedMatrix4x4) GetDouble4x4ArrayMaxCount(valuesArray unsafe.Pointer, maxCount uint) uint

func (*MDLAnimatedMatrix4x4) GetFloat4x4ArrayMaxCount

func (o *MDLAnimatedMatrix4x4) GetFloat4x4ArrayMaxCount(valuesArray unsafe.Pointer, maxCount uint) uint

func (*MDLAnimatedMatrix4x4) ResetWithDouble4x4ArrayAtTimesCount

func (o *MDLAnimatedMatrix4x4) ResetWithDouble4x4ArrayAtTimesCount(valuesArray unsafe.Pointer, timesArray *float64, count uint)

func (*MDLAnimatedMatrix4x4) ResetWithFloat4x4ArrayAtTimesCount

func (o *MDLAnimatedMatrix4x4) ResetWithFloat4x4ArrayAtTimesCount(valuesArray unsafe.Pointer, timesArray *float64, count uint)

func (*MDLAnimatedMatrix4x4) SetDouble4x4AtTime

func (o *MDLAnimatedMatrix4x4) SetDouble4x4AtTime(value unsafe.Pointer, time_ float64)

func (*MDLAnimatedMatrix4x4) SetFloat4x4AtTime

func (o *MDLAnimatedMatrix4x4) SetFloat4x4AtTime(value unsafe.Pointer, time_ float64)

type MDLAnimatedQuaternion

type MDLAnimatedQuaternion struct {
	MDLAnimatedValue
}

Apple documentation: https://developer.apple.com/documentation/modelio/mdlanimatedquaternion

func MDLAnimatedQuaternionFromID

func MDLAnimatedQuaternionFromID(id objc.ID) *MDLAnimatedQuaternion

func (*MDLAnimatedQuaternion) DoubleQuaternionAtTime

func (o *MDLAnimatedQuaternion) DoubleQuaternionAtTime(time_ float64) unsafe.Pointer

func (*MDLAnimatedQuaternion) FloatQuaternionAtTime

func (o *MDLAnimatedQuaternion) FloatQuaternionAtTime(time_ float64) unsafe.Pointer

func (*MDLAnimatedQuaternion) GetDoubleQuaternionArrayMaxCount

func (o *MDLAnimatedQuaternion) GetDoubleQuaternionArrayMaxCount(valuesArray unsafe.Pointer, maxCount uint) uint

func (*MDLAnimatedQuaternion) GetFloatQuaternionArrayMaxCount

func (o *MDLAnimatedQuaternion) GetFloatQuaternionArrayMaxCount(valuesArray unsafe.Pointer, maxCount uint) uint

func (*MDLAnimatedQuaternion) ResetWithDoubleQuaternionArrayAtTimesCount

func (o *MDLAnimatedQuaternion) ResetWithDoubleQuaternionArrayAtTimesCount(valuesArray unsafe.Pointer, timesArray *float64, count uint)

func (*MDLAnimatedQuaternion) ResetWithFloatQuaternionArrayAtTimesCount

func (o *MDLAnimatedQuaternion) ResetWithFloatQuaternionArrayAtTimesCount(valuesArray unsafe.Pointer, timesArray *float64, count uint)

func (*MDLAnimatedQuaternion) SetDoubleQuaternionAtTime

func (o *MDLAnimatedQuaternion) SetDoubleQuaternionAtTime(value unsafe.Pointer, time_ float64)

func (*MDLAnimatedQuaternion) SetFloatQuaternionAtTime

func (o *MDLAnimatedQuaternion) SetFloatQuaternionAtTime(value unsafe.Pointer, time_ float64)

type MDLAnimatedQuaternionArray

type MDLAnimatedQuaternionArray struct {
	MDLAnimatedValue
}

Apple documentation: https://developer.apple.com/documentation/modelio/mdlanimatedquaternionarray

func MDLAnimatedQuaternionArrayFromID

func MDLAnimatedQuaternionArrayFromID(id objc.ID) *MDLAnimatedQuaternionArray

func (*MDLAnimatedQuaternionArray) ElementCount

func (o *MDLAnimatedQuaternionArray) ElementCount() uint

func (*MDLAnimatedQuaternionArray) GetDoubleQuaternionArrayMaxCount

func (o *MDLAnimatedQuaternionArray) GetDoubleQuaternionArrayMaxCount(valuesArray unsafe.Pointer, maxCount uint) uint

func (*MDLAnimatedQuaternionArray) GetDoubleQuaternionArrayMaxCountAtTime

func (o *MDLAnimatedQuaternionArray) GetDoubleQuaternionArrayMaxCountAtTime(array unsafe.Pointer, maxCount uint, time_ float64) uint

func (*MDLAnimatedQuaternionArray) GetFloatQuaternionArrayMaxCount

func (o *MDLAnimatedQuaternionArray) GetFloatQuaternionArrayMaxCount(valuesArray unsafe.Pointer, maxCount uint) uint

func (*MDLAnimatedQuaternionArray) GetFloatQuaternionArrayMaxCountAtTime

func (o *MDLAnimatedQuaternionArray) GetFloatQuaternionArrayMaxCountAtTime(array unsafe.Pointer, maxCount uint, time_ float64) uint

func (*MDLAnimatedQuaternionArray) InitWithElementCount

func (o *MDLAnimatedQuaternionArray) InitWithElementCount(arrayElementCount uint) objc.ID

func (*MDLAnimatedQuaternionArray) ResetWithDoubleQuaternionArrayCountAtTimesCount

func (o *MDLAnimatedQuaternionArray) ResetWithDoubleQuaternionArrayCountAtTimesCount(valuesArray unsafe.Pointer, valuesCount uint, timesArray *float64, timesCount uint)

func (*MDLAnimatedQuaternionArray) ResetWithFloatQuaternionArrayCountAtTimesCount

func (o *MDLAnimatedQuaternionArray) ResetWithFloatQuaternionArrayCountAtTimesCount(valuesArray unsafe.Pointer, valuesCount uint, timesArray *float64, timesCount uint)

func (*MDLAnimatedQuaternionArray) SetDoubleQuaternionArrayCountAtTime

func (o *MDLAnimatedQuaternionArray) SetDoubleQuaternionArrayCountAtTime(array unsafe.Pointer, count uint, time_ float64)

func (*MDLAnimatedQuaternionArray) SetFloatQuaternionArrayCountAtTime

func (o *MDLAnimatedQuaternionArray) SetFloatQuaternionArrayCountAtTime(array unsafe.Pointer, count uint, time_ float64)

type MDLAnimatedScalar

type MDLAnimatedScalar struct {
	MDLAnimatedValue
}

Apple documentation: https://developer.apple.com/documentation/modelio/mdlanimatedscalar

func MDLAnimatedScalarFromID

func MDLAnimatedScalarFromID(id objc.ID) *MDLAnimatedScalar

func (*MDLAnimatedScalar) DoubleAtTime

func (o *MDLAnimatedScalar) DoubleAtTime(time_ float64) float64

func (*MDLAnimatedScalar) FloatAtTime

func (o *MDLAnimatedScalar) FloatAtTime(time_ float64) float32

func (*MDLAnimatedScalar) GetDoubleArrayMaxCount

func (o *MDLAnimatedScalar) GetDoubleArrayMaxCount(valuesArray *float64, maxCount uint) uint

func (*MDLAnimatedScalar) GetFloatArrayMaxCount

func (o *MDLAnimatedScalar) GetFloatArrayMaxCount(valuesArray *float32, maxCount uint) uint

func (*MDLAnimatedScalar) ResetWithDoubleArrayAtTimesCount

func (o *MDLAnimatedScalar) ResetWithDoubleArrayAtTimesCount(valuesArray *float64, timesArray *float64, count uint)

func (*MDLAnimatedScalar) ResetWithFloatArrayAtTimesCount

func (o *MDLAnimatedScalar) ResetWithFloatArrayAtTimesCount(valuesArray *float32, timesArray *float64, count uint)

func (*MDLAnimatedScalar) SetDoubleAtTime

func (o *MDLAnimatedScalar) SetDoubleAtTime(value float64, time_ float64)

func (*MDLAnimatedScalar) SetFloatAtTime

func (o *MDLAnimatedScalar) SetFloatAtTime(value float32, time_ float64)

type MDLAnimatedScalarArray

type MDLAnimatedScalarArray struct {
	MDLAnimatedValue
}

Apple documentation: https://developer.apple.com/documentation/modelio/mdlanimatedscalararray

func MDLAnimatedScalarArrayFromID

func MDLAnimatedScalarArrayFromID(id objc.ID) *MDLAnimatedScalarArray

func (*MDLAnimatedScalarArray) ElementCount

func (o *MDLAnimatedScalarArray) ElementCount() uint

func (*MDLAnimatedScalarArray) GetDoubleArrayMaxCount

func (o *MDLAnimatedScalarArray) GetDoubleArrayMaxCount(valuesArray *float64, maxCount uint) uint

func (*MDLAnimatedScalarArray) GetDoubleArrayMaxCountAtTime

func (o *MDLAnimatedScalarArray) GetDoubleArrayMaxCountAtTime(array *float64, maxCount uint, time_ float64) uint

func (*MDLAnimatedScalarArray) GetFloatArrayMaxCount

func (o *MDLAnimatedScalarArray) GetFloatArrayMaxCount(valuesArray *float32, maxCount uint) uint

func (*MDLAnimatedScalarArray) GetFloatArrayMaxCountAtTime

func (o *MDLAnimatedScalarArray) GetFloatArrayMaxCountAtTime(array *float32, maxCount uint, time_ float64) uint

func (*MDLAnimatedScalarArray) InitWithElementCount

func (o *MDLAnimatedScalarArray) InitWithElementCount(arrayElementCount uint) objc.ID

func (*MDLAnimatedScalarArray) ResetWithDoubleArrayCountAtTimesCount

func (o *MDLAnimatedScalarArray) ResetWithDoubleArrayCountAtTimesCount(valuesArray *float64, valuesCount uint, timesArray *float64, timesCount uint)

func (*MDLAnimatedScalarArray) ResetWithFloatArrayCountAtTimesCount

func (o *MDLAnimatedScalarArray) ResetWithFloatArrayCountAtTimesCount(valuesArray *float32, valuesCount uint, timesArray *float64, timesCount uint)

func (*MDLAnimatedScalarArray) SetDoubleArrayCountAtTime

func (o *MDLAnimatedScalarArray) SetDoubleArrayCountAtTime(array *float64, count uint, time_ float64)

func (*MDLAnimatedScalarArray) SetFloatArrayCountAtTime

func (o *MDLAnimatedScalarArray) SetFloatArrayCountAtTime(array *float32, count uint, time_ float64)

type MDLAnimatedValue

type MDLAnimatedValue struct {
	foundation.NSObject
}

Apple documentation: https://developer.apple.com/documentation/modelio/mdlanimatedvalue

func MDLAnimatedValueFromID

func MDLAnimatedValueFromID(id objc.ID) *MDLAnimatedValue

func (*MDLAnimatedValue) Clear

func (o *MDLAnimatedValue) Clear()

func (*MDLAnimatedValue) GetTimesMaxCount

func (o *MDLAnimatedValue) GetTimesMaxCount(timesArray *float64, maxCount uint) uint

func (*MDLAnimatedValue) Interpolation

func (*MDLAnimatedValue) IsAnimated

func (o *MDLAnimatedValue) IsAnimated() bool

func (*MDLAnimatedValue) KeyTimes

func (*MDLAnimatedValue) MaximumTime

func (o *MDLAnimatedValue) MaximumTime() float64

func (*MDLAnimatedValue) MinimumTime

func (o *MDLAnimatedValue) MinimumTime() float64

func (*MDLAnimatedValue) Precision

func (o *MDLAnimatedValue) Precision() MDLDataPrecision

func (*MDLAnimatedValue) SetInterpolation

func (o *MDLAnimatedValue) SetInterpolation(interpolation MDLAnimatedValueInterpolation)

func (*MDLAnimatedValue) TimeSampleCount

func (o *MDLAnimatedValue) TimeSampleCount() uint

type MDLAnimatedValueInterpolation

type MDLAnimatedValueInterpolation uint64
const (
	MDLAnimatedValueInterpolationConstant MDLAnimatedValueInterpolation = 0
	MDLAnimatedValueInterpolationLinear   MDLAnimatedValueInterpolation = 1
)

func (MDLAnimatedValueInterpolation) String

type MDLAnimatedVector2

type MDLAnimatedVector2 struct {
	MDLAnimatedValue
}

Apple documentation: https://developer.apple.com/documentation/modelio/mdlanimatedvector2

func MDLAnimatedVector2FromID

func MDLAnimatedVector2FromID(id objc.ID) *MDLAnimatedVector2

func (*MDLAnimatedVector2) Double2AtTime

func (o *MDLAnimatedVector2) Double2AtTime(time_ float64) unsafe.Pointer

func (*MDLAnimatedVector2) Float2AtTime

func (o *MDLAnimatedVector2) Float2AtTime(time_ float64) unsafe.Pointer

func (*MDLAnimatedVector2) GetDouble2ArrayMaxCount

func (o *MDLAnimatedVector2) GetDouble2ArrayMaxCount(valuesArray unsafe.Pointer, maxCount uint) uint

func (*MDLAnimatedVector2) GetFloat2ArrayMaxCount

func (o *MDLAnimatedVector2) GetFloat2ArrayMaxCount(valuesArray unsafe.Pointer, maxCount uint) uint

func (*MDLAnimatedVector2) ResetWithDouble2ArrayAtTimesCount

func (o *MDLAnimatedVector2) ResetWithDouble2ArrayAtTimesCount(valuesArray unsafe.Pointer, timesArray *float64, count uint)

func (*MDLAnimatedVector2) ResetWithFloat2ArrayAtTimesCount

func (o *MDLAnimatedVector2) ResetWithFloat2ArrayAtTimesCount(valuesArray unsafe.Pointer, timesArray *float64, count uint)

func (*MDLAnimatedVector2) SetDouble2AtTime

func (o *MDLAnimatedVector2) SetDouble2AtTime(value unsafe.Pointer, time_ float64)

func (*MDLAnimatedVector2) SetFloat2AtTime

func (o *MDLAnimatedVector2) SetFloat2AtTime(value unsafe.Pointer, time_ float64)

type MDLAnimatedVector3

type MDLAnimatedVector3 struct {
	MDLAnimatedValue
}

Apple documentation: https://developer.apple.com/documentation/modelio/mdlanimatedvector3

func MDLAnimatedVector3FromID

func MDLAnimatedVector3FromID(id objc.ID) *MDLAnimatedVector3

func (*MDLAnimatedVector3) Double3AtTime

func (o *MDLAnimatedVector3) Double3AtTime(time_ float64) unsafe.Pointer

func (*MDLAnimatedVector3) Float3AtTime

func (o *MDLAnimatedVector3) Float3AtTime(time_ float64) unsafe.Pointer

func (*MDLAnimatedVector3) GetDouble3ArrayMaxCount

func (o *MDLAnimatedVector3) GetDouble3ArrayMaxCount(valuesArray unsafe.Pointer, maxCount uint) uint

func (*MDLAnimatedVector3) GetFloat3ArrayMaxCount

func (o *MDLAnimatedVector3) GetFloat3ArrayMaxCount(valuesArray unsafe.Pointer, maxCount uint) uint

func (*MDLAnimatedVector3) ResetWithDouble3ArrayAtTimesCount

func (o *MDLAnimatedVector3) ResetWithDouble3ArrayAtTimesCount(valuesArray unsafe.Pointer, timesArray *float64, count uint)

func (*MDLAnimatedVector3) ResetWithFloat3ArrayAtTimesCount

func (o *MDLAnimatedVector3) ResetWithFloat3ArrayAtTimesCount(valuesArray unsafe.Pointer, timesArray *float64, count uint)

func (*MDLAnimatedVector3) SetDouble3AtTime

func (o *MDLAnimatedVector3) SetDouble3AtTime(value unsafe.Pointer, time_ float64)

func (*MDLAnimatedVector3) SetFloat3AtTime

func (o *MDLAnimatedVector3) SetFloat3AtTime(value unsafe.Pointer, time_ float64)

type MDLAnimatedVector3Array

type MDLAnimatedVector3Array struct {
	MDLAnimatedValue
}

Apple documentation: https://developer.apple.com/documentation/modelio/mdlanimatedvector3array

func MDLAnimatedVector3ArrayFromID

func MDLAnimatedVector3ArrayFromID(id objc.ID) *MDLAnimatedVector3Array

func (*MDLAnimatedVector3Array) ElementCount

func (o *MDLAnimatedVector3Array) ElementCount() uint

func (*MDLAnimatedVector3Array) GetDouble3ArrayMaxCount

func (o *MDLAnimatedVector3Array) GetDouble3ArrayMaxCount(valuesArray unsafe.Pointer, maxCount uint) uint

func (*MDLAnimatedVector3Array) GetDouble3ArrayMaxCountAtTime

func (o *MDLAnimatedVector3Array) GetDouble3ArrayMaxCountAtTime(array unsafe.Pointer, maxCount uint, time_ float64) uint

func (*MDLAnimatedVector3Array) GetFloat3ArrayMaxCount

func (o *MDLAnimatedVector3Array) GetFloat3ArrayMaxCount(valuesArray unsafe.Pointer, maxCount uint) uint

func (*MDLAnimatedVector3Array) GetFloat3ArrayMaxCountAtTime

func (o *MDLAnimatedVector3Array) GetFloat3ArrayMaxCountAtTime(array unsafe.Pointer, maxCount uint, time_ float64) uint

func (*MDLAnimatedVector3Array) InitWithElementCount

func (o *MDLAnimatedVector3Array) InitWithElementCount(arrayElementCount uint) objc.ID

func (*MDLAnimatedVector3Array) ResetWithDouble3ArrayCountAtTimesCount

func (o *MDLAnimatedVector3Array) ResetWithDouble3ArrayCountAtTimesCount(valuesArray unsafe.Pointer, valuesCount uint, timesArray *float64, timesCount uint)

func (*MDLAnimatedVector3Array) ResetWithFloat3ArrayCountAtTimesCount

func (o *MDLAnimatedVector3Array) ResetWithFloat3ArrayCountAtTimesCount(valuesArray unsafe.Pointer, valuesCount uint, timesArray *float64, timesCount uint)

func (*MDLAnimatedVector3Array) SetDouble3ArrayCountAtTime

func (o *MDLAnimatedVector3Array) SetDouble3ArrayCountAtTime(array unsafe.Pointer, count uint, time_ float64)

func (*MDLAnimatedVector3Array) SetFloat3ArrayCountAtTime

func (o *MDLAnimatedVector3Array) SetFloat3ArrayCountAtTime(array unsafe.Pointer, count uint, time_ float64)

type MDLAnimatedVector4

type MDLAnimatedVector4 struct {
	MDLAnimatedValue
}

Apple documentation: https://developer.apple.com/documentation/modelio/mdlanimatedvector4

func MDLAnimatedVector4FromID

func MDLAnimatedVector4FromID(id objc.ID) *MDLAnimatedVector4

func (*MDLAnimatedVector4) Double4AtTime

func (o *MDLAnimatedVector4) Double4AtTime(time_ float64) unsafe.Pointer

func (*MDLAnimatedVector4) Float4AtTime

func (o *MDLAnimatedVector4) Float4AtTime(time_ float64) unsafe.Pointer

func (*MDLAnimatedVector4) GetDouble4ArrayMaxCount

func (o *MDLAnimatedVector4) GetDouble4ArrayMaxCount(valuesArray unsafe.Pointer, maxCount uint) uint

func (*MDLAnimatedVector4) GetFloat4ArrayMaxCount

func (o *MDLAnimatedVector4) GetFloat4ArrayMaxCount(valuesArray unsafe.Pointer, maxCount uint) uint

func (*MDLAnimatedVector4) ResetWithDouble4ArrayAtTimesCount

func (o *MDLAnimatedVector4) ResetWithDouble4ArrayAtTimesCount(valuesArray unsafe.Pointer, timesArray *float64, count uint)

func (*MDLAnimatedVector4) ResetWithFloat4ArrayAtTimesCount

func (o *MDLAnimatedVector4) ResetWithFloat4ArrayAtTimesCount(valuesArray unsafe.Pointer, timesArray *float64, count uint)

func (*MDLAnimatedVector4) SetDouble4AtTime

func (o *MDLAnimatedVector4) SetDouble4AtTime(value unsafe.Pointer, time_ float64)

func (*MDLAnimatedVector4) SetFloat4AtTime

func (o *MDLAnimatedVector4) SetFloat4AtTime(value unsafe.Pointer, time_ float64)

type MDLAnimationBindComponent

type MDLAnimationBindComponent struct {
	foundation.NSObject
}

Apple documentation: https://developer.apple.com/documentation/modelio/mdlanimationbindcomponent

func MDLAnimationBindComponentFromID

func MDLAnimationBindComponentFromID(id objc.ID) *MDLAnimationBindComponent

func (*MDLAnimationBindComponent) GeometryBindTransform

func (o *MDLAnimationBindComponent) GeometryBindTransform() unsafe.Pointer

func (*MDLAnimationBindComponent) JointAnimation

func (o *MDLAnimationBindComponent) JointAnimation() MDLJointAnimation

func (*MDLAnimationBindComponent) JointPaths

func (*MDLAnimationBindComponent) SetGeometryBindTransform

func (o *MDLAnimationBindComponent) SetGeometryBindTransform(geometryBindTransform unsafe.Pointer)

func (*MDLAnimationBindComponent) SetJointAnimation

func (o *MDLAnimationBindComponent) SetJointAnimation(jointAnimation MDLJointAnimation)

func (*MDLAnimationBindComponent) SetJointPaths

func (o *MDLAnimationBindComponent) SetJointPaths(jointPaths *foundation.NSArray[*foundation.NSString])

func (*MDLAnimationBindComponent) SetSkeleton

func (o *MDLAnimationBindComponent) SetSkeleton(skeleton *MDLSkeleton)

func (*MDLAnimationBindComponent) Skeleton

func (o *MDLAnimationBindComponent) Skeleton() *MDLSkeleton

type MDLAreaLight

type MDLAreaLight struct {
	MDLPhysicallyPlausibleLight
}

Apple documentation: https://developer.apple.com/documentation/modelio/mdlarealight

func MDLAreaLightFromID

func MDLAreaLightFromID(id objc.ID) *MDLAreaLight

func (*MDLAreaLight) AreaRadius

func (o *MDLAreaLight) AreaRadius() float32

func (*MDLAreaLight) Aspect

func (o *MDLAreaLight) Aspect() float32

func (*MDLAreaLight) SetAreaRadius

func (o *MDLAreaLight) SetAreaRadius(areaRadius float32)

func (*MDLAreaLight) SetAspect

func (o *MDLAreaLight) SetAspect(aspect float32)

func (*MDLAreaLight) SetSuperEllipticPower

func (o *MDLAreaLight) SetSuperEllipticPower(superEllipticPower unsafe.Pointer)

func (*MDLAreaLight) SuperEllipticPower

func (o *MDLAreaLight) SuperEllipticPower() unsafe.Pointer

type MDLAsset

type MDLAsset struct {
	foundation.NSObject
}

Apple documentation: https://developer.apple.com/documentation/modelio/mdlasset

func MDLAssetFromID

func MDLAssetFromID(id objc.ID) *MDLAsset

func (*MDLAsset) AddObject

func (o *MDLAsset) AddObject(object *MDLObject)

@method addObject: @abstract Add a top level object to an asset. @discussion If the object was already in the asset, this has no effect.

func (*MDLAsset) Animations

func (o *MDLAsset) Animations() MDLObjectContainerComponent

@property animations @abstract Animations that can be bound to MDLObjects (@see MDLAnimationBindComponent) @see MDLObjectContainerComponent

func (*MDLAsset) BoundingBox

func (o *MDLAsset) BoundingBox() MDLAxisAlignedBoundingBox

@property boundingBox @abstract The bounds of the MDLAsset at the earliest time sample

func (*MDLAsset) BoundingBoxAtTime

func (o *MDLAsset) BoundingBoxAtTime(time_ float64) MDLAxisAlignedBoundingBox

@method boundingBoxAtTime: @abstract The bounds of the MDLAsset at the specified time

func (*MDLAsset) BufferAllocator

func (o *MDLAsset) BufferAllocator() MDLMeshBufferAllocator

@property bufferAllocator @abstract Allocator used to create vertex and index buffers

func (*MDLAsset) ChildObjectsOfClass

func (o *MDLAsset) ChildObjectsOfClass(objectClass objc.Class) *foundation.NSArray[*MDLObject]

@method childObjectsOfClass: @abstract Inspects an asset's hierarchy for objects of the specified class type @return returns an NSArray of all objects in the asset matching the requested class @discussion This can be used to get references to all MDLMesh objects, MDLLights, etc. if objectClass is not a subclass of MDLObject, an exception will be raised.

func (*MDLAsset) Count

func (o *MDLAsset) Count() uint

@property count @abstract The number of top level objects

func (*MDLAsset) EndTime

func (o *MDLAsset) EndTime() float64

@property endTime @abstract End time bracket of animation data @discussion If no animation data was specified by resource or resource incapable of specifying animation data, this value defaults to 0. If the endTime was set explicitly, then the value of endTime will be the greater of the set value and the animated values.

func (*MDLAsset) ExportAssetToURL

func (o *MDLAsset) ExportAssetToURL(uRL *foundation.NSURL) bool

@method exportAssetToURL: @abstract Export an asset to the specified URL. @return YES is returned if exporting proceeded successfully,

func (*MDLAsset) ExportAssetToURLError

func (o *MDLAsset) ExportAssetToURLError(uRL *foundation.NSURL) (bool, error)

@method exportAssetToURL:error: @abstract Export an asset to the specified URL. @return YES is returned if exporting proceeded successfully,

func (*MDLAsset) FrameInterval

func (o *MDLAsset) FrameInterval() float64

@property frameInterval @abstract Inherent frame rate of an asset @discussion If no framerate was specified by resource or resource uncapable of specifying framerate, this value defaults to 0

func (*MDLAsset) InitWithBufferAllocator

func (o *MDLAsset) InitWithBufferAllocator(bufferAllocator MDLMeshBufferAllocator) *MDLAsset

@method initWithBufferAllocator: @abstract Initialize an empty MDLAsset with a buffer allocator to be used during other operations.

func (*MDLAsset) InitWithURL

func (o *MDLAsset) InitWithURL(uRL *foundation.NSURL) *MDLAsset

@method initWithURL: @abstract Initialize an MDLAsset using the contents of the resource located at the indicated URL @discussion Vertex layout (i.e. vertexDescriptor) will be specified by ModelIO depending on attributes of the resource. Buffers will be allocated using a default NSData based allocator Submeshes will be converted to triangle topology.

func (*MDLAsset) InitWithURLVertexDescriptorBufferAllocator

func (o *MDLAsset) InitWithURLVertexDescriptorBufferAllocator(uRL *foundation.NSURL, vertexDescriptor *MDLVertexDescriptor, bufferAllocator MDLMeshBufferAllocator) *MDLAsset

@method initWithURL:vertexDescriptor:bufferAllocator: @abstract Initialize an MDLAsset using the contents of the resource located at URL, ensuring that the asset conforms to the supplied vertexDescriptor, and buffers are allocated in the supplied allocator @discussion The default behavior is to triangulate any discovered meshes and to conform the mesh to the supplied vertexDescriptor. If nil is passed as the vertexDescriptor, then a vertexDescriptor will be created according to the attributes of the resource. If nil is passed as the bufferAllocator, buffers will be allocated using a default NSData based allocator. Submeshes will be converted to triangle topology.

func (*MDLAsset) InitWithURLVertexDescriptorBufferAllocatorPreserveTopologyError

func (o *MDLAsset) InitWithURLVertexDescriptorBufferAllocatorPreserveTopologyError(uRL *foundation.NSURL, vertexDescriptor *MDLVertexDescriptor, bufferAllocator MDLMeshBufferAllocator, preserveTopology bool) (*MDLAsset, error)

@method initWithURL:vertexDescriptor:bufferAllocator:preserveTopology:error: @abstract Same as initWithURL:vertexDescriptor:bufferAllocator: except that if preserveTopology is YES, a topology buffer might be created on the submeshes. @discussion If all faces in a submesh have the same vertex count, then the submesh will a geometry type corresponding to that vertex count. For example, if all faces have four vertices, then the geometry type will be MDLGeometryTypeQuads. If faces have a varying number of vertices, then the the submesh type will be MDLGeometryTypeVariableTopology, and a faceTopologyBuffer will be created.

func (*MDLAsset) LoadTextures

func (o *MDLAsset) LoadTextures()

@method loadTextures @abstract Iterates over all material properties on all materials. If they are string values or NSURL values, and can be resolved as textures, then the string and NSURL values will be replaced by MDLTextureSampler values.

func (*MDLAsset) Masters deprecated

Deprecated: since macOS 12.0.

func (*MDLAsset) ObjectAtIndex

func (o *MDLAsset) ObjectAtIndex(index uint) *MDLObject

@method objectAtIndex: @abstract return the indexed top level object

func (*MDLAsset) ObjectAtIndexedSubscript

func (o *MDLAsset) ObjectAtIndexedSubscript(index uint) *MDLObject

@method objectAtIndexedSubscript: @abstract return the indexed top level object

func (*MDLAsset) ObjectAtPath

func (o *MDLAsset) ObjectAtPath(path *foundation.NSString) *MDLObject

@abstract Return the object at the specified path, or nil if none exists there

func (*MDLAsset) Originals

func (o *MDLAsset) Originals() MDLObjectContainerComponent

@property originals @abstract Original objects that can be instanced into the asset's object hierarchy @see MDLObjectContainerComponent

func (*MDLAsset) RemoveObject

func (o *MDLAsset) RemoveObject(object *MDLObject)

@method removeObject: @abstract Remove a top level object from an asset. @discussion If the object not in the asset, this has no effect.

func (*MDLAsset) Resolver

func (o *MDLAsset) Resolver() MDLAssetResolver

@property AssetResolver @abstract Resolver asset that helps find associated files @discussion The default asset resolver is the RelativeAssetResolver

func (*MDLAsset) SetAnimations

func (o *MDLAsset) SetAnimations(animations MDLObjectContainerComponent)

func (*MDLAsset) SetEndTime

func (o *MDLAsset) SetEndTime(endTime float64)

func (*MDLAsset) SetFrameInterval

func (o *MDLAsset) SetFrameInterval(frameInterval float64)

func (*MDLAsset) SetMasters deprecated

func (o *MDLAsset) SetMasters(masters MDLObjectContainerComponent)

Deprecated: since macOS 12.0.

func (*MDLAsset) SetOriginals

func (o *MDLAsset) SetOriginals(originals MDLObjectContainerComponent)

@property originals @abstract Original objects that can be instanced into the asset's object hierarchy @see MDLObjectContainerComponent

func (*MDLAsset) SetResolver

func (o *MDLAsset) SetResolver(resolver MDLAssetResolver)

func (*MDLAsset) SetStartTime

func (o *MDLAsset) SetStartTime(startTime float64)

func (*MDLAsset) SetUpAxis

func (o *MDLAsset) SetUpAxis(upAxis unsafe.Pointer)

func (*MDLAsset) StartTime

func (o *MDLAsset) StartTime() float64

@property startTime @abstract Start time bracket of animation data @discussion If no animation data was specified by resource or resource incapable of specifying animation data, this value defaults to 0. If startTime was set explicitly, then the value of startTime will be the lesser of the set value and the animated values.

func (*MDLAsset) URL

func (o *MDLAsset) URL() *foundation.NSURL

@property URL @abstract URL used to create the asset @discussion If the asset was not created with a URL, nil will be returned.

func (*MDLAsset) UpAxis

func (o *MDLAsset) UpAxis() unsafe.Pointer

@property upAxis @abstract Scene up axis @discussion Some imported formats specify a scene up axis. By default Y-axis (0, 1, 0) is used but other values are supported.

func (*MDLAsset) VertexDescriptor

func (o *MDLAsset) VertexDescriptor() *MDLVertexDescriptor

@property vertexDescriptor @abstract Vertex descriptor set upon asset initialization @discussion Will be nil if there was no descriptor set

type MDLAssetResolver

type MDLAssetResolver interface {
	CanResolveAssetNamed(name *foundation.NSString) bool
	ResolveAssetNamed(name *foundation.NSString) *foundation.NSURL
}

MDLAssetResolver wraps the ObjC protocol MDLAssetResolver.

type MDLAxisAlignedBoundingBox

type MDLAxisAlignedBoundingBox struct {
	MaxBounds unsafe.Pointer
	MinBounds unsafe.Pointer
}

type MDLBundleAssetResolver

type MDLBundleAssetResolver struct {
	foundation.NSObject
}

Apple documentation: https://developer.apple.com/documentation/modelio/mdlbundleassetresolver

func MDLBundleAssetResolverFromID

func MDLBundleAssetResolverFromID(id objc.ID) *MDLBundleAssetResolver

func (*MDLBundleAssetResolver) InitWithBundle

func (*MDLBundleAssetResolver) Path

func (*MDLBundleAssetResolver) SetPath

func (o *MDLBundleAssetResolver) SetPath(path *foundation.NSString)

type MDLCamera

type MDLCamera struct {
	MDLObject
}

Apple documentation: https://developer.apple.com/documentation/modelio/mdlcamera

func MDLCameraFromID

func MDLCameraFromID(id objc.ID) *MDLCamera

func (*MDLCamera) ApertureBladeCount

func (o *MDLCamera) ApertureBladeCount() uint

Aperture blade count, where zero indicates a circle.

func (*MDLCamera) BarrelDistortion

func (o *MDLCamera) BarrelDistortion() float32

Radial distortion of the lens, second order term

func (*MDLCamera) BokehKernelWithSize

func (o *MDLCamera) BokehKernelWithSize(size unsafe.Pointer) *MDLTexture

Create a bokeh kernel corresponding to the apertureBladeCount

func (*MDLCamera) ChromaticAberration

func (o *MDLCamera) ChromaticAberration() float32

Amount of chromatic abberation, from zero to one.

func (*MDLCamera) Exposure

func (o *MDLCamera) Exposure() unsafe.Pointer

Exposure amount, unit less

func (*MDLCamera) ExposureCompression

func (o *MDLCamera) ExposureCompression() unsafe.Pointer

exposure curve compression where values below the x value are to be passed through, above the y value, values are to be clamped at maximum display brightness, and a function such as a logarithmic ramp is to be applied in between.

func (*MDLCamera) FStop

func (o *MDLCamera) FStop() float32

f-stop, default is 5.6

func (*MDLCamera) FarVisibilityDistance

func (o *MDLCamera) FarVisibilityDistance() float32

func (*MDLCamera) FieldOfView

func (o *MDLCamera) FieldOfView() float32

The field of view, in degrees. @see focalLength

func (*MDLCamera) FisheyeDistortion

func (o *MDLCamera) FisheyeDistortion() float32

Radial distortion of the lens, fourth order term

func (*MDLCamera) Flash

func (o *MDLCamera) Flash() unsafe.Pointer

Flash amount, unit less

func (*MDLCamera) FocalLength

func (o *MDLCamera) FocalLength() float32

Lens focal length in mm. @see fieldOfView

func (*MDLCamera) FocusDistance

func (o *MDLCamera) FocusDistance() float32

Focus distance

func (*MDLCamera) FrameBoundingBoxSetNearAndFar

func (o *MDLCamera) FrameBoundingBoxSetNearAndFar(boundingBox MDLAxisAlignedBoundingBox, setNearAndFar bool)

Move the camera back and orient the camera so that a bounding box is framed within the current field of view. Uses the Y axis as up. If setNearAndFar is YES, the near and far visibility distances will be set.

func (*MDLCamera) LookAt

func (o *MDLCamera) LookAt(focusPosition unsafe.Pointer)

Orient the camera so that the camera points at focusPosition. Assumes that the Y axis is up.

func (*MDLCamera) LookAtFrom

func (o *MDLCamera) LookAtFrom(focusPosition unsafe.Pointer, cameraPosition unsafe.Pointer)

Set the position of the camera and orient it so that it points at focusPosition. Assumes that the Y axis is up.

func (*MDLCamera) MaximumCircleOfConfusion

func (o *MDLCamera) MaximumCircleOfConfusion() float32

Maximum circle of confusion size in mm on the image plane

func (*MDLCamera) NearVisibilityDistance

func (o *MDLCamera) NearVisibilityDistance() float32

Bounding distance for visible objects

func (*MDLCamera) OpticalVignetting

func (o *MDLCamera) OpticalVignetting() float32

Amount of optical vignetting, rom zero to one.

func (*MDLCamera) Projection

func (o *MDLCamera) Projection() MDLCameraProjection

func (*MDLCamera) ProjectionMatrix

func (o *MDLCamera) ProjectionMatrix() unsafe.Pointer

The projection matrix is calculated from the near and far visibility distances, and the field of view. @see nearVisibilityDistance, nearVisibilityDistance

func (*MDLCamera) RayToForViewPort

func (o *MDLCamera) RayToForViewPort(pixel unsafe.Pointer, size unsafe.Pointer) unsafe.Pointer

A convenience function to calculate a ray from the camera to a pixel in a viewport of a given size

func (*MDLCamera) SensorAspect

func (o *MDLCamera) SensorAspect() float32

Sensor or film gate aperture aspect ratio, default is 1.5 @see sensorVerticalAperture

func (*MDLCamera) SensorEnlargement

func (o *MDLCamera) SensorEnlargement() unsafe.Pointer

Sensor zoom factor

func (*MDLCamera) SensorShift

func (o *MDLCamera) SensorShift() unsafe.Pointer

Sensor shift factor in mm.

func (*MDLCamera) SensorVerticalAperture

func (o *MDLCamera) SensorVerticalAperture() float32

vertical aperture of the sensor or film gate, default is 24mm @see sensorAspect

func (*MDLCamera) SetApertureBladeCount

func (o *MDLCamera) SetApertureBladeCount(apertureBladeCount uint)

func (*MDLCamera) SetBarrelDistortion

func (o *MDLCamera) SetBarrelDistortion(barrelDistortion float32)

func (*MDLCamera) SetChromaticAberration

func (o *MDLCamera) SetChromaticAberration(chromaticAberration float32)

func (*MDLCamera) SetExposure

func (o *MDLCamera) SetExposure(exposure unsafe.Pointer)

func (*MDLCamera) SetExposureCompression

func (o *MDLCamera) SetExposureCompression(exposureCompression unsafe.Pointer)

func (*MDLCamera) SetFStop

func (o *MDLCamera) SetFStop(fStop float32)

func (*MDLCamera) SetFarVisibilityDistance

func (o *MDLCamera) SetFarVisibilityDistance(farVisibilityDistance float32)

func (*MDLCamera) SetFieldOfView

func (o *MDLCamera) SetFieldOfView(fieldOfView float32)

func (*MDLCamera) SetFisheyeDistortion

func (o *MDLCamera) SetFisheyeDistortion(fisheyeDistortion float32)

func (*MDLCamera) SetFlash

func (o *MDLCamera) SetFlash(flash unsafe.Pointer)

func (*MDLCamera) SetFocalLength

func (o *MDLCamera) SetFocalLength(focalLength float32)

func (*MDLCamera) SetFocusDistance

func (o *MDLCamera) SetFocusDistance(focusDistance float32)

func (*MDLCamera) SetMaximumCircleOfConfusion

func (o *MDLCamera) SetMaximumCircleOfConfusion(maximumCircleOfConfusion float32)

func (*MDLCamera) SetNearVisibilityDistance

func (o *MDLCamera) SetNearVisibilityDistance(nearVisibilityDistance float32)

func (*MDLCamera) SetOpticalVignetting

func (o *MDLCamera) SetOpticalVignetting(opticalVignetting float32)

func (*MDLCamera) SetProjection

func (o *MDLCamera) SetProjection(projection MDLCameraProjection)

func (*MDLCamera) SetSensorAspect

func (o *MDLCamera) SetSensorAspect(sensorAspect float32)

func (*MDLCamera) SetSensorEnlargement

func (o *MDLCamera) SetSensorEnlargement(sensorEnlargement unsafe.Pointer)

func (*MDLCamera) SetSensorShift

func (o *MDLCamera) SetSensorShift(sensorShift unsafe.Pointer)

func (*MDLCamera) SetSensorVerticalAperture

func (o *MDLCamera) SetSensorVerticalAperture(sensorVerticalAperture float32)

func (*MDLCamera) SetShutterOpenInterval

func (o *MDLCamera) SetShutterOpenInterval(shutterOpenInterval float64)

func (*MDLCamera) SetWorldToMetersConversionScale

func (o *MDLCamera) SetWorldToMetersConversionScale(worldToMetersConversionScale float32)

func (*MDLCamera) ShutterOpenInterval

func (o *MDLCamera) ShutterOpenInterval() float64

Shutter open interval, in seconds

func (*MDLCamera) WorldToMetersConversionScale

func (o *MDLCamera) WorldToMetersConversionScale() float32

World to meters conversion scale. Required for certain calculations.

type MDLCameraProjection

type MDLCameraProjection uint64
const (
	MDLCameraProjectionPerspective  MDLCameraProjection = 0
	MDLCameraProjectionOrthographic MDLCameraProjection = 1
)

func (MDLCameraProjection) String

func (e MDLCameraProjection) String() string

type MDLCheckerboardTexture

type MDLCheckerboardTexture struct {
	MDLTexture
}

Apple documentation: https://developer.apple.com/documentation/modelio/mdlcheckerboardtexture

func MDLCheckerboardTextureFromID

func MDLCheckerboardTextureFromID(id objc.ID) *MDLCheckerboardTexture

func (*MDLCheckerboardTexture) Color1

func (*MDLCheckerboardTexture) Color2

func (*MDLCheckerboardTexture) Divisions

func (o *MDLCheckerboardTexture) Divisions() float32

func (*MDLCheckerboardTexture) InitWithDivisionsNameDimensionsChannelCountChannelEncodingColor1Color2

func (o *MDLCheckerboardTexture) InitWithDivisionsNameDimensionsChannelCountChannelEncodingColor1Color2(divisions float32, name *foundation.NSString, dimensions unsafe.Pointer, channelCount int, channelEncoding MDLTextureChannelEncoding, color1 unsafe.Pointer, color2 unsafe.Pointer) *MDLCheckerboardTexture

func (*MDLCheckerboardTexture) SetColor1

func (o *MDLCheckerboardTexture) SetColor1(color1 unsafe.Pointer)

func (*MDLCheckerboardTexture) SetColor2

func (o *MDLCheckerboardTexture) SetColor2(color2 unsafe.Pointer)

func (*MDLCheckerboardTexture) SetDivisions

func (o *MDLCheckerboardTexture) SetDivisions(divisions float32)

type MDLColorSwatchTexture

type MDLColorSwatchTexture struct {
	MDLTexture
}

Apple documentation: https://developer.apple.com/documentation/modelio/mdlcolorswatchtexture

func MDLColorSwatchTextureFromID

func MDLColorSwatchTextureFromID(id objc.ID) *MDLColorSwatchTexture

func (*MDLColorSwatchTexture) InitWithColorGradientFromToColorNameTextureDimensions

func (o *MDLColorSwatchTexture) InitWithColorGradientFromToColorNameTextureDimensions(color1 unsafe.Pointer, color2 unsafe.Pointer, name *foundation.NSString, textureDimensions unsafe.Pointer) *MDLColorSwatchTexture

func (*MDLColorSwatchTexture) InitWithColorTemperatureGradientFromToColorTemperatureNameTextureDimensions

func (o *MDLColorSwatchTexture) InitWithColorTemperatureGradientFromToColorTemperatureNameTextureDimensions(colorTemperature1 float32, colorTemperature2 float32, name *foundation.NSString, textureDimensions unsafe.Pointer) *MDLColorSwatchTexture

type MDLComponent

type MDLComponent interface {
}

MDLComponent wraps the ObjC protocol MDLComponent.

type MDLDataPrecision

type MDLDataPrecision uint64
const (
	MDLDataPrecisionUndefined MDLDataPrecision = 0
	MDLDataPrecisionFloat     MDLDataPrecision = 1
	MDLDataPrecisionDouble    MDLDataPrecision = 2
)

func (MDLDataPrecision) String

func (e MDLDataPrecision) String() string

type MDLGeometryType

type MDLGeometryType int64
const (
	MDLGeometryTypePoints           MDLGeometryType = 0
	MDLGeometryTypeLines            MDLGeometryType = 1
	MDLGeometryTypeTriangles        MDLGeometryType = 2
	MDLGeometryTypeTriangleStrips   MDLGeometryType = 3
	MDLGeometryTypeQuads            MDLGeometryType = 4
	MDLGeometryTypeVariableTopology MDLGeometryType = 5
)

func (MDLGeometryType) String

func (e MDLGeometryType) String() string

type MDLIndexBitDepth

type MDLIndexBitDepth uint64
const (
	MDLIndexBitDepthInvalid MDLIndexBitDepth = 0
	MDLIndexBitDepthUInt8   MDLIndexBitDepth = 8
	MDLIndexBitDepthUint8   MDLIndexBitDepth = 8
	MDLIndexBitDepthUInt16  MDLIndexBitDepth = 16
	MDLIndexBitDepthUint16  MDLIndexBitDepth = 16
	MDLIndexBitDepthUInt32  MDLIndexBitDepth = 32
	MDLIndexBitDepthUint32  MDLIndexBitDepth = 32
)

func (MDLIndexBitDepth) String

func (e MDLIndexBitDepth) String() string

type MDLJointAnimation

type MDLJointAnimation interface {
}

MDLJointAnimation wraps the ObjC protocol MDLJointAnimation.

type MDLLight

type MDLLight struct {
	MDLObject
}

Apple documentation: https://developer.apple.com/documentation/modelio/mdllight

func MDLLightFromID

func MDLLightFromID(id objc.ID) *MDLLight

func (*MDLLight) ColorSpace

func (o *MDLLight) ColorSpace() *foundation.NSString

func (*MDLLight) IrradianceAtPoint

func (o *MDLLight) IrradianceAtPoint(point unsafe.Pointer) unsafe.Pointer

A utility function that returns the irradiance from the light at a given point. @discussion point is world space @property colorSpace name, as defined in CGColorSpace.h. Default is kCGColorSpaceSRGB

func (*MDLLight) IrradianceAtPointColorSpace

func (o *MDLLight) IrradianceAtPointColorSpace(point unsafe.Pointer, colorSpace unsafe.Pointer) unsafe.Pointer

func (*MDLLight) LightType

func (o *MDLLight) LightType() MDLLightType

func (*MDLLight) SetColorSpace

func (o *MDLLight) SetColorSpace(colorSpace *foundation.NSString)

func (*MDLLight) SetLightType

func (o *MDLLight) SetLightType(lightType MDLLightType)

type MDLLightProbe

type MDLLightProbe struct {
	MDLLight
}

Apple documentation: https://developer.apple.com/documentation/modelio/mdllightprobe

func MDLLightProbeFromID

func MDLLightProbeFromID(id objc.ID) *MDLLightProbe

func MDLLightProbeLightProbeWithTextureSizeForLocationLightsToConsiderObjectsToConsiderReflectiveCubemapIrradianceCubemap

func MDLLightProbeLightProbeWithTextureSizeForLocationLightsToConsiderObjectsToConsiderReflectiveCubemapIrradianceCubemap(textureSize int, transform *MDLTransform, lightsToConsider *foundation.NSArray[*MDLLight], objectsToConsider *foundation.NSArray[*MDLObject], reflectiveCubemap *MDLTexture, irradianceCubemap *MDLTexture) *MDLLightProbe

func (*MDLLightProbe) GenerateSphericalHarmonicsFromIrradiance

func (o *MDLLightProbe) GenerateSphericalHarmonicsFromIrradiance(sphericalHarmonicsLevel uint)

func (*MDLLightProbe) InitWithReflectiveTextureIrradianceTexture

func (o *MDLLightProbe) InitWithReflectiveTextureIrradianceTexture(reflectiveTexture *MDLTexture, irradianceTexture *MDLTexture) *MDLLightProbe

func (*MDLLightProbe) IrradianceTexture

func (o *MDLLightProbe) IrradianceTexture() *MDLTexture

func (*MDLLightProbe) ReflectiveTexture

func (o *MDLLightProbe) ReflectiveTexture() *MDLTexture

func (*MDLLightProbe) SphericalHarmonicsCoefficients

func (o *MDLLightProbe) SphericalHarmonicsCoefficients() *foundation.NSData

func (*MDLLightProbe) SphericalHarmonicsLevel

func (o *MDLLightProbe) SphericalHarmonicsLevel() uint

type MDLLightProbeIrradianceDataSource

type MDLLightProbeIrradianceDataSource interface {
	BoundingBox() MDLAxisAlignedBoundingBox
	SetBoundingBox(boundingBox MDLAxisAlignedBoundingBox)
	SetSphericalHarmonicsLevel(sphericalHarmonicsLevel uint)
}

MDLLightProbeIrradianceDataSource wraps the ObjC protocol MDLLightProbeIrradianceDataSource.

type MDLLightType

type MDLLightType uint64
const (
	MDLLightTypeUnknown         MDLLightType = 0
	MDLLightTypeAmbient         MDLLightType = 1
	MDLLightTypeDirectional     MDLLightType = 2
	MDLLightTypeSpot            MDLLightType = 3
	MDLLightTypePoint           MDLLightType = 4
	MDLLightTypeLinear          MDLLightType = 5
	MDLLightTypeDiscArea        MDLLightType = 6
	MDLLightTypeRectangularArea MDLLightType = 7
	MDLLightTypeSuperElliptical MDLLightType = 8
	MDLLightTypePhotometric     MDLLightType = 9
	MDLLightTypeProbe           MDLLightType = 10
	MDLLightTypeEnvironment     MDLLightType = 11
)

func (MDLLightType) String

func (e MDLLightType) String() string

type MDLMaterial

type MDLMaterial struct {
	foundation.NSObject
}

Apple documentation: https://developer.apple.com/documentation/modelio/mdlmaterial

func MDLMaterialFromID

func MDLMaterialFromID(id objc.ID) *MDLMaterial

func (*MDLMaterial) BaseMaterial

func (o *MDLMaterial) BaseMaterial() *MDLMaterial

func (*MDLMaterial) Count

func (o *MDLMaterial) Count() uint

func (*MDLMaterial) InitWithNameScatteringFunction

func (o *MDLMaterial) InitWithNameScatteringFunction(name *foundation.NSString, scatteringFunction *MDLScatteringFunction) *MDLMaterial

func (*MDLMaterial) LoadTexturesUsingResolver

func (o *MDLMaterial) LoadTexturesUsingResolver(resolver MDLAssetResolver)

func (*MDLMaterial) MaterialFace

func (o *MDLMaterial) MaterialFace() MDLMaterialFace

func (*MDLMaterial) Name

func (o *MDLMaterial) Name() *foundation.NSString

@see MDLNamed

func (*MDLMaterial) ObjectAtIndexedSubscript

func (o *MDLMaterial) ObjectAtIndexedSubscript(idx uint) *MDLMaterialProperty

func (*MDLMaterial) ObjectForKeyedSubscript

func (o *MDLMaterial) ObjectForKeyedSubscript(name *foundation.NSString) *MDLMaterialProperty

func (*MDLMaterial) PropertiesWithSemantic

func (o *MDLMaterial) PropertiesWithSemantic(semantic MDLMaterialSemantic) *foundation.NSArray[*MDLMaterialProperty]

func (*MDLMaterial) PropertyNamed

func (o *MDLMaterial) PropertyNamed(name *foundation.NSString) *MDLMaterialProperty

func (*MDLMaterial) PropertyWithSemantic

func (o *MDLMaterial) PropertyWithSemantic(semantic MDLMaterialSemantic) *MDLMaterialProperty

func (*MDLMaterial) RemoveAllProperties

func (o *MDLMaterial) RemoveAllProperties()

func (*MDLMaterial) RemoveProperty

func (o *MDLMaterial) RemoveProperty(property *MDLMaterialProperty)

func (*MDLMaterial) ResolveTexturesWithResolver

func (o *MDLMaterial) ResolveTexturesWithResolver(resolver MDLAssetResolver)

func (*MDLMaterial) ScatteringFunction

func (o *MDLMaterial) ScatteringFunction() *MDLScatteringFunction

func (*MDLMaterial) SetBaseMaterial

func (o *MDLMaterial) SetBaseMaterial(baseMaterial *MDLMaterial)

func (*MDLMaterial) SetMaterialFace

func (o *MDLMaterial) SetMaterialFace(materialFace MDLMaterialFace)

func (*MDLMaterial) SetName

func (o *MDLMaterial) SetName(name *foundation.NSString)

func (*MDLMaterial) SetProperty

func (o *MDLMaterial) SetProperty(property *MDLMaterialProperty)

type MDLMaterialFace

type MDLMaterialFace uint64
const (
	MDLMaterialFaceFront       MDLMaterialFace = 0
	MDLMaterialFaceBack        MDLMaterialFace = 1
	MDLMaterialFaceDoubleSided MDLMaterialFace = 2
)

func (MDLMaterialFace) String

func (e MDLMaterialFace) String() string

type MDLMaterialMipMapFilterMode

type MDLMaterialMipMapFilterMode uint64
const (
	MDLMaterialMipMapFilterModeNearest MDLMaterialMipMapFilterMode = 0
	MDLMaterialMipMapFilterModeLinear  MDLMaterialMipMapFilterMode = 1
)

func (MDLMaterialMipMapFilterMode) String

type MDLMaterialProperty

type MDLMaterialProperty struct {
	foundation.NSObject
}

Apple documentation: https://developer.apple.com/documentation/modelio/mdlmaterialproperty

func MDLMaterialPropertyFromID

func MDLMaterialPropertyFromID(id objc.ID) *MDLMaterialProperty

func (*MDLMaterialProperty) Color

func (o *MDLMaterialProperty) Color() unsafe.Pointer

func (*MDLMaterialProperty) Float2Value

func (o *MDLMaterialProperty) Float2Value() unsafe.Pointer

func (*MDLMaterialProperty) Float3Value

func (o *MDLMaterialProperty) Float3Value() unsafe.Pointer

func (*MDLMaterialProperty) Float4Value

func (o *MDLMaterialProperty) Float4Value() unsafe.Pointer

func (*MDLMaterialProperty) FloatValue

func (o *MDLMaterialProperty) FloatValue() float32

func (*MDLMaterialProperty) InitWithNameSemantic

func (o *MDLMaterialProperty) InitWithNameSemantic(name *foundation.NSString, semantic MDLMaterialSemantic) *MDLMaterialProperty

func (*MDLMaterialProperty) InitWithNameSemanticColor

func (o *MDLMaterialProperty) InitWithNameSemanticColor(name *foundation.NSString, semantic MDLMaterialSemantic, color unsafe.Pointer) *MDLMaterialProperty

func (*MDLMaterialProperty) InitWithNameSemanticFloat

func (o *MDLMaterialProperty) InitWithNameSemanticFloat(name *foundation.NSString, semantic MDLMaterialSemantic, value float32) *MDLMaterialProperty

func (*MDLMaterialProperty) InitWithNameSemanticFloat2

func (o *MDLMaterialProperty) InitWithNameSemanticFloat2(name *foundation.NSString, semantic MDLMaterialSemantic, value unsafe.Pointer) *MDLMaterialProperty

func (*MDLMaterialProperty) InitWithNameSemanticFloat3

func (o *MDLMaterialProperty) InitWithNameSemanticFloat3(name *foundation.NSString, semantic MDLMaterialSemantic, value unsafe.Pointer) *MDLMaterialProperty

func (*MDLMaterialProperty) InitWithNameSemanticFloat4

func (o *MDLMaterialProperty) InitWithNameSemanticFloat4(name *foundation.NSString, semantic MDLMaterialSemantic, value unsafe.Pointer) *MDLMaterialProperty

func (*MDLMaterialProperty) InitWithNameSemanticMatrix4x4

func (o *MDLMaterialProperty) InitWithNameSemanticMatrix4x4(name *foundation.NSString, semantic MDLMaterialSemantic, value unsafe.Pointer) *MDLMaterialProperty

func (*MDLMaterialProperty) InitWithNameSemanticString

func (o *MDLMaterialProperty) InitWithNameSemanticString(name *foundation.NSString, semantic MDLMaterialSemantic, string_ *foundation.NSString) *MDLMaterialProperty

func (*MDLMaterialProperty) InitWithNameSemanticTextureSampler

func (o *MDLMaterialProperty) InitWithNameSemanticTextureSampler(name *foundation.NSString, semantic MDLMaterialSemantic, textureSampler *MDLTextureSampler) *MDLMaterialProperty

func (*MDLMaterialProperty) InitWithNameSemanticURL

func (o *MDLMaterialProperty) InitWithNameSemanticURL(name *foundation.NSString, semantic MDLMaterialSemantic, uRL *foundation.NSURL) *MDLMaterialProperty

func (*MDLMaterialProperty) Luminance

func (o *MDLMaterialProperty) Luminance() float32

func (*MDLMaterialProperty) Matrix4x4

func (o *MDLMaterialProperty) Matrix4x4() unsafe.Pointer

func (*MDLMaterialProperty) Name

@see MDLNamed

func (*MDLMaterialProperty) Semantic

func (*MDLMaterialProperty) SetColor

func (o *MDLMaterialProperty) SetColor(color unsafe.Pointer)

func (*MDLMaterialProperty) SetFloat2Value

func (o *MDLMaterialProperty) SetFloat2Value(float2Value unsafe.Pointer)

func (*MDLMaterialProperty) SetFloat3Value

func (o *MDLMaterialProperty) SetFloat3Value(float3Value unsafe.Pointer)

func (*MDLMaterialProperty) SetFloat4Value

func (o *MDLMaterialProperty) SetFloat4Value(float4Value unsafe.Pointer)

func (*MDLMaterialProperty) SetFloatValue

func (o *MDLMaterialProperty) SetFloatValue(floatValue float32)

func (*MDLMaterialProperty) SetLuminance

func (o *MDLMaterialProperty) SetLuminance(luminance float32)

func (*MDLMaterialProperty) SetMatrix4x4

func (o *MDLMaterialProperty) SetMatrix4x4(matrix4x4 unsafe.Pointer)

func (*MDLMaterialProperty) SetName

func (o *MDLMaterialProperty) SetName(name *foundation.NSString)

func (*MDLMaterialProperty) SetProperties

func (o *MDLMaterialProperty) SetProperties(property *MDLMaterialProperty)

func (*MDLMaterialProperty) SetSemantic

func (o *MDLMaterialProperty) SetSemantic(semantic MDLMaterialSemantic)

func (*MDLMaterialProperty) SetStringValue

func (o *MDLMaterialProperty) SetStringValue(stringValue *foundation.NSString)

func (*MDLMaterialProperty) SetTextureSamplerValue

func (o *MDLMaterialProperty) SetTextureSamplerValue(textureSamplerValue *MDLTextureSampler)

func (*MDLMaterialProperty) SetType

func (o *MDLMaterialProperty) SetType(type_ MDLMaterialPropertyType)

func (*MDLMaterialProperty) SetURLValue

func (o *MDLMaterialProperty) SetURLValue(uRLValue *foundation.NSURL)

func (*MDLMaterialProperty) StringValue

func (o *MDLMaterialProperty) StringValue() *foundation.NSString

func (*MDLMaterialProperty) TextureSamplerValue

func (o *MDLMaterialProperty) TextureSamplerValue() *MDLTextureSampler

func (*MDLMaterialProperty) Type

func (*MDLMaterialProperty) URLValue

func (o *MDLMaterialProperty) URLValue() *foundation.NSURL

type MDLMaterialPropertyConnection

type MDLMaterialPropertyConnection struct {
	foundation.NSObject
}

Apple documentation: https://developer.apple.com/documentation/modelio/mdlmaterialpropertyconnection

func MDLMaterialPropertyConnectionFromID

func MDLMaterialPropertyConnectionFromID(id objc.ID) *MDLMaterialPropertyConnection

func (*MDLMaterialPropertyConnection) InitWithOutputInput

Connects the output to the input

func (*MDLMaterialPropertyConnection) Input

func (*MDLMaterialPropertyConnection) Output

type MDLMaterialPropertyGraph

type MDLMaterialPropertyGraph struct {
	MDLMaterialPropertyNode
}

Apple documentation: https://developer.apple.com/documentation/modelio/mdlmaterialpropertygraph

func MDLMaterialPropertyGraphFromID

func MDLMaterialPropertyGraphFromID(id objc.ID) *MDLMaterialPropertyGraph

func (*MDLMaterialPropertyGraph) Connections

func (*MDLMaterialPropertyGraph) Evaluate

func (o *MDLMaterialPropertyGraph) Evaluate()

func (*MDLMaterialPropertyGraph) Nodes

type MDLMaterialPropertyNode

type MDLMaterialPropertyNode struct {
	foundation.NSObject
}

Apple documentation: https://developer.apple.com/documentation/modelio/mdlmaterialpropertynode

func MDLMaterialPropertyNodeFromID

func MDLMaterialPropertyNodeFromID(id objc.ID) *MDLMaterialPropertyNode

func (*MDLMaterialPropertyNode) EvaluationFunction

func (o *MDLMaterialPropertyNode) EvaluationFunction() objc.Block

func (*MDLMaterialPropertyNode) InitWithInputsOutputsEvaluationFunction

func (o *MDLMaterialPropertyNode) InitWithInputsOutputsEvaluationFunction(inputs *foundation.NSArray[*MDLMaterialProperty], outputs *foundation.NSArray[*MDLMaterialProperty], function func(*MDLMaterialPropertyNode)) *MDLMaterialPropertyNode

func (*MDLMaterialPropertyNode) Inputs

func (*MDLMaterialPropertyNode) Outputs

func (*MDLMaterialPropertyNode) SetEvaluationFunction

func (o *MDLMaterialPropertyNode) SetEvaluationFunction(evaluationFunction func(*MDLMaterialPropertyNode))

type MDLMaterialPropertyType

type MDLMaterialPropertyType uint64
const (
	MDLMaterialPropertyTypeNone     MDLMaterialPropertyType = 0
	MDLMaterialPropertyTypeString   MDLMaterialPropertyType = 1
	MDLMaterialPropertyTypeURL      MDLMaterialPropertyType = 2
	MDLMaterialPropertyTypeTexture  MDLMaterialPropertyType = 3
	MDLMaterialPropertyTypeColor    MDLMaterialPropertyType = 4
	MDLMaterialPropertyTypeFloat    MDLMaterialPropertyType = 5
	MDLMaterialPropertyTypeFloat2   MDLMaterialPropertyType = 6
	MDLMaterialPropertyTypeFloat3   MDLMaterialPropertyType = 7
	MDLMaterialPropertyTypeFloat4   MDLMaterialPropertyType = 8
	MDLMaterialPropertyTypeMatrix44 MDLMaterialPropertyType = 9
	MDLMaterialPropertyTypeBuffer   MDLMaterialPropertyType = 10
)

func (MDLMaterialPropertyType) String

func (e MDLMaterialPropertyType) String() string

type MDLMaterialSemantic

type MDLMaterialSemantic uint64
const (
	MDLMaterialSemanticBaseColor                  MDLMaterialSemantic = 0
	MDLMaterialSemanticSubsurface                 MDLMaterialSemantic = 1
	MDLMaterialSemanticMetallic                   MDLMaterialSemantic = 2
	MDLMaterialSemanticSpecular                   MDLMaterialSemantic = 3
	MDLMaterialSemanticSpecularExponent           MDLMaterialSemantic = 4
	MDLMaterialSemanticSpecularTint               MDLMaterialSemantic = 5
	MDLMaterialSemanticRoughness                  MDLMaterialSemantic = 6
	MDLMaterialSemanticAnisotropic                MDLMaterialSemantic = 7
	MDLMaterialSemanticAnisotropicRotation        MDLMaterialSemantic = 8
	MDLMaterialSemanticSheen                      MDLMaterialSemantic = 9
	MDLMaterialSemanticSheenTint                  MDLMaterialSemantic = 10
	MDLMaterialSemanticClearcoat                  MDLMaterialSemantic = 11
	MDLMaterialSemanticClearcoatGloss             MDLMaterialSemantic = 12
	MDLMaterialSemanticEmission                   MDLMaterialSemantic = 13
	MDLMaterialSemanticBump                       MDLMaterialSemantic = 14
	MDLMaterialSemanticOpacity                    MDLMaterialSemantic = 15
	MDLMaterialSemanticInterfaceIndexOfRefraction MDLMaterialSemantic = 16
	MDLMaterialSemanticMaterialIndexOfRefraction  MDLMaterialSemantic = 17
	MDLMaterialSemanticObjectSpaceNormal          MDLMaterialSemantic = 18
	MDLMaterialSemanticTangentSpaceNormal         MDLMaterialSemantic = 19
	MDLMaterialSemanticDisplacement               MDLMaterialSemantic = 20
	MDLMaterialSemanticDisplacementScale          MDLMaterialSemantic = 21
	MDLMaterialSemanticAmbientOcclusion           MDLMaterialSemantic = 22
	MDLMaterialSemanticAmbientOcclusionScale      MDLMaterialSemantic = 23
	MDLMaterialSemanticNone                       MDLMaterialSemantic = 32768
	MDLMaterialSemanticUserDefined                MDLMaterialSemantic = 32769
)

func (MDLMaterialSemantic) String

func (e MDLMaterialSemantic) String() string

type MDLMaterialTextureFilterMode

type MDLMaterialTextureFilterMode uint64
const (
	MDLMaterialTextureFilterModeNearest MDLMaterialTextureFilterMode = 0
	MDLMaterialTextureFilterModeLinear  MDLMaterialTextureFilterMode = 1
)

func (MDLMaterialTextureFilterMode) String

type MDLMaterialTextureWrapMode

type MDLMaterialTextureWrapMode uint64
const (
	MDLMaterialTextureWrapModeClamp  MDLMaterialTextureWrapMode = 0
	MDLMaterialTextureWrapModeRepeat MDLMaterialTextureWrapMode = 1
	MDLMaterialTextureWrapModeMirror MDLMaterialTextureWrapMode = 2
)

func (MDLMaterialTextureWrapMode) String

type MDLMatrix4x4Array

type MDLMatrix4x4Array struct {
	foundation.NSObject
}

Apple documentation: https://developer.apple.com/documentation/modelio/mdlmatrix4x4array

func MDLMatrix4x4ArrayFromID

func MDLMatrix4x4ArrayFromID(id objc.ID) *MDLMatrix4x4Array

func (*MDLMatrix4x4Array) Clear

func (o *MDLMatrix4x4Array) Clear()

func (*MDLMatrix4x4Array) ElementCount

func (o *MDLMatrix4x4Array) ElementCount() uint

func (*MDLMatrix4x4Array) GetDouble4x4ArrayMaxCount

func (o *MDLMatrix4x4Array) GetDouble4x4ArrayMaxCount(valuesArray unsafe.Pointer, maxCount uint) uint

func (*MDLMatrix4x4Array) GetFloat4x4ArrayMaxCount

func (o *MDLMatrix4x4Array) GetFloat4x4ArrayMaxCount(valuesArray unsafe.Pointer, maxCount uint) uint

func (*MDLMatrix4x4Array) InitWithElementCount

func (o *MDLMatrix4x4Array) InitWithElementCount(arrayElementCount uint) *MDLMatrix4x4Array

func (*MDLMatrix4x4Array) Precision

func (o *MDLMatrix4x4Array) Precision() MDLDataPrecision

func (*MDLMatrix4x4Array) SetDouble4x4ArrayCount

func (o *MDLMatrix4x4Array) SetDouble4x4ArrayCount(valuesArray unsafe.Pointer, count uint)

func (*MDLMatrix4x4Array) SetFloat4x4ArrayCount

func (o *MDLMatrix4x4Array) SetFloat4x4ArrayCount(valuesArray unsafe.Pointer, count uint)

type MDLMesh

type MDLMesh struct {
	MDLObject
}

Apple documentation: https://developer.apple.com/documentation/modelio/mdlmesh

func MDLMeshFromID

func MDLMeshFromID(id objc.ID) *MDLMesh

func MDLMeshNewBoxWithDimensionsSegmentsGeometryTypeInwardNormalsAllocator

func MDLMeshNewBoxWithDimensionsSegmentsGeometryTypeInwardNormalsAllocator(dimensions unsafe.Pointer, segments unsafe.Pointer, geometryType MDLGeometryType, inwardNormals bool, allocator MDLMeshBufferAllocator) *MDLMesh

func MDLMeshNewCapsuleWithHeightRadiiRadialSegmentsVerticalSegmentsHemisphereSegmentsGeometryTypeInwardNormalsAllocator

func MDLMeshNewCapsuleWithHeightRadiiRadialSegmentsVerticalSegmentsHemisphereSegmentsGeometryTypeInwardNormalsAllocator(height float32, radii unsafe.Pointer, radialSegments uint, verticalSegments uint, hemisphereSegments uint, geometryType MDLGeometryType, inwardNormals bool, allocator MDLMeshBufferAllocator) *MDLMesh

func MDLMeshNewCylinderWithHeightRadiiRadialSegmentsVerticalSegmentsGeometryTypeInwardNormalsAllocator

func MDLMeshNewCylinderWithHeightRadiiRadialSegmentsVerticalSegmentsGeometryTypeInwardNormalsAllocator(height float32, radii unsafe.Pointer, radialSegments uint, verticalSegments uint, geometryType MDLGeometryType, inwardNormals bool, allocator MDLMeshBufferAllocator) *MDLMesh

func MDLMeshNewEllipsoidWithRadiiRadialSegmentsVerticalSegmentsGeometryTypeInwardNormalsHemisphereAllocator

func MDLMeshNewEllipsoidWithRadiiRadialSegmentsVerticalSegmentsGeometryTypeInwardNormalsHemisphereAllocator(radii unsafe.Pointer, radialSegments uint, verticalSegments uint, geometryType MDLGeometryType, inwardNormals bool, hemisphere bool, allocator MDLMeshBufferAllocator) *MDLMesh

func MDLMeshNewEllipticalConeWithHeightRadiiRadialSegmentsVerticalSegmentsGeometryTypeInwardNormalsAllocator

func MDLMeshNewEllipticalConeWithHeightRadiiRadialSegmentsVerticalSegmentsGeometryTypeInwardNormalsAllocator(height float32, radii unsafe.Pointer, radialSegments uint, verticalSegments uint, geometryType MDLGeometryType, inwardNormals bool, allocator MDLMeshBufferAllocator) *MDLMesh

func MDLMeshNewIcosahedronWithRadiusInwardNormalsAllocator

func MDLMeshNewIcosahedronWithRadiusInwardNormalsAllocator(radius float32, inwardNormals bool, allocator MDLMeshBufferAllocator) *MDLMesh

func MDLMeshNewIcosahedronWithRadiusInwardNormalsGeometryTypeAllocator

func MDLMeshNewIcosahedronWithRadiusInwardNormalsGeometryTypeAllocator(radius float32, inwardNormals bool, geometryType MDLGeometryType, allocator MDLMeshBufferAllocator) *MDLMesh

func MDLMeshNewPlaneWithDimensionsSegmentsGeometryTypeAllocator

func MDLMeshNewPlaneWithDimensionsSegmentsGeometryTypeAllocator(dimensions unsafe.Pointer, segments unsafe.Pointer, geometryType MDLGeometryType, allocator MDLMeshBufferAllocator) *MDLMesh

func MDLMeshNewSubdividedMeshSubmeshIndexSubdivisionLevels

func MDLMeshNewSubdividedMeshSubmeshIndexSubdivisionLevels(mesh *MDLMesh, submeshIndex uint, subdivisionLevels uint) *MDLMesh

func (*MDLMesh) AddAttributeWithNameFormat

func (o *MDLMesh) AddAttributeWithNameFormat(name *foundation.NSString, format MDLVertexFormat)

@method addAttributeWithName:format @abstract Convenience method to add an attribute @discussion The mesh's allocator will be used to create storage for the new attribute.

func (*MDLMesh) AddAttributeWithNameFormatTypeDataStride

func (o *MDLMesh) AddAttributeWithNameFormatTypeDataStride(name *foundation.NSString, format MDLVertexFormat, type_ *foundation.NSString, data *foundation.NSData, stride int)

@method addAttributeWithName:format:type:data:stride @abstract Create a new vertex attribute including an associated buffer with a copy of the supplied data, and update the vertex descriptor accordingly @param name The name the attribute can be found by @param format Format of the data, such as MDLVertexFormatFloat3 @param type The usage of the attribute, such as MDLVertexAttributePosition @param data Object containing the data to be used in the new vertex buffer @param stride The increment in bytes from the start of one data entry to the next.

func (*MDLMesh) AddAttributeWithNameFormatTypeDataStrideTime

func (o *MDLMesh) AddAttributeWithNameFormatTypeDataStrideTime(name *foundation.NSString, format MDLVertexFormat, type_ *foundation.NSString, data *foundation.NSData, stride int, time_ float64)

@method addAttributeWithName:format:type:data:stride:time @abstract Create a new vertex attribute including an associated buffer with a copy of the supplied data, and update the vertex descriptor accordingly @param name The name the attribute can be found by @param format Format of the data, such as MDLVertexFormatFloat3 @param type The usage of the attribute, such as MDLVertexAttributePosition @param data Object containing the data to be used in the new vertex buffer @param stride The increment in bytes from the start of one data entry to the next. @param time The time the attribute is to be invoked at. @discussion Adding an attribute, such as position data, at multiple times will result in attributes being created for each of those times. Attributes corresponding to multiple times can be retrieved from the vertex descriptor.

func (*MDLMesh) AddNormalsWithAttributeNamedCreaseThreshold

func (o *MDLMesh) AddNormalsWithAttributeNamedCreaseThreshold(attributeName *foundation.NSString, creaseThreshold float32)

@method addNormalsWithAttributeNamed:creaseThreshold: @abstract Calculate and add vertex normal data @param attributeName Name is the attribute name of vertex normal attribute. If nil, vertex normals will be added with the MDLVertexAttributeNormal name string @param creaseThreshold Threshold of the dot product between the 2 triangles after which their face normal will be smoothed out. Therefore, a threshold of 0 will smooth everything and a threshold of 1 won't smooth anything. @discussion Uses the attribute named MDLVertexAttributePosition to calculate vertex normals. If the mesh does not have an attribute with 'attributeName', it will be added, otherwise the attribute name will be overwritten with vertex normal data. 'vertexDescriptor' will be updated to reflect the new attribute.

func (*MDLMesh) AddOrthTanBasisForTextureCoordinateAttributeNamedNormalAttributeNamedTangentAttributeNamed

func (o *MDLMesh) AddOrthTanBasisForTextureCoordinateAttributeNamedNormalAttributeNamedTangentAttributeNamed(textureCoordinateAttributeName *foundation.NSString, normalAttributeName *foundation.NSString, tangentAttributeName *foundation.NSString)

func (*MDLMesh) AddTangentBasisForTextureCoordinateAttributeNamedNormalAttributeNamedTangentAttributeNamed

func (o *MDLMesh) AddTangentBasisForTextureCoordinateAttributeNamedNormalAttributeNamedTangentAttributeNamed(textureCoordinateAttributeName *foundation.NSString, normalAttributeName *foundation.NSString, tangentAttributeName *foundation.NSString)

@method addTangentBasisForTextureCoordinateAttributeNamed:normalAttributeNamed:tangentAttributeNamed @abstract Create tangents which are orthogonal to the normal @param textureCoordinateAttributeName texture coordinates to use in calculations @param normalAttributeName normals to use in calculations @param tangentAttributeName Name of a four component vertex tangent attribute. @discussion Uses the attribute named MDLVertexAttributePosition and textureCoordinateAttributeName and the specified normals to calculate tangent information. The mesh's vertexDescriptor will be updated to reflect the new attribute if necessary. Note that this method does NOT produce a T.w component which is used in B = (N x T) * T.w Please use addOrthTanBasisForTextureCoordinateAttributeNamed.

func (*MDLMesh) AddTangentBasisForTextureCoordinateAttributeNamedTangentAttributeNamedBitangentAttributeNamed

func (o *MDLMesh) AddTangentBasisForTextureCoordinateAttributeNamedTangentAttributeNamedBitangentAttributeNamed(textureCoordinateAttributeName *foundation.NSString, tangentAttributeName *foundation.NSString, bitangentAttributeName *foundation.NSString)

@method addTangentBasisForTextureCoordinateAttributeNamed:tangentAttributeNamed:bitangentAttributeNamed @abstract Create a shader basis where the tangent and bitangent span the uv -> object space transform @param textureCoordinateAttributeName Name of texture coordinates to use in calculations @param tangentAttributeName Name of vertex tangent attribute. @param bitangentAttributeName Name of vertex bitangent attribute. @discussion Uses the attribute named MDLVertexAttributePosition and textureCoordinateAttributeName to calculate tangent and bitangent attributes. The mesh's vertexDescriptor will be updated to reflect the new attributes if necessary. The basis may not be orthogonal; to guarantee an orthogonal tangent basis please use addOrthTanBasisForTextureCoordinateAttributeNamed selector.

func (*MDLMesh) AddUnwrappedTextureCoordinatesForAttributeNamed

func (o *MDLMesh) AddUnwrappedTextureCoordinatesForAttributeNamed(textureCoordinateAttributeName *foundation.NSString)

@method addTextureCoordinatesForAttributeNamed:textureCoordinateAttributeName @abstract Creates texture coordinates by unwrapping the mesh @param textureCoordinateAttributeName texture coordinates to modify or create @discussion Uses the attribute named MDLVertexAttributePosition and if available, the attribute named MDLVertexAttributeNormal to calculate texture coordinates

func (*MDLMesh) Allocator

func (o *MDLMesh) Allocator() MDLMeshBufferAllocator

@property allocator @abstract allocator used to allocate contained mesh buffers

func (*MDLMesh) BoundingBox

func (o *MDLMesh) BoundingBox() MDLAxisAlignedBoundingBox

@property boundingBox @abstract Bounding box encompassing the mesh @discussion Calculated by iterating through MDLVertexAttributePosition to find min and max bounds. If no attribute is named MDLVertexAttributePosition this will be a invalid bounds where maxBounds is less than minBounds.

func (*MDLMesh) FlipTextureCoordinatesInAttributeNamed

func (o *MDLMesh) FlipTextureCoordinatesInAttributeNamed(textureCoordinateAttributeName *foundation.NSString)

@method flipTextureCoordinatesInAttributeNamed: @abstract Flips texture coordinates by performing the operation (u,v) = (u, 1-v) @param textureCoordinateAttributeName texture coordinates to modify @discussion Many application generate model files with texture coordinate mapping assuming a bottom left bitmap origin. It can be more convenient to have texture coordinates corresponding to an upper left bitmap origin. This selector will perform the flip operation if the requested texture coordinate attribute exists on the mesh. An exception will be raised if the attribute cannot be found

func (*MDLMesh) GenerateAmbientOcclusionTextureWithQualityAttenuationFactorObjectsToConsiderVertexAttributeNamedMaterialPropertyNamed

func (o *MDLMesh) GenerateAmbientOcclusionTextureWithQualityAttenuationFactorObjectsToConsiderVertexAttributeNamedMaterialPropertyNamed(bakeQuality float32, attenuationFactor float32, objectsToConsider *foundation.NSArray[*MDLObject], vertexAttributeName *foundation.NSString, materialPropertyName *foundation.NSString) bool

@method generateAmbientOcclusionTextureWithQuality: @abstract Creates an Ambient Occlusion texture, returns true upon success, false upon failure @param bakeQuality Float between 0 and 1 that defines quality of the bake process. 0 is of lower quality but bakes faster and uses less memory, where 1 is of higher quality. @param attenuationFactor Float between 0 to 1 that defines how to attenuate the AO value. 0 doesn't change it, and at 1, all AO values are white except if they are originally completely black. Quadratic attenuation in between. @param objectsToConsider NSArray of MDLMeshes containing the objects to raytrace against @param vertexAttributeName NSString of the MDLVertexAttribute where the vertex texture UVs will be stored. Creates it if it doesn't exist, otherwise overwrites current values. @param materialPropertyName NSString of the MDLMaterialProperty that will store the texture in the Mesh. @result Success or failure of the baking process.

func (*MDLMesh) GenerateAmbientOcclusionTextureWithSizeRaysPerSampleAttenuationFactorObjectsToConsiderVertexAttributeNamedMaterialPropertyNamed

func (o *MDLMesh) GenerateAmbientOcclusionTextureWithSizeRaysPerSampleAttenuationFactorObjectsToConsiderVertexAttributeNamedMaterialPropertyNamed(textureSize unsafe.Pointer, raysPerSample int, attenuationFactor float32, objectsToConsider *foundation.NSArray[*MDLObject], vertexAttributeName *foundation.NSString, materialPropertyName *foundation.NSString) bool

@method generateAmbientOcclusionTextureWithSize: @abstract Creates an Ambient Occlusion texture, returns true upon success, false upon failure @param textureSize Texture Size in which to bake the ambient occlusion @param raysPerSample Number of rays to be sent out of every texture texel against the object for potential occlusion. @param attenuationFactor Float between 0 to 1 that defines how to attenuate the AO value. 0 doesn't change it, and at 1, all AO values are white except if they are originally completely black. Quadratic attenuation in between. @param objectsToConsider NSArray of MDLMeshes containing the objects to raytrace against @param vertexAttributeName NSString of the MDLVertexAttribute where the vertex texture UVs will be stored. Creates it if it doesn't exist, otherwise overwrites current values. @param materialPropertyName NSString of the MDLMaterialProperty that will store the texture in the Mesh. @result Success or failure of the baking process.

func (*MDLMesh) GenerateAmbientOcclusionVertexColorsWithQualityAttenuationFactorObjectsToConsiderVertexAttributeNamed

func (o *MDLMesh) GenerateAmbientOcclusionVertexColorsWithQualityAttenuationFactorObjectsToConsiderVertexAttributeNamed(bakeQuality float32, attenuationFactor float32, objectsToConsider *foundation.NSArray[*MDLObject], vertexAttributeName *foundation.NSString) bool

func (*MDLMesh) GenerateAmbientOcclusionVertexColorsWithRaysPerSampleAttenuationFactorObjectsToConsiderVertexAttributeNamed

func (o *MDLMesh) GenerateAmbientOcclusionVertexColorsWithRaysPerSampleAttenuationFactorObjectsToConsiderVertexAttributeNamed(raysPerSample int, attenuationFactor float32, objectsToConsider *foundation.NSArray[*MDLObject], vertexAttributeName *foundation.NSString) bool

func (*MDLMesh) GenerateLightMapTextureWithQualityLightsToConsiderObjectsToConsiderVertexAttributeNamedMaterialPropertyNamed

func (o *MDLMesh) GenerateLightMapTextureWithQualityLightsToConsiderObjectsToConsiderVertexAttributeNamedMaterialPropertyNamed(bakeQuality float32, lightsToConsider *foundation.NSArray[*MDLLight], objectsToConsider *foundation.NSArray[*MDLObject], vertexAttributeName *foundation.NSString, materialPropertyName *foundation.NSString) bool

func (*MDLMesh) GenerateLightMapTextureWithTextureSizeLightsToConsiderObjectsToConsiderVertexAttributeNamedMaterialPropertyNamed

func (o *MDLMesh) GenerateLightMapTextureWithTextureSizeLightsToConsiderObjectsToConsiderVertexAttributeNamedMaterialPropertyNamed(textureSize unsafe.Pointer, lightsToConsider *foundation.NSArray[*MDLLight], objectsToConsider *foundation.NSArray[*MDLObject], vertexAttributeName *foundation.NSString, materialPropertyName *foundation.NSString) bool

func (*MDLMesh) GenerateLightMapVertexColorsWithLightsToConsiderObjectsToConsiderVertexAttributeNamed

func (o *MDLMesh) GenerateLightMapVertexColorsWithLightsToConsiderObjectsToConsiderVertexAttributeNamed(lightsToConsider *foundation.NSArray[*MDLLight], objectsToConsider *foundation.NSArray[*MDLObject], vertexAttributeName *foundation.NSString) bool

func (*MDLMesh) InitBoxWithExtentSegmentsInwardNormalsGeometryTypeAllocator

func (o *MDLMesh) InitBoxWithExtentSegmentsInwardNormalsGeometryTypeAllocator(extent unsafe.Pointer, segments unsafe.Pointer, inwardNormals bool, geometryType MDLGeometryType, allocator MDLMeshBufferAllocator) *MDLMesh

@method initBoxMeshWithExtent:segments:inwardNormals:geometryType:allocator: @abstract Factory method for generating a mesh with a cube shape @return MDLMesh box with desired attributes @param extent size of the box in each dimension @param segments Number of slices in each dimension @param inwardNormals Generated Normal point inward @param geometryType Can be MDLGeometryTypeLines, MDLGeometryTypeQuads, or MDLGeometryTypeTriangles @param allocator A mesh buffer allocator used to allocate memory to back buffers for the returned mesh. If nil, a default allocator will be used @discussion Assembled with triangle or quad primitives. Specifying inward normals is useful for generating a skybox. The center of the box is at(0, 0, 0). Will raise an exception if an unsupported geometry type is passed in.

func (*MDLMesh) InitCapsuleWithExtentCylinderSegmentsHemisphereSegmentsInwardNormalsGeometryTypeAllocator

func (o *MDLMesh) InitCapsuleWithExtentCylinderSegmentsHemisphereSegmentsInwardNormalsGeometryTypeAllocator(extent unsafe.Pointer, segments unsafe.Pointer, hemisphereSegments int, inwardNormals bool, geometryType MDLGeometryType, allocator MDLMeshBufferAllocator) *MDLMesh

@method initCapsuleWithExtent:cylinderSegments:hemisphereSegments:inwardNormals:geometryType:allocator @abstract Factory method for generating a mesh with a capsule shape; a cylinder with hemispheres for caps. @return MDLMesh capsule with desired attributes @param extent Dimension of bounding box for capsule. @param hemisphereSegments Number of slices through hemisphere caps along Y axis @param geometryType Must be MDLGeometryTypeTriangles or MDLGeometryTypeLines @param inwardNormals Normals point toward center of cylinder @param allocator A mesh buffer allocator used to allocate memory to back buffers for the returned mesh. If nil, a default allocator will be used @discussion Center of capsule at (0, 0, 0) with a top at +Y and bottom at -Y. The height of hemisphere cap is specified by the minimum of X and Z Specifying equal X and Z radii will generate a true capsule. Specifying a height that is less than the twice of min of the X and Z radii or verticalSegments of 0 will generate a sphere. The full height of the capsule will also incorporate the hemisphere caps. Will raise an exception if radialSegments is < 3 or if hemisphereSegments < 1 or if an unsupported geometry type is specified. Generated texture coordinates for top and bottom caps are wrapped in a similar manner as for a sphere, laid out as follows: ___ / \ <- T texcoord = 0.0 Texture for top of cylinder ---> [-----] [ ] <- T texcoord = extent.x/extent.y [ ] Texture for sides of cylinder ---> [ ] [_____] <- T texcoord = 1.0 - extent.x/extent.y Texture for base of cylinder ---> [ ] \___/ <- T texcoord = 1.0

func (*MDLMesh) InitConeWithExtentSegmentsInwardNormalsCapGeometryTypeAllocator

func (o *MDLMesh) InitConeWithExtentSegmentsInwardNormalsCapGeometryTypeAllocator(extent unsafe.Pointer, segments unsafe.Pointer, inwardNormals bool, cap_ bool, geometryType MDLGeometryType, allocator MDLMeshBufferAllocator) *MDLMesh

@method initConeWithExtent:segments:inwardNormals:cap:geometryType:allocator @abstract Factory method for generating a mesh with an ellipticalCone shape. @return MDLMesh cone with desired attributes @param geometryType Must be MDLGeometryTypeTriangles or MDLGeometryTypeLines @param inwardNormals Normals point toward center of ellipticalCone @param allocator A mesh buffer allocator used to allocate memory to back buffers for the returned mesh. If nil, a default allocator will be used @discussion Point of cone at (0, 0, 0) while base of cone is -Y. Will raise an exception if radialSegments is < 3, or verticalSegments is < 1, or if an unsupported geometry type is passed in. Generated texture coordinates are laid out as follows: _____ [ ] <- T texcoord = 0.0 [ ] Texture for sides of cone ---> [ ] [ ] [_____] <- T texcoord = 0.6666 / \ Texture for base of cone ---> [ ] \___/ <- T texcoord = 1.0

func (*MDLMesh) InitCylinderWithExtentSegmentsInwardNormalsTopCapBottomCapGeometryTypeAllocator

func (o *MDLMesh) InitCylinderWithExtentSegmentsInwardNormalsTopCapBottomCapGeometryTypeAllocator(extent unsafe.Pointer, segments unsafe.Pointer, inwardNormals bool, topCap bool, bottomCap bool, geometryType MDLGeometryType, allocator MDLMeshBufferAllocator) *MDLMesh

@method initCylinderWithExtent:segments:inwardNormals:topCap:bottomCap:geometryType:allocator @abstract Factory method for generating a mesh with a cylindrical shape @return MDLMesh cylinder with desired attributes @param geometryType Must be MDLGeometryTypeTriangles or MDLGeometryTypeLines @param inwardNormals Normals point toward center of cylinder @param allocator A mesh buffer allocator used to allocate memory to back buffers for the returned mesh. If nil, a default allocator will be used @discussion Center of cylinder at (0, 0, 0) with a top at +Y and bottom at -Y. Specifying equal X and Z radia will generate a true cylinder. Specifying a height of 0.0 and verticalSegments of 0 will generate a disc. Will raise an exception if radialSegments is < 3 or if an unsupported geometry type is passed in. Generated texture coordinates are laid out as follows: ___ / \ <- T texcoord = 0.0 Texture for top of cylinder ---> [ ] \___/ [ ] <- T texcoord = 0.3333 [ ] Texture for sides of cylinder ---> [ ] [_____] <- T texcoord = 0.6666 / \ Texture for base of cylinder ---> [ ] \___/ <- T texcoord = 1.0

func (*MDLMesh) InitHemisphereWithExtentSegmentsInwardNormalsCapGeometryTypeAllocator

func (o *MDLMesh) InitHemisphereWithExtentSegmentsInwardNormalsCapGeometryTypeAllocator(extent unsafe.Pointer, segments unsafe.Pointer, inwardNormals bool, cap_ bool, geometryType MDLGeometryType, allocator MDLMeshBufferAllocator) *MDLMesh

func (*MDLMesh) InitIcosahedronWithExtentInwardNormalsGeometryTypeAllocator

func (o *MDLMesh) InitIcosahedronWithExtentInwardNormalsGeometryTypeAllocator(extent unsafe.Pointer, inwardNormals bool, geometryType MDLGeometryType, allocator MDLMeshBufferAllocator) *MDLMesh

@method initIcosahedronWithExtent:inwardNormals:geometryType:allocator @abstract Factory method for generating a mesh icosahedron @return MDLMesh icosahedron with desired attributes @param inwardNormals Generated normals will face towards the center of the mesh @param allocator A mesh buffer allocator used to allocate memory to back buffers for the returned mesh. If nil, a default allocator will be used @discussion Creates an icosahedron with center at (0, 0, 0).

func (*MDLMesh) InitMeshBySubdividingMeshSubmeshIndexSubdivisionLevelsAllocator

func (o *MDLMesh) InitMeshBySubdividingMeshSubmeshIndexSubdivisionLevelsAllocator(mesh *MDLMesh, submeshIndex int, subdivisionLevels uint, allocator MDLMeshBufferAllocator) *MDLMesh

@method initMeshBySubdividingMesh:submeshIndex:subdivisionLevels:allocator @abstract Factory method that generates a subdivided mesh from a source mesh @param mesh Mesh from which to generate a subdivided mesh @param submeshIndex Index of submesh in Mesh's submesh array from which to generate a subdivided mesh @param subdivisionLevels The number of levels to subdivide mesh @discussion Subdivision levels over four are likely to generate more triangles than can be reasonably displayed. Index and vertex data will use the same allocator used for the source mesh. Loading an asset using the topology preservation flag set to YES will result in the best subdivision results. @return Returns a mesh subdivided to index level, unless subdivision is impossible.

func (*MDLMesh) InitPlaneWithExtentSegmentsGeometryTypeAllocator

func (o *MDLMesh) InitPlaneWithExtentSegmentsGeometryTypeAllocator(extent unsafe.Pointer, segments unsafe.Pointer, geometryType MDLGeometryType, allocator MDLMeshBufferAllocator) *MDLMesh

@method initPlaneWithExtent:segments:geometryType:allocator @abstract Factory method for generating a mesh with an planar shape @return MDLMesh plane with desired attributes @param extent extent of the plane @param segments Number of segements in the X and Y dimensions @param geometryType Can be MDLGeometryTypeLines, MDLGeometryTypeQuads, or MDLGeometryTypeTriangles @param allocator A mesh buffer allocator used to allocate memory to back buffers for the returned mesh. If nil, a default allocator will be used @discussion Creates a plane spanning the greatest dimensions of extent. Will raise an exception if an unsupported geometry type is passed in.

func (*MDLMesh) InitSphereWithExtentSegmentsInwardNormalsGeometryTypeAllocator

func (o *MDLMesh) InitSphereWithExtentSegmentsInwardNormalsGeometryTypeAllocator(extent unsafe.Pointer, segments unsafe.Pointer, inwardNormals bool, geometryType MDLGeometryType, allocator MDLMeshBufferAllocator) *MDLMesh

@method initSphereWithExtent:segments:inwardNormals:geometryType:allocator @abstract Factory method for generating a mesh with an ellipsoid shape @return MDLMesh ellipsoid with desired attributes @param geometryType Must be MDLGeometryTypeTriangles or MDLGeometryTypeLines @param inwardNormals If true, generated normals will face inwards. Useful for generating a skydome. Actual number of vertical slices will be half of 'vertical' segments @param allocator A mesh buffer allocator used to allocate memory to back buffers for the returned mesh. If nil, a default allocator will be used @discussion Specifying inward normals and hemisphere is useful for generating a skydome. Specifying equal X, Y, and Z radii will generate a sphere. Specifying a y radius of 0.0 will generate a disc. Will raise an exception if radialSegments is < 3, verticalSegments is < 2, or an unsupported geometry type is passed in.

func (*MDLMesh) InitWithBufferAllocator

func (o *MDLMesh) InitWithBufferAllocator(bufferAllocator MDLMeshBufferAllocator) *MDLMesh

func (*MDLMesh) InitWithVertexBufferVertexCountDescriptorSubmeshes

func (o *MDLMesh) InitWithVertexBufferVertexCountDescriptorSubmeshes(vertexBuffer MDLMeshBuffer, vertexCount uint, descriptor *MDLVertexDescriptor, submeshes *foundation.NSArray[*MDLSubmesh]) *MDLMesh

@method initWithVertexBuffer:vertexCount:descriptor:submeshes: @abstract Initialize object with a vertex buffer and a collection of submeshes @return Initialized mesh or nil if descriptor's layout array does not describe a single buffer @param vertexBuffer MDLMeshBuffer object containing all vertex data for the mesh @param vertexCount Number of vertices in the vertexBuffer @param descriptor VertexDescriptor specifying how to interpret vertex data @param submeshes Array of submeshes with index buffers referencing vertex data and/or materials to be applied to mesh

func (*MDLMesh) InitWithVertexBuffersVertexCountDescriptorSubmeshes

func (o *MDLMesh) InitWithVertexBuffersVertexCountDescriptorSubmeshes(vertexBuffers *foundation.NSArray[MDLMeshBuffer], vertexCount uint, descriptor *MDLVertexDescriptor, submeshes *foundation.NSArray[*MDLSubmesh]) *MDLMesh

@method initWithVertexBuffer:vertexCount:descriptor:submeshes: @abstract Initialize object with an array of vertex buffers (Structure of Arrays) and a collection of submeshes @return Initialized mesh or nil if descriptor's layout array is incompatible with vertexBuffers array @param vertexCount Number of vertices in vertexBuffers @param descriptor VertexDescriptor specifying how to interpret vertex data @param submeshes Array of submeshes with index buffers referencing vertex data and/or materials to be applied to mesh @discussion Allows initialization with the layout of the vertexBuffers in a structure-of-arrays form, in other words, non-interleaved vertex attributes

func (*MDLMesh) MakeVerticesUnique

func (o *MDLMesh) MakeVerticesUnique()

@method makeVerticesUnique: @abstract Deindexes the vertex array @discussion If any vertices are shared on multiple faces, duplicate those vertices so faces do not share vertices. The vertex buffer and index buffers on submeshes may grow to accommodate any vertices added. Deprecated: since macOS 10.13.

func (*MDLMesh) MakeVerticesUniqueAndReturnError

func (o *MDLMesh) MakeVerticesUniqueAndReturnError() (bool, error)

@method makeVerticesUniqueAndReturnError: @abstract Deindexes the vertex array @discussion If any vertices are shared on multiple faces, duplicate those vertices so faces do not share vertices. The vertex buffer and index buffers on submeshes may grow to accommodate any vertices added.

func (*MDLMesh) RemoveAttributeNamed

func (o *MDLMesh) RemoveAttributeNamed(name *foundation.NSString)

@method removeAttributeNamed: @abstract remove an attribute @discussion if the named attribute does not exist, nothing happens.

func (*MDLMesh) ReplaceAttributeNamedWithData

func (o *MDLMesh) ReplaceAttributeNamedWithData(name *foundation.NSString, newData *MDLVertexAttributeData)

@method replaceAttributeNamed:withData @abstract replace existing attribute data with new attribute data retaining the format of the replacement data. @discussion If the specified attribute does not already exist, it will be created.

func (*MDLMesh) SetSubmeshes

func (o *MDLMesh) SetSubmeshes(submeshes *foundation.NSMutableArray[*MDLSubmesh])

func (*MDLMesh) SetVertexBuffers

func (o *MDLMesh) SetVertexBuffers(vertexBuffers *foundation.NSArray[MDLMeshBuffer])

func (*MDLMesh) SetVertexCount

func (o *MDLMesh) SetVertexCount(vertexCount uint)

func (*MDLMesh) SetVertexDescriptor

func (o *MDLMesh) SetVertexDescriptor(vertexDescriptor *MDLVertexDescriptor)

func (*MDLMesh) Submeshes

func (o *MDLMesh) Submeshes() *foundation.NSMutableArray[*MDLSubmesh]

@property submeshes @abstract Array of submeshes containing an indexbuffer referencing the vertex data and material to be applied when the mesh is rendered

func (*MDLMesh) UpdateAttributeNamedWithData

func (o *MDLMesh) UpdateAttributeNamedWithData(name *foundation.NSString, newData *MDLVertexAttributeData)

@method updateAttributeNamed:withData @abstract update existing attribute data with new attribute data retaining the format of the existing data. @discussion If the specified attribute does not already exist, it will be created with the same format as the newData.

func (*MDLMesh) VertexAttributeDataForAttributeNamed

func (o *MDLMesh) VertexAttributeDataForAttributeNamed(name *foundation.NSString) *MDLVertexAttributeData

@method vertexAttributeDataForAttributeNamed: @abstract convenience selector to get quick access to vertex attribute data @discussion the vertex buffer will remain mapped until the MDLVertexAttributeData is freed.

func (*MDLMesh) VertexAttributeDataForAttributeNamedAsFormat

func (o *MDLMesh) VertexAttributeDataForAttributeNamedAsFormat(name *foundation.NSString, format MDLVertexFormat) *MDLVertexAttributeData

@method vertexAttributeDataForAttributeNamed:asFormat @abstract convenience selector to get quick access to vertex attribute data reformatted to the requested format if necessary. @discussion If the desired format has less elements than the source attribute elements, excess elements will be discarded. If the desired format has more elements than the source attribute, then the destination elements will be set to zero. The vertex buffer will remain mapped until the MDLVertexAttributeData is freed.

func (*MDLMesh) VertexBuffers

func (o *MDLMesh) VertexBuffers() *foundation.NSArray[MDLMeshBuffer]

@property vertexBuffers @abstract Array of buffers containing vertex data @discussion The vertex buffers in this array are indexed by the vertex descriptor.

func (*MDLMesh) VertexCount

func (o *MDLMesh) VertexCount() uint

@property vertexCount @abstract Number of vertices in the vertexBuffers @discussion The size of vertex data in each buffer can be computed by multiplying this value with the stride of the buffer in the vertexDescriptor's layout

func (*MDLMesh) VertexDescriptor

func (o *MDLMesh) VertexDescriptor() *MDLVertexDescriptor

@property vertexDescriptor @abstract Immutable vertex descriptor for interpreting data in vertexBuffers @discussion Setting this applies the new layout in 'vertexBuffers' thus is a heavyweight operation as structured copies of almost all vertex buffer data could be made. Additionally, if the new vertexDescriptor does not have an attribute in the original vertexDescriptor, that attribute will be deleted. If the original vertexDescriptor does not have an attribute in the new vertexDescriptor, the data for the added attribute set as the added attribute's initializationValue property. The allocator associated with each original meshbuffer is used to reallocate the corresponding resultant meshbuffer.

type MDLMeshBuffer

type MDLMeshBuffer interface {
	foundation.NSCopying
	FillDataOffset(data *foundation.NSData, offset uint)
	Map() *MDLMeshBufferMap
	Length() uint
	Allocator() MDLMeshBufferAllocator
	Zone() MDLMeshBufferZone
	Type() MDLMeshBufferType
}

MDLMeshBuffer wraps the ObjC protocol MDLMeshBuffer.

type MDLMeshBufferAllocator

type MDLMeshBufferAllocator interface {
	NewZone(capacity uint) MDLMeshBufferZone
	NewZoneForBuffersWithSizeAndType(sizes *foundation.NSArray[*foundation.NSNumber], types *foundation.NSArray[*foundation.NSNumber]) MDLMeshBufferZone
	NewBufferType(length uint, type_ MDLMeshBufferType) MDLMeshBuffer
	NewBufferWithDataType(data *foundation.NSData, type_ MDLMeshBufferType) MDLMeshBuffer
	NewBufferFromZoneLengthType(zone MDLMeshBufferZone, length uint, type_ MDLMeshBufferType) MDLMeshBuffer
	NewBufferFromZoneDataType(zone MDLMeshBufferZone, data *foundation.NSData, type_ MDLMeshBufferType) MDLMeshBuffer
}

MDLMeshBufferAllocator wraps the ObjC protocol MDLMeshBufferAllocator.

type MDLMeshBufferData

type MDLMeshBufferData struct {
	foundation.NSObject
}

Apple documentation: https://developer.apple.com/documentation/modelio/mdlmeshbufferdata

func MDLMeshBufferDataFromID

func MDLMeshBufferDataFromID(id objc.ID) *MDLMeshBufferData

func (*MDLMeshBufferData) Data

func (o *MDLMeshBufferData) Data() *foundation.NSData

func (*MDLMeshBufferData) InitWithTypeData

func (o *MDLMeshBufferData) InitWithTypeData(type_ MDLMeshBufferType, data *foundation.NSData) *MDLMeshBufferData

@method initWithType:data @abstract instantiate a new data backed mesh buffer @param type the intended use of the buffer @param data the data to be used as a mesh buffer. It will be copied.

func (*MDLMeshBufferData) InitWithTypeLength

func (o *MDLMeshBufferData) InitWithTypeLength(type_ MDLMeshBufferType, length uint) *MDLMeshBufferData

@method initWithType:length @abstract instantiate a new data backed mesh buffer @param type the intended use of the buffer @param length the size of buffer to allocate, in bytes

type MDLMeshBufferDataAllocator

type MDLMeshBufferDataAllocator struct {
	foundation.NSObject
}

Apple documentation: https://developer.apple.com/documentation/modelio/mdlmeshbufferdataallocator

func MDLMeshBufferDataAllocatorFromID

func MDLMeshBufferDataAllocatorFromID(id objc.ID) *MDLMeshBufferDataAllocator

type MDLMeshBufferMap

type MDLMeshBufferMap struct {
	foundation.NSObject
}

Apple documentation: https://developer.apple.com/documentation/modelio/mdlmeshbuffermap

func MDLMeshBufferMapFromID

func MDLMeshBufferMapFromID(id objc.ID) *MDLMeshBufferMap

func (*MDLMeshBufferMap) Bytes

func (o *MDLMeshBufferMap) Bytes() unsafe.Pointer

func (*MDLMeshBufferMap) InitWithBytesDeallocator

func (o *MDLMeshBufferMap) InitWithBytesDeallocator(bytes_ unsafe.Pointer, deallocator func()) *MDLMeshBufferMap

@method initWithBytes:deallocator: @abstract Called by implementor of MDLMeshBuffer protocol to create the map and arrange for unmapping on deallocation.

type MDLMeshBufferType

type MDLMeshBufferType uint64
const (
	MDLMeshBufferTypeVertex MDLMeshBufferType = 1
	MDLMeshBufferTypeIndex  MDLMeshBufferType = 2
	MDLMeshBufferTypeCustom MDLMeshBufferType = 3
)

func (MDLMeshBufferType) String

func (e MDLMeshBufferType) String() string

type MDLMeshBufferZone

type MDLMeshBufferZone interface {
	Capacity() uint
	Allocator() MDLMeshBufferAllocator
}

MDLMeshBufferZone wraps the ObjC protocol MDLMeshBufferZone.

type MDLMeshBufferZoneDefault

type MDLMeshBufferZoneDefault struct {
	foundation.NSObject
}

Apple documentation: https://developer.apple.com/documentation/modelio/mdlmeshbufferzonedefault

func MDLMeshBufferZoneDefaultFromID

func MDLMeshBufferZoneDefaultFromID(id objc.ID) *MDLMeshBufferZoneDefault

func (*MDLMeshBufferZoneDefault) Allocator

func (*MDLMeshBufferZoneDefault) Capacity

func (o *MDLMeshBufferZoneDefault) Capacity() uint

type MDLNamed

type MDLNamed interface {
	Name() *foundation.NSString
	SetName(name *foundation.NSString)
}

MDLNamed wraps the ObjC protocol MDLNamed.

type MDLNoiseTexture

type MDLNoiseTexture struct {
	MDLTexture
}

Apple documentation: https://developer.apple.com/documentation/modelio/mdlnoisetexture

func MDLNoiseTextureFromID

func MDLNoiseTextureFromID(id objc.ID) *MDLNoiseTexture

func (*MDLNoiseTexture) InitCellularNoiseWithFrequencyNameTextureDimensionsChannelEncoding

func (o *MDLNoiseTexture) InitCellularNoiseWithFrequencyNameTextureDimensionsChannelEncoding(frequency float32, name *foundation.NSString, textureDimensions unsafe.Pointer, channelEncoding MDLTextureChannelEncoding) *MDLNoiseTexture

Create a texture containing cellular noise. @param frequency How large the cells will be

func (*MDLNoiseTexture) InitScalarNoiseWithSmoothnessNameTextureDimensionsChannelCountChannelEncodingGrayscale

func (o *MDLNoiseTexture) InitScalarNoiseWithSmoothnessNameTextureDimensionsChannelCountChannelEncodingGrayscale(smoothness float32, name *foundation.NSString, textureDimensions unsafe.Pointer, channelCount int, channelEncoding MDLTextureChannelEncoding, grayscale bool) *MDLNoiseTexture

Create a texture containing colored noise. The noise texture is tileable with itself. @param smoothness how similar neighboring pixels are. A value of zero is like static, one is smooth. @param grayscale if YES, RGB and A will all be the same. If no, RGB and A will all be different. A is not pre-multiplied, because the intent is that if you read a texel in a shader, all four values will be exactly the same value if grayscale, or four different, uncorrelated values if not grayscale.

func (*MDLNoiseTexture) InitVectorNoiseWithSmoothnessNameTextureDimensionsChannelEncoding

func (o *MDLNoiseTexture) InitVectorNoiseWithSmoothnessNameTextureDimensionsChannelEncoding(smoothness float32, name *foundation.NSString, textureDimensions unsafe.Pointer, channelEncoding MDLTextureChannelEncoding) *MDLNoiseTexture

Create a four channel texture containing directional noise. The RGBA values in this texture can be used as a normal map or as direction possibly with length. XYZ are a three dimensional direction, and A is a magnitude. @param smoothness how similar neighboring pixels are. A value of zero is like static, one is smooth.

type MDLNormalMapTexture

type MDLNormalMapTexture struct {
	MDLTexture
}

Apple documentation: https://developer.apple.com/documentation/modelio/mdlnormalmaptexture

func MDLNormalMapTextureFromID

func MDLNormalMapTextureFromID(id objc.ID) *MDLNormalMapTexture

func (*MDLNormalMapTexture) InitByGeneratingNormalMapWithTextureNameSmoothnessContrast

func (o *MDLNormalMapTexture) InitByGeneratingNormalMapWithTextureNameSmoothnessContrast(sourceTexture *MDLTexture, name *foundation.NSString, smoothness float32, contrast float32) *MDLNormalMapTexture

type MDLObject

type MDLObject struct {
	foundation.NSObject
}

Apple documentation: https://developer.apple.com/documentation/modelio/mdlobject

func MDLObjectFromID

func MDLObjectFromID(id objc.ID) *MDLObject

func (*MDLObject) AddChild

func (o *MDLObject) AddChild(child *MDLObject)

@method addChild: @abstract Short hand for adding a child to the current container component and setting the parent to this object. @discussion It will create a default container if none exists. If children are explicitly disallowed for an object, then add a container component that throws on addition. @see MDLObjectContainer

func (*MDLObject) BoundingBoxAtTime

func (o *MDLObject) BoundingBoxAtTime(time_ float64) MDLAxisAlignedBoundingBox

@method boundingBoxAtTime: @abstract Bounds ob object at the specified time

func (*MDLObject) Children

func (o *MDLObject) Children() MDLObjectContainerComponent

@property children @abstract Short hand property for the MDLObjectContainerComponent. @discussion The default value is an empty MDLObjectContainer @see MDLObjectContainerComponent

func (*MDLObject) ComponentConformingToProtocol

func (o *MDLObject) ComponentConformingToProtocol(protocol unsafe.Pointer) MDLComponent

@method componentConformingToProtocol: @abstract Extensible component support that allows user of ModelIO to customize MDLObjects to fit their format and workflow.

func (*MDLObject) Components

func (o *MDLObject) Components() *foundation.NSArray[MDLComponent]

@property components @abstract Allows applications to introspect the components on the objects.

func (*MDLObject) EnumerateChildObjectsOfClassRootUsingBlockStopPointer

func (o *MDLObject) EnumerateChildObjectsOfClassRootUsingBlockStopPointer(objectClass objc.Class, root *MDLObject, block func(*MDLObject, *bool), stopPointer *bool)

func (*MDLObject) Hidden

func (o *MDLObject) Hidden() bool

func (*MDLObject) Instance

func (o *MDLObject) Instance() *MDLObject

@property instance @abstract Instance object @discussion nil, unless this object refers to original data to be instanced. The original data object can be any MDLObject that does not have a parent. If an MDLAsset has been created from a data file, any original objects parsed from that file will be found in the originals property. A typical use of a original and instance might be to have one original chair MDLObject, and instance six chairs around a table. The transform of each chair would be found on the parent MDLObject, but the various items making up the chair would be found in the original object.

func (*MDLObject) ObjectAtPath

func (o *MDLObject) ObjectAtPath(path *foundation.NSString) *MDLObject

@abstract Return the object at the specified path, or nil if none exists there

func (*MDLObject) ObjectForKeyedSubscript

func (o *MDLObject) ObjectForKeyedSubscript(key unsafe.Pointer) MDLComponent

@method objectForKeyedSubscript: @abstract Allows shorthand [key] syntax for componentConformingToProtocol:. @param key The protocol that the component conforms to. @see componentConformingToProtocol:

func (*MDLObject) Parent

func (o *MDLObject) Parent() *MDLObject

@property parent @abstract Parent object. Nil if no parent. @discussion Set to nil when you remove this from an object container inside the parent object.

func (*MDLObject) Path

func (o *MDLObject) Path() *foundation.NSString

@property path @abstract a string representing a path to the object @discussion a path is of the form /path/to/object where the path is formed by concatenating the names of the objects up the parent chain. Requesting a path will force any unnamed objects to became uniquely named. Any characters outside of [A-Z][a-z][0-9][:-_.] will be forced to underscore.

func (*MDLObject) SetChildren

func (o *MDLObject) SetChildren(children MDLObjectContainerComponent)

func (*MDLObject) SetComponentForProtocol

func (o *MDLObject) SetComponentForProtocol(component MDLComponent, protocol unsafe.Pointer)

@method setComponent:forProtocol: @abstract Extensible component support that allows user of ModelIO to customize MDLObjects to fit their format and workflow.

func (*MDLObject) SetHidden

func (o *MDLObject) SetHidden(hidden bool)

func (*MDLObject) SetInstance

func (o *MDLObject) SetInstance(instance *MDLObject)

func (*MDLObject) SetObjectForKeyedSubscript

func (o *MDLObject) SetObjectForKeyedSubscript(obj MDLComponent, key unsafe.Pointer)

@method setObject:forKeyedSubscript: @abstract Allows shorthand [key] syntax for setComponent:forProtocol:. @param key The protocol that the component conforms to. @see setComponent:forProtocol:

func (*MDLObject) SetParent

func (o *MDLObject) SetParent(parent *MDLObject)

func (*MDLObject) SetTransform

func (o *MDLObject) SetTransform(transform MDLTransformComponent)

func (*MDLObject) Transform

func (o *MDLObject) Transform() MDLTransformComponent

@property transform @abstract Short hand property for the MDLTransformComponent. @discussion The default value is nil @see MDLTransformComponent

type MDLObjectContainer

type MDLObjectContainer struct {
	foundation.NSObject
}

Apple documentation: https://developer.apple.com/documentation/modelio/mdlobjectcontainer

func MDLObjectContainerFromID

func MDLObjectContainerFromID(id objc.ID) *MDLObjectContainer

type MDLObjectContainerComponent

type MDLObjectContainerComponent interface {
	MDLComponent
	foundation.NSFastEnumeration
	AddObject(object *MDLObject)
	RemoveObject(object *MDLObject)
	ObjectAtIndexedSubscript(index uint) *MDLObject
	Count() uint
	Objects() *foundation.NSArray[*MDLObject]
}

MDLObjectContainerComponent wraps the ObjC protocol MDLObjectContainerComponent.

type MDLPackedJointAnimation

type MDLPackedJointAnimation struct {
	MDLObject
}

Apple documentation: https://developer.apple.com/documentation/modelio/mdlpackedjointanimation

func MDLPackedJointAnimationFromID

func MDLPackedJointAnimationFromID(id objc.ID) *MDLPackedJointAnimation

func (*MDLPackedJointAnimation) InitWithNameJointPaths

func (*MDLPackedJointAnimation) JointPaths

func (*MDLPackedJointAnimation) Rotations

func (*MDLPackedJointAnimation) Scales

func (*MDLPackedJointAnimation) Translations

type MDLPathAssetResolver

type MDLPathAssetResolver struct {
	foundation.NSObject
}

Apple documentation: https://developer.apple.com/documentation/modelio/mdlpathassetresolver

func MDLPathAssetResolverFromID

func MDLPathAssetResolverFromID(id objc.ID) *MDLPathAssetResolver

func (*MDLPathAssetResolver) InitWithPath

func (*MDLPathAssetResolver) Path

func (*MDLPathAssetResolver) SetPath

func (o *MDLPathAssetResolver) SetPath(path *foundation.NSString)

type MDLPhotometricLight

type MDLPhotometricLight struct {
	MDLPhysicallyPlausibleLight
}

Apple documentation: https://developer.apple.com/documentation/modelio/mdlphotometriclight

func MDLPhotometricLightFromID

func MDLPhotometricLightFromID(id objc.ID) *MDLPhotometricLight

func (*MDLPhotometricLight) GenerateCubemapFromLight

func (o *MDLPhotometricLight) GenerateCubemapFromLight(textureSize uint)

func (*MDLPhotometricLight) GenerateSphericalHarmonicsFromLight

func (o *MDLPhotometricLight) GenerateSphericalHarmonicsFromLight(sphericalHarmonicsLevel uint)

func (*MDLPhotometricLight) GenerateTexture

func (o *MDLPhotometricLight) GenerateTexture(textureSize uint) *MDLTexture

@method generateTexture @abstract Generate an IES compliant MDLTexture 1D when the number of horizontal angles is one and the innerConeAngle is < 180 2D when the previous statement fails and innerConeAngle < 89 3D in all other cases the parameter textureSize is the size in pixels of the texture image. For a size of N, 1D generates an Nx1 image, 2D generates an NxN image, 3D generates an Nx(N*6) image (i.e. cubemap).

func (*MDLPhotometricLight) InitWithIESProfile

func (o *MDLPhotometricLight) InitWithIESProfile(uRL *foundation.NSURL) *MDLPhotometricLight

func (*MDLPhotometricLight) LightCubeMap

func (o *MDLPhotometricLight) LightCubeMap() *MDLTexture

func (*MDLPhotometricLight) SphericalHarmonicsCoefficients

func (o *MDLPhotometricLight) SphericalHarmonicsCoefficients() *foundation.NSData

func (*MDLPhotometricLight) SphericalHarmonicsLevel

func (o *MDLPhotometricLight) SphericalHarmonicsLevel() uint

type MDLPhysicallyPlausibleLight

type MDLPhysicallyPlausibleLight struct {
	MDLLight
}

Apple documentation: https://developer.apple.com/documentation/modelio/mdlphysicallyplausiblelight

func MDLPhysicallyPlausibleLightFromID

func MDLPhysicallyPlausibleLightFromID(id objc.ID) *MDLPhysicallyPlausibleLight

func (*MDLPhysicallyPlausibleLight) AttenuationEndDistance

func (o *MDLPhysicallyPlausibleLight) AttenuationEndDistance() float32

func (*MDLPhysicallyPlausibleLight) AttenuationStartDistance

func (o *MDLPhysicallyPlausibleLight) AttenuationStartDistance() float32

func (*MDLPhysicallyPlausibleLight) Color

func (*MDLPhysicallyPlausibleLight) InnerConeAngle

func (o *MDLPhysicallyPlausibleLight) InnerConeAngle() float32

func (*MDLPhysicallyPlausibleLight) Lumens

func (*MDLPhysicallyPlausibleLight) OuterConeAngle

func (o *MDLPhysicallyPlausibleLight) OuterConeAngle() float32

func (*MDLPhysicallyPlausibleLight) SetAttenuationEndDistance

func (o *MDLPhysicallyPlausibleLight) SetAttenuationEndDistance(attenuationEndDistance float32)

func (*MDLPhysicallyPlausibleLight) SetAttenuationStartDistance

func (o *MDLPhysicallyPlausibleLight) SetAttenuationStartDistance(attenuationStartDistance float32)

func (*MDLPhysicallyPlausibleLight) SetColor

func (o *MDLPhysicallyPlausibleLight) SetColor(color unsafe.Pointer)

func (*MDLPhysicallyPlausibleLight) SetColorByTemperature

func (o *MDLPhysicallyPlausibleLight) SetColorByTemperature(temperature float32)

Light color specified by color temperature, in degrees Kelvin @discussion default color is 6500K, cool daylight.

func (*MDLPhysicallyPlausibleLight) SetInnerConeAngle

func (o *MDLPhysicallyPlausibleLight) SetInnerConeAngle(innerConeAngle float32)

func (*MDLPhysicallyPlausibleLight) SetLumens

func (o *MDLPhysicallyPlausibleLight) SetLumens(lumens float32)

func (*MDLPhysicallyPlausibleLight) SetOuterConeAngle

func (o *MDLPhysicallyPlausibleLight) SetOuterConeAngle(outerConeAngle float32)

type MDLPhysicallyPlausibleScatteringFunction

type MDLPhysicallyPlausibleScatteringFunction struct {
	MDLScatteringFunction
}

Apple documentation: https://developer.apple.com/documentation/modelio/mdlphysicallyplausiblescatteringfunction

func MDLPhysicallyPlausibleScatteringFunctionFromID

func MDLPhysicallyPlausibleScatteringFunctionFromID(id objc.ID) *MDLPhysicallyPlausibleScatteringFunction

func (*MDLPhysicallyPlausibleScatteringFunction) Anisotropic

func (*MDLPhysicallyPlausibleScatteringFunction) AnisotropicRotation

func (*MDLPhysicallyPlausibleScatteringFunction) Clearcoat

func (*MDLPhysicallyPlausibleScatteringFunction) ClearcoatGloss

func (*MDLPhysicallyPlausibleScatteringFunction) Metallic

func (*MDLPhysicallyPlausibleScatteringFunction) Roughness

func (*MDLPhysicallyPlausibleScatteringFunction) Sheen

func (*MDLPhysicallyPlausibleScatteringFunction) SheenTint

func (*MDLPhysicallyPlausibleScatteringFunction) SpecularAmount

func (*MDLPhysicallyPlausibleScatteringFunction) SpecularTint

func (*MDLPhysicallyPlausibleScatteringFunction) Subsurface

type MDLProbePlacement

type MDLProbePlacement int64
const (
	MDLProbePlacementUniformGrid            MDLProbePlacement = 0
	MDLProbePlacementIrradianceDistribution MDLProbePlacement = 1
)

func (MDLProbePlacement) String

func (e MDLProbePlacement) String() string

type MDLRelativeAssetResolver

type MDLRelativeAssetResolver struct {
	foundation.NSObject
}

Apple documentation: https://developer.apple.com/documentation/modelio/mdlrelativeassetresolver

func MDLRelativeAssetResolverFromID

func MDLRelativeAssetResolverFromID(id objc.ID) *MDLRelativeAssetResolver

func (*MDLRelativeAssetResolver) Asset

func (o *MDLRelativeAssetResolver) Asset() *MDLAsset

func (*MDLRelativeAssetResolver) InitWithAsset

func (*MDLRelativeAssetResolver) SetAsset

func (o *MDLRelativeAssetResolver) SetAsset(asset *MDLAsset)

type MDLScatteringFunction

type MDLScatteringFunction struct {
	foundation.NSObject
}

Apple documentation: https://developer.apple.com/documentation/modelio/mdlscatteringfunction

func MDLScatteringFunctionFromID

func MDLScatteringFunctionFromID(id objc.ID) *MDLScatteringFunction

func (*MDLScatteringFunction) AmbientOcclusion

func (o *MDLScatteringFunction) AmbientOcclusion() *MDLMaterialProperty

func (*MDLScatteringFunction) AmbientOcclusionScale

func (o *MDLScatteringFunction) AmbientOcclusionScale() *MDLMaterialProperty

func (*MDLScatteringFunction) BaseColor

func (*MDLScatteringFunction) Emission

func (*MDLScatteringFunction) InterfaceIndexOfRefraction

func (o *MDLScatteringFunction) InterfaceIndexOfRefraction() *MDLMaterialProperty

func (*MDLScatteringFunction) MaterialIndexOfRefraction

func (o *MDLScatteringFunction) MaterialIndexOfRefraction() *MDLMaterialProperty

func (*MDLScatteringFunction) Name

@see MDLNamed

func (*MDLScatteringFunction) Normal

func (*MDLScatteringFunction) SetName

func (o *MDLScatteringFunction) SetName(name *foundation.NSString)

func (*MDLScatteringFunction) Specular

type MDLSkeleton

type MDLSkeleton struct {
	MDLObject
}

Apple documentation: https://developer.apple.com/documentation/modelio/mdlskeleton

func MDLSkeletonFromID

func MDLSkeletonFromID(id objc.ID) *MDLSkeleton

func (*MDLSkeleton) InitWithNameJointPaths

func (o *MDLSkeleton) InitWithNameJointPaths(name *foundation.NSString, jointPaths *foundation.NSArray[*foundation.NSString]) *MDLSkeleton

func (*MDLSkeleton) JointBindTransforms

func (o *MDLSkeleton) JointBindTransforms() *MDLMatrix4x4Array

func (*MDLSkeleton) JointPaths

func (o *MDLSkeleton) JointPaths() *foundation.NSArray[*foundation.NSString]

func (*MDLSkeleton) JointRestTransforms

func (o *MDLSkeleton) JointRestTransforms() *MDLMatrix4x4Array

type MDLSkyCubeTexture

type MDLSkyCubeTexture struct {
	MDLTexture
}

Apple documentation: https://developer.apple.com/documentation/modelio/mdlskycubetexture

func MDLSkyCubeTextureFromID

func MDLSkyCubeTextureFromID(id objc.ID) *MDLSkyCubeTexture

func (*MDLSkyCubeTexture) Brightness

func (o *MDLSkyCubeTexture) Brightness() float32

func (*MDLSkyCubeTexture) Contrast

func (o *MDLSkyCubeTexture) Contrast() float32

func (*MDLSkyCubeTexture) Exposure

func (o *MDLSkyCubeTexture) Exposure() float32

func (*MDLSkyCubeTexture) Gamma

func (o *MDLSkyCubeTexture) Gamma() float32

func (*MDLSkyCubeTexture) GroundAlbedo

func (o *MDLSkyCubeTexture) GroundAlbedo() float32

func (*MDLSkyCubeTexture) GroundColor

func (o *MDLSkyCubeTexture) GroundColor() unsafe.Pointer

func (*MDLSkyCubeTexture) HighDynamicRangeCompression

func (o *MDLSkyCubeTexture) HighDynamicRangeCompression() unsafe.Pointer

func (*MDLSkyCubeTexture) HorizonElevation

func (o *MDLSkyCubeTexture) HorizonElevation() float32

func (*MDLSkyCubeTexture) InitWithNameChannelEncodingTextureDimensionsTurbiditySunElevationSunAzimuthUpperAtmosphereScatteringGroundAlbedo

func (o *MDLSkyCubeTexture) InitWithNameChannelEncodingTextureDimensionsTurbiditySunElevationSunAzimuthUpperAtmosphereScatteringGroundAlbedo(name *foundation.NSString, channelEncoding MDLTextureChannelEncoding, textureDimensions unsafe.Pointer, turbidity float32, sunElevation float32, sunAzimuth float32, upperAtmosphereScattering float32, groundAlbedo float32) *MDLSkyCubeTexture

func (*MDLSkyCubeTexture) InitWithNameChannelEncodingTextureDimensionsTurbiditySunElevationUpperAtmosphereScatteringGroundAlbedo

func (o *MDLSkyCubeTexture) InitWithNameChannelEncodingTextureDimensionsTurbiditySunElevationUpperAtmosphereScatteringGroundAlbedo(name *foundation.NSString, channelEncoding MDLTextureChannelEncoding, textureDimensions unsafe.Pointer, turbidity float32, sunElevation float32, upperAtmosphereScattering float32, groundAlbedo float32) *MDLSkyCubeTexture

func (*MDLSkyCubeTexture) Saturation

func (o *MDLSkyCubeTexture) Saturation() float32

func (*MDLSkyCubeTexture) SetBrightness

func (o *MDLSkyCubeTexture) SetBrightness(brightness float32)

func (*MDLSkyCubeTexture) SetContrast

func (o *MDLSkyCubeTexture) SetContrast(contrast float32)

func (*MDLSkyCubeTexture) SetExposure

func (o *MDLSkyCubeTexture) SetExposure(exposure float32)

func (*MDLSkyCubeTexture) SetGamma

func (o *MDLSkyCubeTexture) SetGamma(gamma float32)

func (*MDLSkyCubeTexture) SetGroundAlbedo

func (o *MDLSkyCubeTexture) SetGroundAlbedo(groundAlbedo float32)

func (*MDLSkyCubeTexture) SetGroundColor

func (o *MDLSkyCubeTexture) SetGroundColor(groundColor unsafe.Pointer)

func (*MDLSkyCubeTexture) SetHighDynamicRangeCompression

func (o *MDLSkyCubeTexture) SetHighDynamicRangeCompression(highDynamicRangeCompression unsafe.Pointer)

func (*MDLSkyCubeTexture) SetHorizonElevation

func (o *MDLSkyCubeTexture) SetHorizonElevation(horizonElevation float32)

func (*MDLSkyCubeTexture) SetSaturation

func (o *MDLSkyCubeTexture) SetSaturation(saturation float32)

func (*MDLSkyCubeTexture) SetSunAzimuth

func (o *MDLSkyCubeTexture) SetSunAzimuth(sunAzimuth float32)

func (*MDLSkyCubeTexture) SetSunElevation

func (o *MDLSkyCubeTexture) SetSunElevation(sunElevation float32)

func (*MDLSkyCubeTexture) SetTurbidity

func (o *MDLSkyCubeTexture) SetTurbidity(turbidity float32)

func (*MDLSkyCubeTexture) SetUpperAtmosphereScattering

func (o *MDLSkyCubeTexture) SetUpperAtmosphereScattering(upperAtmosphereScattering float32)

func (*MDLSkyCubeTexture) SunAzimuth

func (o *MDLSkyCubeTexture) SunAzimuth() float32

func (*MDLSkyCubeTexture) SunElevation

func (o *MDLSkyCubeTexture) SunElevation() float32

func (*MDLSkyCubeTexture) Turbidity

func (o *MDLSkyCubeTexture) Turbidity() float32

func (*MDLSkyCubeTexture) UpdateTexture

func (o *MDLSkyCubeTexture) UpdateTexture()

Call updateTexture if parameters have been changed and a new sky is required.

func (*MDLSkyCubeTexture) UpperAtmosphereScattering

func (o *MDLSkyCubeTexture) UpperAtmosphereScattering() float32

type MDLStereoscopicCamera

type MDLStereoscopicCamera struct {
	MDLCamera
}

Apple documentation: https://developer.apple.com/documentation/modelio/mdlstereoscopiccamera

func MDLStereoscopicCameraFromID

func MDLStereoscopicCameraFromID(id objc.ID) *MDLStereoscopicCamera

func (*MDLStereoscopicCamera) InterPupillaryDistance

func (o *MDLStereoscopicCamera) InterPupillaryDistance() float32

Inter-pupillary distance in mm. Default is 63mm.

func (*MDLStereoscopicCamera) LeftProjectionMatrix

func (o *MDLStereoscopicCamera) LeftProjectionMatrix() unsafe.Pointer

func (*MDLStereoscopicCamera) LeftVergence

func (o *MDLStereoscopicCamera) LeftVergence() float32

func (*MDLStereoscopicCamera) LeftViewMatrix

func (o *MDLStereoscopicCamera) LeftViewMatrix() unsafe.Pointer

Convenience utilities to create view and projection matrices. The view matrix calculations requires that the world to meters conversion scale be set. @see worldToMetersConversionScale

func (*MDLStereoscopicCamera) Overlap

func (o *MDLStereoscopicCamera) Overlap() float32

The amount, as a percentage of image width to offset an image towards the other camera. This value is used in a stereo grade to enhance or reduce the intensity of the stereoscopic effect

func (*MDLStereoscopicCamera) RightProjectionMatrix

func (o *MDLStereoscopicCamera) RightProjectionMatrix() unsafe.Pointer

func (*MDLStereoscopicCamera) RightVergence

func (o *MDLStereoscopicCamera) RightVergence() float32

func (*MDLStereoscopicCamera) RightViewMatrix

func (o *MDLStereoscopicCamera) RightViewMatrix() unsafe.Pointer

func (*MDLStereoscopicCamera) SetInterPupillaryDistance

func (o *MDLStereoscopicCamera) SetInterPupillaryDistance(interPupillaryDistance float32)

func (*MDLStereoscopicCamera) SetLeftVergence

func (o *MDLStereoscopicCamera) SetLeftVergence(leftVergence float32)

func (*MDLStereoscopicCamera) SetOverlap

func (o *MDLStereoscopicCamera) SetOverlap(overlap float32)

func (*MDLStereoscopicCamera) SetRightVergence

func (o *MDLStereoscopicCamera) SetRightVergence(rightVergence float32)

type MDLSubmesh

type MDLSubmesh struct {
	foundation.NSObject
}

Apple documentation: https://developer.apple.com/documentation/modelio/mdlsubmesh

func MDLSubmeshFromID

func MDLSubmeshFromID(id objc.ID) *MDLSubmesh

func (*MDLSubmesh) GeometryType

func (o *MDLSubmesh) GeometryType() MDLGeometryType

@property geometryType @abstract Type of primitive that vertices referenced by the indexBuffer are assembled into

func (*MDLSubmesh) IndexBuffer

func (o *MDLSubmesh) IndexBuffer() MDLMeshBuffer

@property indexBuffer @abstract Index data referencing vertex data in parent mesh

func (*MDLSubmesh) IndexBufferAsIndexType

func (o *MDLSubmesh) IndexBufferAsIndexType(indexType MDLIndexBitDepth) MDLMeshBuffer

func (*MDLSubmesh) IndexCount

func (o *MDLSubmesh) IndexCount() uint

@property indexCount @abstract Number of indices in the indexBuffer

func (*MDLSubmesh) IndexType

func (o *MDLSubmesh) IndexType() MDLIndexBitDepth

@property indexType @abstract Data type of indices in indexBuffer @discussion Support 8, 16, and 32 bit unsigned integer values

func (*MDLSubmesh) InitWithIndexBufferIndexCountIndexTypeGeometryTypeMaterial

func (o *MDLSubmesh) InitWithIndexBufferIndexCountIndexTypeGeometryTypeMaterial(indexBuffer MDLMeshBuffer, indexCount uint, indexType MDLIndexBitDepth, geometryType MDLGeometryType, material *MDLMaterial) *MDLSubmesh

@method initWithIndexBuffer:indexCount:indexType:geometryType:material: @abstract Initialize submesh with all data necessary to make properties valid

func (*MDLSubmesh) InitWithMDLSubmeshIndexTypeGeometryType

func (o *MDLSubmesh) InitWithMDLSubmeshIndexTypeGeometryType(submesh *MDLSubmesh, indexType MDLIndexBitDepth, geometryType MDLGeometryType) *MDLSubmesh

@method initWithMDLSubmesh:indexType:geometryType: @abstract Initialize submesh using another submesh as input. @discussion the resulting submesh will have a new index type if necessary. If a conversion from the source submesh's geometry type to the requested geometry type is possible, conversion will be performed. Otherwise nil will be returned.

func (*MDLSubmesh) InitWithNameIndexBufferIndexCountIndexTypeGeometryTypeMaterial

func (o *MDLSubmesh) InitWithNameIndexBufferIndexCountIndexTypeGeometryTypeMaterial(name *foundation.NSString, indexBuffer MDLMeshBuffer, indexCount uint, indexType MDLIndexBitDepth, geometryType MDLGeometryType, material *MDLMaterial) *MDLSubmesh

@method initWithName:indexBuffer:indexCount:indexType:geometryType:material: @abstract Initialize submesh with all data necessary to make properties valid

func (*MDLSubmesh) InitWithNameIndexBufferIndexCountIndexTypeGeometryTypeMaterialTopology

func (o *MDLSubmesh) InitWithNameIndexBufferIndexCountIndexTypeGeometryTypeMaterialTopology(name *foundation.NSString, indexBuffer MDLMeshBuffer, indexCount uint, indexType MDLIndexBitDepth, geometryType MDLGeometryType, material *MDLMaterial, topology *MDLSubmeshTopology) *MDLSubmesh

@method initWithIndexBuffer:indexCount:indexType:faceTopologyBuffer:geometryType:material: @abstract Initialize submesh with all data necessary to make properties valid @discussion The geometry type will typically be MDLGeometryTypeVariableTopology, if other types are used the faceTopologyBuffer contents should reflect that.

func (*MDLSubmesh) Material

func (o *MDLSubmesh) Material() *MDLMaterial

@property material @abstract Material to apply when rendering this object

func (*MDLSubmesh) Name

func (o *MDLSubmesh) Name() *foundation.NSString

@property name @abstract Identifying name for this object

func (*MDLSubmesh) SetMaterial

func (o *MDLSubmesh) SetMaterial(material *MDLMaterial)

func (*MDLSubmesh) SetName

func (o *MDLSubmesh) SetName(name *foundation.NSString)

func (*MDLSubmesh) SetTopology

func (o *MDLSubmesh) SetTopology(topology *MDLSubmeshTopology)

func (*MDLSubmesh) Topology

func (o *MDLSubmesh) Topology() *MDLSubmeshTopology

@property topology @abstract Topology data structure for use with MDLGeometryTypeVariableTopology @discussion ignored for geometry types other than MDLGeometryTypeVariableTopology. A submesh of type MDLGeometryTypeVariableTopology with no topology data is an empty submesh.

type MDLSubmeshTopology

type MDLSubmeshTopology struct {
	foundation.NSObject
}

Apple documentation: https://developer.apple.com/documentation/modelio/mdlsubmeshtopology

func MDLSubmeshTopologyFromID

func MDLSubmeshTopologyFromID(id objc.ID) *MDLSubmeshTopology

func (*MDLSubmeshTopology) EdgeCreaseCount

func (o *MDLSubmeshTopology) EdgeCreaseCount() uint

@property edgeCreaseCount @abstract The number of edge creases encoded in edgeCreases

func (*MDLSubmeshTopology) EdgeCreaseIndices

func (o *MDLSubmeshTopology) EdgeCreaseIndices() MDLMeshBuffer

A crease value at an edge to be applied during subdivision. Edge creases A zero value is smooth, a one value is peaked. It is intended to be used with an index buffer, where the index buffer entries are edge index pairs. Accordingly, there will be two index entries for each edge sharpness entry, and the sharpness entry corresponds to the edge itself. The corresponding values in the edge sharpness attribute indicate the edge sharpness of those edges. The index buffer is sparse. If a mesh has three sharp edges, then the index buffer will have six entries. Since the number of entries in this vertex buffer is likely to be different than the number of entries in any other vertex buffer, it shouldn't be interleaved with other data.

func (*MDLSubmeshTopology) EdgeCreases

func (o *MDLSubmeshTopology) EdgeCreases() MDLMeshBuffer

func (*MDLSubmeshTopology) FaceCount

func (o *MDLSubmeshTopology) FaceCount() uint

@property faceCount @abstract The number of faces encoded in faceTopologyBuffer

func (*MDLSubmeshTopology) FaceTopology

func (o *MDLSubmeshTopology) FaceTopology() MDLMeshBuffer

@property faceTopologyBuffer @abstract A buffer of 8 bit unsigned integer values, where each entry corresponds to the number of vertices making up a face. @discussion A submesh containing two triangles, a four sided polygon, and a line, would contain the data 3 3 4 2. If geometryType is of a fixed type, such as triangles, the buffer is optional, and will be created on demand if read. Indices to the vertex buffer will be stored in the index buffer correspondingly. In the example above, the indices would be stored in order, three indices for the first triangle, followed by three for the second, followed by four for the polygon, and finally two indices for the line.

func (*MDLSubmeshTopology) HoleCount

func (o *MDLSubmeshTopology) HoleCount() uint

@property holeCount @abstract The number of holes encoded in holes

func (*MDLSubmeshTopology) Holes

func (o *MDLSubmeshTopology) Holes() MDLMeshBuffer

The hole attribute is a vertex attribute of single integer values where each integer is an index of a face that is to be used as a hole. If there are two holes in a mesh, then the vertex buffer will have two entries. Since the number of entries in this vertex buffer is likely to be different than the number of entries in any other vertex buffer, it shouldn't be interleaved with other data.

func (*MDLSubmeshTopology) InitWithSubmesh

func (o *MDLSubmeshTopology) InitWithSubmesh(submesh *MDLSubmesh) *MDLSubmeshTopology

@method initWithSubmesh: @abstract create a topology object corresponding to the topology in the submesh

func (*MDLSubmeshTopology) SetEdgeCreaseCount

func (o *MDLSubmeshTopology) SetEdgeCreaseCount(edgeCreaseCount uint)

func (*MDLSubmeshTopology) SetEdgeCreaseIndices

func (o *MDLSubmeshTopology) SetEdgeCreaseIndices(edgeCreaseIndices MDLMeshBuffer)

func (*MDLSubmeshTopology) SetEdgeCreases

func (o *MDLSubmeshTopology) SetEdgeCreases(edgeCreases MDLMeshBuffer)

func (*MDLSubmeshTopology) SetFaceCount

func (o *MDLSubmeshTopology) SetFaceCount(faceCount uint)

func (*MDLSubmeshTopology) SetFaceTopology

func (o *MDLSubmeshTopology) SetFaceTopology(faceTopology MDLMeshBuffer)

func (*MDLSubmeshTopology) SetHoleCount

func (o *MDLSubmeshTopology) SetHoleCount(holeCount uint)

func (*MDLSubmeshTopology) SetHoles

func (o *MDLSubmeshTopology) SetHoles(holes MDLMeshBuffer)

func (*MDLSubmeshTopology) SetVertexCreaseCount

func (o *MDLSubmeshTopology) SetVertexCreaseCount(vertexCreaseCount uint)

func (*MDLSubmeshTopology) SetVertexCreaseIndices

func (o *MDLSubmeshTopology) SetVertexCreaseIndices(vertexCreaseIndices MDLMeshBuffer)

func (*MDLSubmeshTopology) SetVertexCreases

func (o *MDLSubmeshTopology) SetVertexCreases(vertexCreases MDLMeshBuffer)

func (*MDLSubmeshTopology) VertexCreaseCount

func (o *MDLSubmeshTopology) VertexCreaseCount() uint

@property vertexCreaseCount @abstract The number of vertex creases encoded in vertexCreases

func (*MDLSubmeshTopology) VertexCreaseIndices

func (o *MDLSubmeshTopology) VertexCreaseIndices() MDLMeshBuffer

A crease value at a vertex to be applied during subdivision. Vertex creases A zero value is smooth, a one value is peaked. It is intended to be used with an index buffer, where the index buffer entries are vertex indices. The corresponding values in the corner sharpness attribute indicate the corner sharpness of those vertices. The index buffer is sparse. If a mesh has three sharp vertices, then the index buffer will have three entries. Since the number of entries in this vertex buffer is likely to be different than the number of entries in any other vertex buffer, it shouldn't be interleaved with other data.

func (*MDLSubmeshTopology) VertexCreases

func (o *MDLSubmeshTopology) VertexCreases() MDLMeshBuffer

type MDLTexture

type MDLTexture struct {
	foundation.NSObject
}

Apple documentation: https://developer.apple.com/documentation/modelio/mdltexture

func MDLTextureFromID

func MDLTextureFromID(id objc.ID) *MDLTexture

func MDLTextureIrradianceTextureCubeWithTextureNameDimensions

func MDLTextureIrradianceTextureCubeWithTextureNameDimensions(texture *MDLTexture, name *foundation.NSString, dimensions unsafe.Pointer) *MDLTexture

func MDLTextureIrradianceTextureCubeWithTextureNameDimensionsRoughness

func MDLTextureIrradianceTextureCubeWithTextureNameDimensionsRoughness(texture *MDLTexture, name *foundation.NSString, dimensions unsafe.Pointer, roughness float32) *MDLTexture

func MDLTextureTextureCubeWithImagesNamed

func MDLTextureTextureCubeWithImagesNamed(names *foundation.NSArray[*foundation.NSString]) *MDLTexture

Creates a cube texture map image using 6 faces of the same dimensions, ordered +X,-X,+Y,-Y,+Z,-Z If the data is read back the image will be compacted into a single vertical stack where dimensions.y = 6 * dimensions.x isCube will return YES @param names a collection of mosaiced images in a cross formation or column or row. - If 6 individual images are given they are assumed to be in order and will be loaded as is. - if 3 images of double height or width are given they will be treated as pairs of + and - in each axis, the order is must be x, then y, then z. - if 2 images of triple height or width are given they will be treates as a positive set and a negative set in the order +x, +y, +z, then -x, -y, -z. - if a single image is given it will be used without conversion if in column orientation and demosaiced in all other instances.

func MDLTextureTextureCubeWithImagesNamedBundle

func MDLTextureTextureCubeWithImagesNamedBundle(names *foundation.NSArray[*foundation.NSString], bundleOrNil *foundation.NSBundle) *MDLTexture

func MDLTextureTextureNamed

func MDLTextureTextureNamed(name *foundation.NSString) *MDLTexture

Creates a texture from a source in the main bundle named in a manner matching name.

func MDLTextureTextureNamedAssetResolver

func MDLTextureTextureNamedAssetResolver(name *foundation.NSString, resolver MDLAssetResolver) *MDLTexture

func MDLTextureTextureNamedBundle

func MDLTextureTextureNamedBundle(name *foundation.NSString, bundleOrNil *foundation.NSBundle) *MDLTexture

func (*MDLTexture) ChannelCount

func (o *MDLTexture) ChannelCount() uint

func (*MDLTexture) ChannelEncoding

func (o *MDLTexture) ChannelEncoding() MDLTextureChannelEncoding

func (*MDLTexture) Dimensions

func (o *MDLTexture) Dimensions() unsafe.Pointer

func (*MDLTexture) HasAlphaValues

func (o *MDLTexture) HasAlphaValues() bool

hasAlphaValues @summary Can be overridden. If not overridden, hasAlpha will be NO if the texture does not have an alpha channel. It wil be YES if the texture has an alpha channel and there is at least one non-opaque texel in it.

func (*MDLTexture) ImageFromTexture

func (o *MDLTexture) ImageFromTexture() unsafe.Pointer

func (*MDLTexture) ImageFromTextureAtLevel

func (o *MDLTexture) ImageFromTextureAtLevel(level uint) unsafe.Pointer

func (*MDLTexture) Init

func (o *MDLTexture) Init() *MDLTexture

func (*MDLTexture) InitWithDataTopLeftOriginNameDimensionsRowStrideChannelCountChannelEncodingIsCube

func (o *MDLTexture) InitWithDataTopLeftOriginNameDimensionsRowStrideChannelCountChannelEncodingIsCube(pixelData *foundation.NSData, topLeftOrigin bool, name *foundation.NSString, dimensions unsafe.Pointer, rowStride int, channelCount uint, channelEncoding MDLTextureChannelEncoding, isCube bool) *MDLTexture

func (*MDLTexture) IsCube

func (o *MDLTexture) IsCube() bool

func (*MDLTexture) MipLevelCount

func (o *MDLTexture) MipLevelCount() uint

func (*MDLTexture) RowStride

func (o *MDLTexture) RowStride() int

func (*MDLTexture) SetHasAlphaValues

func (o *MDLTexture) SetHasAlphaValues(hasAlphaValues bool)

func (*MDLTexture) SetIsCube

func (o *MDLTexture) SetIsCube(isCube bool)

func (*MDLTexture) TexelDataWithBottomLeftOrigin

func (o *MDLTexture) TexelDataWithBottomLeftOrigin() *foundation.NSData

func (*MDLTexture) TexelDataWithBottomLeftOriginAtMipLevelCreate

func (o *MDLTexture) TexelDataWithBottomLeftOriginAtMipLevelCreate(level int, create bool) *foundation.NSData

func (*MDLTexture) TexelDataWithTopLeftOrigin

func (o *MDLTexture) TexelDataWithTopLeftOrigin() *foundation.NSData

func (*MDLTexture) TexelDataWithTopLeftOriginAtMipLevelCreate

func (o *MDLTexture) TexelDataWithTopLeftOriginAtMipLevelCreate(level int, create bool) *foundation.NSData

func (*MDLTexture) WriteToURL

func (o *MDLTexture) WriteToURL(uRL *foundation.NSURL) bool

write a texture to URL, deducing type from path extension

func (*MDLTexture) WriteToURLLevel

func (o *MDLTexture) WriteToURLLevel(uRL *foundation.NSURL, level uint) bool

write a particular level of a mipped texture to URL, deducing type from path extension

func (*MDLTexture) WriteToURLType

func (o *MDLTexture) WriteToURLType(nsurl *foundation.NSURL, type_ unsafe.Pointer) bool

write a texture to URL, using a specific UT type

func (*MDLTexture) WriteToURLTypeLevel

func (o *MDLTexture) WriteToURLTypeLevel(nsurl *foundation.NSURL, type_ unsafe.Pointer, level uint) bool

write a particular level of a mipped texture to URL, using a specific UT type

type MDLTextureChannelEncoding

type MDLTextureChannelEncoding int64
const (
	MDLTextureChannelEncodingUInt8     MDLTextureChannelEncoding = 1
	MDLTextureChannelEncodingUint8     MDLTextureChannelEncoding = 1
	MDLTextureChannelEncodingUInt16    MDLTextureChannelEncoding = 2
	MDLTextureChannelEncodingUint16    MDLTextureChannelEncoding = 2
	MDLTextureChannelEncodingUInt24    MDLTextureChannelEncoding = 3
	MDLTextureChannelEncodingUint24    MDLTextureChannelEncoding = 3
	MDLTextureChannelEncodingUInt32    MDLTextureChannelEncoding = 4
	MDLTextureChannelEncodingUint32    MDLTextureChannelEncoding = 4
	MDLTextureChannelEncodingFloat16   MDLTextureChannelEncoding = 258
	MDLTextureChannelEncodingFloat16SR MDLTextureChannelEncoding = 770
	MDLTextureChannelEncodingFloat32   MDLTextureChannelEncoding = 260
)

func (MDLTextureChannelEncoding) String

func (e MDLTextureChannelEncoding) String() string

type MDLTextureFilter

type MDLTextureFilter struct {
	foundation.NSObject
}

Apple documentation: https://developer.apple.com/documentation/modelio/mdltexturefilter

func MDLTextureFilterFromID

func MDLTextureFilterFromID(id objc.ID) *MDLTextureFilter

func (*MDLTextureFilter) MagFilter

func (*MDLTextureFilter) MinFilter

func (*MDLTextureFilter) MipFilter

func (*MDLTextureFilter) RWrapMode

func (*MDLTextureFilter) SWrapMode

func (*MDLTextureFilter) SetMagFilter

func (o *MDLTextureFilter) SetMagFilter(magFilter MDLMaterialTextureFilterMode)

func (*MDLTextureFilter) SetMinFilter

func (o *MDLTextureFilter) SetMinFilter(minFilter MDLMaterialTextureFilterMode)

func (*MDLTextureFilter) SetMipFilter

func (o *MDLTextureFilter) SetMipFilter(mipFilter MDLMaterialMipMapFilterMode)

func (*MDLTextureFilter) SetRWrapMode

func (o *MDLTextureFilter) SetRWrapMode(rWrapMode MDLMaterialTextureWrapMode)

func (*MDLTextureFilter) SetSWrapMode

func (o *MDLTextureFilter) SetSWrapMode(sWrapMode MDLMaterialTextureWrapMode)

func (*MDLTextureFilter) SetTWrapMode

func (o *MDLTextureFilter) SetTWrapMode(tWrapMode MDLMaterialTextureWrapMode)

func (*MDLTextureFilter) TWrapMode

type MDLTextureSampler

type MDLTextureSampler struct {
	foundation.NSObject
}

Apple documentation: https://developer.apple.com/documentation/modelio/mdltexturesampler

func MDLTextureSamplerFromID

func MDLTextureSamplerFromID(id objc.ID) *MDLTextureSampler

func (*MDLTextureSampler) HardwareFilter

func (o *MDLTextureSampler) HardwareFilter() *MDLTextureFilter

func (*MDLTextureSampler) SetHardwareFilter

func (o *MDLTextureSampler) SetHardwareFilter(hardwareFilter *MDLTextureFilter)

func (*MDLTextureSampler) SetTexture

func (o *MDLTextureSampler) SetTexture(texture *MDLTexture)

func (*MDLTextureSampler) SetTransform

func (o *MDLTextureSampler) SetTransform(transform *MDLTransform)

func (*MDLTextureSampler) Texture

func (o *MDLTextureSampler) Texture() *MDLTexture

func (*MDLTextureSampler) Transform

func (o *MDLTextureSampler) Transform() *MDLTransform

type MDLTransform

type MDLTransform struct {
	foundation.NSObject
}

Apple documentation: https://developer.apple.com/documentation/modelio/mdltransform

func MDLTransformFromID

func MDLTransformFromID(id objc.ID) *MDLTransform

func (*MDLTransform) Init

func (o *MDLTransform) Init() *MDLTransform

@method init @discussion Initialize an MDLTransform's matrices with identity

func (*MDLTransform) InitWithIdentity deprecated

func (o *MDLTransform) InitWithIdentity() *MDLTransform

Deprecated: since macOS 10.13.

func (*MDLTransform) InitWithMatrix

func (o *MDLTransform) InitWithMatrix(matrix unsafe.Pointer) *MDLTransform

Initialization with a matrix assumes the matrix is an invertible, homogeneous affine transform matrix. Retrieving transform components after initialization with a non-affine matrix will yield those of the identity transform.

func (*MDLTransform) InitWithMatrixResetsTransform

func (o *MDLTransform) InitWithMatrixResetsTransform(matrix unsafe.Pointer, resetsTransform bool) *MDLTransform

func (*MDLTransform) InitWithTransformComponent deprecated

func (o *MDLTransform) InitWithTransformComponent(component MDLTransformComponent) *MDLTransform

Deprecated: since macOS 10.13.

func (*MDLTransform) InitWithTransformComponentResetsTransform deprecated

func (o *MDLTransform) InitWithTransformComponentResetsTransform(component MDLTransformComponent, resetsTransform bool) *MDLTransform

Deprecated: since macOS 10.13.

func (*MDLTransform) Rotation

func (o *MDLTransform) Rotation() unsafe.Pointer

func (*MDLTransform) RotationAtTime

func (o *MDLTransform) RotationAtTime(time_ float64) unsafe.Pointer

func (*MDLTransform) RotationMatrixAtTime

func (o *MDLTransform) RotationMatrixAtTime(time_ float64) unsafe.Pointer

Construct a right handed rotation matrix at the specified time

func (*MDLTransform) Scale

func (o *MDLTransform) Scale() unsafe.Pointer

func (*MDLTransform) ScaleAtTime

func (o *MDLTransform) ScaleAtTime(time_ float64) unsafe.Pointer

func (*MDLTransform) SetIdentity

func (o *MDLTransform) SetIdentity()

Set all transform components to identity

func (*MDLTransform) SetMatrixForTime

func (o *MDLTransform) SetMatrixForTime(matrix unsafe.Pointer, time_ float64)

func (*MDLTransform) SetRotation

func (o *MDLTransform) SetRotation(rotation unsafe.Pointer)

func (*MDLTransform) SetRotationForTime

func (o *MDLTransform) SetRotationForTime(rotation unsafe.Pointer, time_ float64)

func (*MDLTransform) SetScale

func (o *MDLTransform) SetScale(scale unsafe.Pointer)

func (*MDLTransform) SetScaleForTime

func (o *MDLTransform) SetScaleForTime(scale unsafe.Pointer, time_ float64)

func (*MDLTransform) SetShear

func (o *MDLTransform) SetShear(shear unsafe.Pointer)

func (*MDLTransform) SetShearForTime

func (o *MDLTransform) SetShearForTime(shear unsafe.Pointer, time_ float64)

func (*MDLTransform) SetTranslation

func (o *MDLTransform) SetTranslation(translation unsafe.Pointer)

func (*MDLTransform) SetTranslationForTime

func (o *MDLTransform) SetTranslationForTime(translation unsafe.Pointer, time_ float64)

func (*MDLTransform) Shear

func (o *MDLTransform) Shear() unsafe.Pointer

func (*MDLTransform) ShearAtTime

func (o *MDLTransform) ShearAtTime(time_ float64) unsafe.Pointer

func (*MDLTransform) Translation

func (o *MDLTransform) Translation() unsafe.Pointer

If these properties are read and animation data exists the earliest value is returned. Otherwise, if there is no animation data, the value of the property is the same at all times and that value is returned. If written, timing information for said property is removed. To retain or add timing information, use the set:forTime selectors instead.

func (*MDLTransform) TranslationAtTime

func (o *MDLTransform) TranslationAtTime(time_ float64) unsafe.Pointer

type MDLTransformComponent

type MDLTransformComponent interface {
	MDLComponent
}

MDLTransformComponent wraps the ObjC protocol MDLTransformComponent.

type MDLTransformMatrixOp

type MDLTransformMatrixOp struct {
	foundation.NSObject
}

Apple documentation: https://developer.apple.com/documentation/modelio/mdltransformmatrixop

func MDLTransformMatrixOpFromID

func MDLTransformMatrixOpFromID(id objc.ID) *MDLTransformMatrixOp

func (*MDLTransformMatrixOp) AnimatedValue

func (o *MDLTransformMatrixOp) AnimatedValue() *MDLAnimatedMatrix4x4

func (*MDLTransformMatrixOp) Name

type MDLTransformOp

type MDLTransformOp interface {
	Float4x4AtTime(time_ float64) unsafe.Pointer
	Double4x4AtTime(time_ float64) unsafe.Pointer
	IsInverseOp() bool
	Name() *foundation.NSString
}

MDLTransformOp wraps the ObjC protocol MDLTransformOp.

type MDLTransformOpRotationOrder

type MDLTransformOpRotationOrder uint64
const (
	MDLTransformOpRotationOrderXYZ MDLTransformOpRotationOrder = 1
	MDLTransformOpRotationOrderXZY MDLTransformOpRotationOrder = 2
	MDLTransformOpRotationOrderYXZ MDLTransformOpRotationOrder = 3
	MDLTransformOpRotationOrderYZX MDLTransformOpRotationOrder = 4
	MDLTransformOpRotationOrderZXY MDLTransformOpRotationOrder = 5
	MDLTransformOpRotationOrderZYX MDLTransformOpRotationOrder = 6
)

func (MDLTransformOpRotationOrder) String

type MDLTransformOrientOp

type MDLTransformOrientOp struct {
	foundation.NSObject
}

Apple documentation: https://developer.apple.com/documentation/modelio/mdltransformorientop

func MDLTransformOrientOpFromID

func MDLTransformOrientOpFromID(id objc.ID) *MDLTransformOrientOp

func (*MDLTransformOrientOp) AnimatedValue

func (o *MDLTransformOrientOp) AnimatedValue() *MDLAnimatedQuaternion

func (*MDLTransformOrientOp) Name

type MDLTransformRotateOp

type MDLTransformRotateOp struct {
	foundation.NSObject
}

Apple documentation: https://developer.apple.com/documentation/modelio/mdltransformrotateop

func MDLTransformRotateOpFromID

func MDLTransformRotateOpFromID(id objc.ID) *MDLTransformRotateOp

func (*MDLTransformRotateOp) AnimatedValue

func (o *MDLTransformRotateOp) AnimatedValue() *MDLAnimatedVector3

func (*MDLTransformRotateOp) Name

type MDLTransformRotateXOp

type MDLTransformRotateXOp struct {
	foundation.NSObject
}

Apple documentation: https://developer.apple.com/documentation/modelio/mdltransformrotatexop

func MDLTransformRotateXOpFromID

func MDLTransformRotateXOpFromID(id objc.ID) *MDLTransformRotateXOp

func (*MDLTransformRotateXOp) AnimatedValue

func (o *MDLTransformRotateXOp) AnimatedValue() *MDLAnimatedScalar

func (*MDLTransformRotateXOp) Name

type MDLTransformRotateYOp

type MDLTransformRotateYOp struct {
	foundation.NSObject
}

Apple documentation: https://developer.apple.com/documentation/modelio/mdltransformrotateyop

func MDLTransformRotateYOpFromID

func MDLTransformRotateYOpFromID(id objc.ID) *MDLTransformRotateYOp

func (*MDLTransformRotateYOp) AnimatedValue

func (o *MDLTransformRotateYOp) AnimatedValue() *MDLAnimatedScalar

func (*MDLTransformRotateYOp) Name

type MDLTransformRotateZOp

type MDLTransformRotateZOp struct {
	foundation.NSObject
}

Apple documentation: https://developer.apple.com/documentation/modelio/mdltransformrotatezop

func MDLTransformRotateZOpFromID

func MDLTransformRotateZOpFromID(id objc.ID) *MDLTransformRotateZOp

func (*MDLTransformRotateZOp) AnimatedValue

func (o *MDLTransformRotateZOp) AnimatedValue() *MDLAnimatedScalar

func (*MDLTransformRotateZOp) Name

type MDLTransformScaleOp

type MDLTransformScaleOp struct {
	foundation.NSObject
}

Apple documentation: https://developer.apple.com/documentation/modelio/mdltransformscaleop

func MDLTransformScaleOpFromID

func MDLTransformScaleOpFromID(id objc.ID) *MDLTransformScaleOp

func (*MDLTransformScaleOp) AnimatedValue

func (o *MDLTransformScaleOp) AnimatedValue() *MDLAnimatedVector3

func (*MDLTransformScaleOp) Name

type MDLTransformStack

type MDLTransformStack struct {
	foundation.NSObject
}

Apple documentation: https://developer.apple.com/documentation/modelio/mdltransformstack

func MDLTransformStackFromID

func MDLTransformStackFromID(id objc.ID) *MDLTransformStack

func (*MDLTransformStack) AddMatrixOpInverse

func (o *MDLTransformStack) AddMatrixOpInverse(animatedValueName *foundation.NSString, inverse bool) *MDLTransformMatrixOp

func (*MDLTransformStack) AddOrientOpInverse

func (o *MDLTransformStack) AddOrientOpInverse(animatedValueName *foundation.NSString, inverse bool) *MDLTransformOrientOp

func (*MDLTransformStack) AddRotateOpOrderInverse

func (o *MDLTransformStack) AddRotateOpOrderInverse(animatedValueName *foundation.NSString, order MDLTransformOpRotationOrder, inverse bool) *MDLTransformRotateOp

func (*MDLTransformStack) AddRotateXOpInverse

func (o *MDLTransformStack) AddRotateXOpInverse(animatedValueName *foundation.NSString, inverse bool) *MDLTransformRotateXOp

func (*MDLTransformStack) AddRotateYOpInverse

func (o *MDLTransformStack) AddRotateYOpInverse(animatedValueName *foundation.NSString, inverse bool) *MDLTransformRotateYOp

func (*MDLTransformStack) AddRotateZOpInverse

func (o *MDLTransformStack) AddRotateZOpInverse(animatedValueName *foundation.NSString, inverse bool) *MDLTransformRotateZOp

func (*MDLTransformStack) AddScaleOpInverse

func (o *MDLTransformStack) AddScaleOpInverse(animatedValueName *foundation.NSString, inverse bool) *MDLTransformScaleOp

func (*MDLTransformStack) AddTranslateOpInverse

func (o *MDLTransformStack) AddTranslateOpInverse(animatedValueName *foundation.NSString, inverse bool) *MDLTransformTranslateOp

func (*MDLTransformStack) AnimatedValueWithName

func (o *MDLTransformStack) AnimatedValueWithName(name *foundation.NSString) *MDLAnimatedValue

func (*MDLTransformStack) Count

func (o *MDLTransformStack) Count() uint

func (*MDLTransformStack) Double4x4AtTime

func (o *MDLTransformStack) Double4x4AtTime(time_ float64) unsafe.Pointer

func (*MDLTransformStack) Float4x4AtTime

func (o *MDLTransformStack) Float4x4AtTime(time_ float64) unsafe.Pointer

func (*MDLTransformStack) Init

func (o *MDLTransformStack) Init() objc.ID

func (*MDLTransformStack) KeyTimes

func (*MDLTransformStack) TransformOps

func (o *MDLTransformStack) TransformOps() *foundation.NSArray[MDLTransformOp]

type MDLTransformTranslateOp

type MDLTransformTranslateOp struct {
	foundation.NSObject
}

Apple documentation: https://developer.apple.com/documentation/modelio/mdltransformtranslateop

func MDLTransformTranslateOpFromID

func MDLTransformTranslateOpFromID(id objc.ID) *MDLTransformTranslateOp

func (*MDLTransformTranslateOp) AnimatedValue

func (o *MDLTransformTranslateOp) AnimatedValue() *MDLAnimatedVector3

func (*MDLTransformTranslateOp) Name

type MDLURLTexture

type MDLURLTexture struct {
	MDLTexture
}

Apple documentation: https://developer.apple.com/documentation/modelio/mdlurltexture

func MDLURLTextureFromID

func MDLURLTextureFromID(id objc.ID) *MDLURLTexture

func (*MDLURLTexture) InitWithURLName

func (o *MDLURLTexture) InitWithURLName(uRL *foundation.NSURL, name *foundation.NSString) *MDLURLTexture

func (*MDLURLTexture) SetURL

func (o *MDLURLTexture) SetURL(uRL *foundation.NSURL)

func (*MDLURLTexture) URL

func (o *MDLURLTexture) URL() *foundation.NSURL

type MDLUtility

type MDLUtility struct {
	foundation.NSObject
}

Apple documentation: https://developer.apple.com/documentation/modelio/mdlutility

func MDLUtilityFromID

func MDLUtilityFromID(id objc.ID) *MDLUtility

type MDLVertexAttribute

type MDLVertexAttribute struct {
	foundation.NSObject
}

Apple documentation: https://developer.apple.com/documentation/modelio/mdlvertexattribute

func MDLVertexAttributeFromID

func MDLVertexAttributeFromID(id objc.ID) *MDLVertexAttribute

func (*MDLVertexAttribute) BufferIndex

func (o *MDLVertexAttribute) BufferIndex() uint

@property bufferIndex @abstract index of the buffer in mesh's vertexBuffer array in which this attribute resides

func (*MDLVertexAttribute) Format

func (o *MDLVertexAttribute) Format() MDLVertexFormat

@property format @abstract Format (including number of components) of the attribute @discussion If the value is MDLVertexFormatInvalid. Other values of this object will be ignored when setting the MDLVertexDescriptor object in a Mesh. The initial value is MDLVertexFormatInvalid.

func (*MDLVertexAttribute) InitWithNameFormatOffsetBufferIndex

func (o *MDLVertexAttribute) InitWithNameFormatOffsetBufferIndex(name *foundation.NSString, format MDLVertexFormat, offset uint, bufferIndex uint) *MDLVertexAttribute

@method initWithName:format:offset:bufferIndex @abstract Initialize attribute object with all properties

func (*MDLVertexAttribute) InitializationValue

func (o *MDLVertexAttribute) InitializationValue() unsafe.Pointer

@property initializationValue @abstract Value to initialize the attribute to in the vertex buffer if no values @discussion This values of this vector will be set in attribute in the vertex attribute if the attribute did not previously exist in the mesh when setting the MDLVertexDescriptor in the mesh. Components of this vector will also be set in The initial value of initializationValue is (0, 0, 0, 1).

func (*MDLVertexAttribute) Name

@property name @abstract Identifying name of the attribute derived from model file, or one of the predefined MDLVertexAttribute strings

func (*MDLVertexAttribute) Offset

func (o *MDLVertexAttribute) Offset() uint

@property offset @abstract offset in bytes of the attrbute in each element of the vertex buffer

func (*MDLVertexAttribute) SetBufferIndex

func (o *MDLVertexAttribute) SetBufferIndex(bufferIndex uint)

func (*MDLVertexAttribute) SetFormat

func (o *MDLVertexAttribute) SetFormat(format MDLVertexFormat)

func (*MDLVertexAttribute) SetInitializationValue

func (o *MDLVertexAttribute) SetInitializationValue(initializationValue unsafe.Pointer)

func (*MDLVertexAttribute) SetName

func (o *MDLVertexAttribute) SetName(name *foundation.NSString)

func (*MDLVertexAttribute) SetOffset

func (o *MDLVertexAttribute) SetOffset(offset uint)

func (*MDLVertexAttribute) SetTime

func (o *MDLVertexAttribute) SetTime(time_ float64)

func (*MDLVertexAttribute) Time

func (o *MDLVertexAttribute) Time() float64

@property time @abstract the time the attribute is intended for. @discussion morph targets would store their times here

type MDLVertexAttributeData

type MDLVertexAttributeData struct {
	foundation.NSObject
}

Apple documentation: https://developer.apple.com/documentation/modelio/mdlvertexattributedata

func MDLVertexAttributeDataFromID

func MDLVertexAttributeDataFromID(id objc.ID) *MDLVertexAttributeData

func (*MDLVertexAttributeData) BufferSize

func (o *MDLVertexAttributeData) BufferSize() uint

func (*MDLVertexAttributeData) DataStart

func (o *MDLVertexAttributeData) DataStart() unsafe.Pointer

func (*MDLVertexAttributeData) Format

func (*MDLVertexAttributeData) Map

func (*MDLVertexAttributeData) SetBufferSize

func (o *MDLVertexAttributeData) SetBufferSize(bufferSize uint)

func (*MDLVertexAttributeData) SetDataStart

func (o *MDLVertexAttributeData) SetDataStart(dataStart unsafe.Pointer)

func (*MDLVertexAttributeData) SetFormat

func (o *MDLVertexAttributeData) SetFormat(format MDLVertexFormat)

func (*MDLVertexAttributeData) SetMap

func (o *MDLVertexAttributeData) SetMap(map_ *MDLMeshBufferMap)

func (*MDLVertexAttributeData) SetStride

func (o *MDLVertexAttributeData) SetStride(stride uint)

func (*MDLVertexAttributeData) Stride

func (o *MDLVertexAttributeData) Stride() uint

type MDLVertexBufferLayout

type MDLVertexBufferLayout struct {
	foundation.NSObject
}

Apple documentation: https://developer.apple.com/documentation/modelio/mdlvertexbufferlayout

func MDLVertexBufferLayoutFromID

func MDLVertexBufferLayoutFromID(id objc.ID) *MDLVertexBufferLayout

func (*MDLVertexBufferLayout) InitWithStride

func (o *MDLVertexBufferLayout) InitWithStride(stride uint) *MDLVertexBufferLayout

func (*MDLVertexBufferLayout) SetStride

func (o *MDLVertexBufferLayout) SetStride(stride uint)

func (*MDLVertexBufferLayout) Stride

func (o *MDLVertexBufferLayout) Stride() uint

type MDLVertexDescriptor

type MDLVertexDescriptor struct {
	foundation.NSObject
}

Apple documentation: https://developer.apple.com/documentation/modelio/mdlvertexdescriptor

func MDLVertexDescriptorFromID

func MDLVertexDescriptorFromID(id objc.ID) *MDLVertexDescriptor

func (*MDLVertexDescriptor) AddOrReplaceAttribute

func (o *MDLVertexDescriptor) AddOrReplaceAttribute(attribute *MDLVertexAttribute)

@method addOrReplaceAttribute: @abstract Replace any attribute with the same name and time, or add it if it does not already exist.

func (*MDLVertexDescriptor) AttributeNamed

func (o *MDLVertexDescriptor) AttributeNamed(name *foundation.NSString) *MDLVertexAttribute

@method attributeNamed: @abstract Retrieves the attribute with the given name @return The attribute with the supplied name or nil if attribute with the given name does not exist in the descriptor object

func (*MDLVertexDescriptor) Attributes

@property attributes @abstract An array of MDLVertexAttribute objects @discussion ay describing the current attribute state of vertex buffers in an MDLMesh mesh

func (*MDLVertexDescriptor) InitWithVertexDescriptor

func (o *MDLVertexDescriptor) InitWithVertexDescriptor(vertexDescriptor *MDLVertexDescriptor) *MDLVertexDescriptor

@method initVertexDescriptor: @abstract Initializes the object with values from supplied vertexDescriptor @discussion This performs a deep copy of all data in the supplied descriptor.

func (*MDLVertexDescriptor) Layouts

@property layouts @abstract An array of MDLVertexBufferLayout @discussion An array describing the current layout state of vertex buffers in an MDLMesh mesh

func (*MDLVertexDescriptor) RemoveAttributeNamed

func (o *MDLVertexDescriptor) RemoveAttributeNamed(name *foundation.NSString)

@method removeAttributeNamed: @abstract Remove the named attribute if it exists

func (*MDLVertexDescriptor) Reset

func (o *MDLVertexDescriptor) Reset()

@method reset @abstract Tesets the descriptor to initial values

func (*MDLVertexDescriptor) SetAttributes

func (o *MDLVertexDescriptor) SetAttributes(attributes *foundation.NSMutableArray[*MDLVertexAttribute])

func (*MDLVertexDescriptor) SetLayouts

func (*MDLVertexDescriptor) SetPackedOffsets

func (o *MDLVertexDescriptor) SetPackedOffsets()

@method setPackedOffsets @abstract Sets the stride in each VertexAttribute in the attributes array to the minimum value to pack each attribute next to each other in its vertexbuffer

func (*MDLVertexDescriptor) SetPackedStrides

func (o *MDLVertexDescriptor) SetPackedStrides()

@method setPackedStrides @abstract Sets the stride in each VertexBufferLout in the layouts array to the minimum value encompassing all attributes in the vertex buffer

type MDLVertexFormat

type MDLVertexFormat uint64
const (
	MDLVertexFormatInvalid               MDLVertexFormat = 0
	MDLVertexFormatPackedBit             MDLVertexFormat = 4096
	MDLVertexFormatUCharBits             MDLVertexFormat = 65536
	MDLVertexFormatCharBits              MDLVertexFormat = 131072
	MDLVertexFormatUCharNormalizedBits   MDLVertexFormat = 196608
	MDLVertexFormatCharNormalizedBits    MDLVertexFormat = 262144
	MDLVertexFormatUShortBits            MDLVertexFormat = 327680
	MDLVertexFormatShortBits             MDLVertexFormat = 393216
	MDLVertexFormatUShortNormalizedBits  MDLVertexFormat = 458752
	MDLVertexFormatShortNormalizedBits   MDLVertexFormat = 524288
	MDLVertexFormatUIntBits              MDLVertexFormat = 589824
	MDLVertexFormatIntBits               MDLVertexFormat = 655360
	MDLVertexFormatHalfBits              MDLVertexFormat = 720896
	MDLVertexFormatFloatBits             MDLVertexFormat = 786432
	MDLVertexFormatUChar                 MDLVertexFormat = 65537
	MDLVertexFormatUChar2                MDLVertexFormat = 65538
	MDLVertexFormatUChar3                MDLVertexFormat = 65539
	MDLVertexFormatUChar4                MDLVertexFormat = 65540
	MDLVertexFormatChar                  MDLVertexFormat = 131073
	MDLVertexFormatChar2                 MDLVertexFormat = 131074
	MDLVertexFormatChar3                 MDLVertexFormat = 131075
	MDLVertexFormatChar4                 MDLVertexFormat = 131076
	MDLVertexFormatUCharNormalized       MDLVertexFormat = 196609
	MDLVertexFormatUChar2Normalized      MDLVertexFormat = 196610
	MDLVertexFormatUChar3Normalized      MDLVertexFormat = 196611
	MDLVertexFormatUChar4Normalized      MDLVertexFormat = 196612
	MDLVertexFormatCharNormalized        MDLVertexFormat = 262145
	MDLVertexFormatChar2Normalized       MDLVertexFormat = 262146
	MDLVertexFormatChar3Normalized       MDLVertexFormat = 262147
	MDLVertexFormatChar4Normalized       MDLVertexFormat = 262148
	MDLVertexFormatUShort                MDLVertexFormat = 327681
	MDLVertexFormatUShort2               MDLVertexFormat = 327682
	MDLVertexFormatUShort3               MDLVertexFormat = 327683
	MDLVertexFormatUShort4               MDLVertexFormat = 327684
	MDLVertexFormatShort                 MDLVertexFormat = 393217
	MDLVertexFormatShort2                MDLVertexFormat = 393218
	MDLVertexFormatShort3                MDLVertexFormat = 393219
	MDLVertexFormatShort4                MDLVertexFormat = 393220
	MDLVertexFormatUShortNormalized      MDLVertexFormat = 458753
	MDLVertexFormatUShort2Normalized     MDLVertexFormat = 458754
	MDLVertexFormatUShort3Normalized     MDLVertexFormat = 458755
	MDLVertexFormatUShort4Normalized     MDLVertexFormat = 458756
	MDLVertexFormatShortNormalized       MDLVertexFormat = 524289
	MDLVertexFormatShort2Normalized      MDLVertexFormat = 524290
	MDLVertexFormatShort3Normalized      MDLVertexFormat = 524291
	MDLVertexFormatShort4Normalized      MDLVertexFormat = 524292
	MDLVertexFormatUInt                  MDLVertexFormat = 589825
	MDLVertexFormatUInt2                 MDLVertexFormat = 589826
	MDLVertexFormatUInt3                 MDLVertexFormat = 589827
	MDLVertexFormatUInt4                 MDLVertexFormat = 589828
	MDLVertexFormatInt                   MDLVertexFormat = 655361
	MDLVertexFormatInt2                  MDLVertexFormat = 655362
	MDLVertexFormatInt3                  MDLVertexFormat = 655363
	MDLVertexFormatInt4                  MDLVertexFormat = 655364
	MDLVertexFormatHalf                  MDLVertexFormat = 720897
	MDLVertexFormatHalf2                 MDLVertexFormat = 720898
	MDLVertexFormatHalf3                 MDLVertexFormat = 720899
	MDLVertexFormatHalf4                 MDLVertexFormat = 720900
	MDLVertexFormatFloat                 MDLVertexFormat = 786433
	MDLVertexFormatFloat2                MDLVertexFormat = 786434
	MDLVertexFormatFloat3                MDLVertexFormat = 786435
	MDLVertexFormatFloat4                MDLVertexFormat = 786436
	MDLVertexFormatInt1010102Normalized  MDLVertexFormat = 659460
	MDLVertexFormatUInt1010102Normalized MDLVertexFormat = 593924
)

func (MDLVertexFormat) String

func (e MDLVertexFormat) String() string

type MDLVoxelArray

type MDLVoxelArray struct {
	MDLObject
}

Apple documentation: https://developer.apple.com/documentation/modelio/mdlvoxelarray

func MDLVoxelArrayFromID

func MDLVoxelArrayFromID(id objc.ID) *MDLVoxelArray

func (*MDLVoxelArray) BoundingBox

func (o *MDLVoxelArray) BoundingBox() MDLAxisAlignedBoundingBox

The extent of the voxel grid in Cartesian space

func (*MDLVoxelArray) CoarseMesh

func (o *MDLVoxelArray) CoarseMesh() *MDLMesh

Creates a coarse mesh from the voxel grid

func (*MDLVoxelArray) CoarseMeshUsingAllocator

func (o *MDLVoxelArray) CoarseMeshUsingAllocator(allocator MDLMeshBufferAllocator) *MDLMesh

func (*MDLVoxelArray) ConvertToSignedShellField

func (o *MDLVoxelArray) ConvertToSignedShellField()

Converts volume grid into a signed shell field by surrounding the surface voxels, which have shell level values of zero, by an inner layer of voxels with shell level values of negative one and an outer layer of voxels with shell level values of positive one. The volume model must be closed in order to generate a signed shell field.

func (*MDLVoxelArray) Count

func (o *MDLVoxelArray) Count() uint

The number of voxels in the grid

func (*MDLVoxelArray) DifferenceWithVoxels

func (o *MDLVoxelArray) DifferenceWithVoxels(voxels *MDLVoxelArray)

Difference modifies the voxel grid so that voxels also in the supplied voxel grid are removed. It is assumed that the spatial voxel extent of one voxel in the supplied grid is the same as that of the voxel grid. Note that the shell level data will be cleared.

func (*MDLVoxelArray) IndexOfSpatialLocation

func (o *MDLVoxelArray) IndexOfSpatialLocation(location unsafe.Pointer) unsafe.Pointer

Return the voxel index corresponding to a point in space

func (*MDLVoxelArray) InitWithAssetDivisionsInteriorNBWidthExteriorNBWidthPatchRadius

func (o *MDLVoxelArray) InitWithAssetDivisionsInteriorNBWidthExteriorNBWidthPatchRadius(asset *MDLAsset, divisions int, interiorNBWidth float32, exteriorNBWidth float32, patchRadius float32) *MDLVoxelArray

Initialize a voxel grid from an MDLAsset and dilate the resulting voxels by a spatial distance in the interior and exterior directions. Routine will attempt to create a closed volume model by applying "patches" of a given radius to any holes it may find in the asset. @param divisions The number of divisions to divide the vertical extent of the model by. @param interiorNBWidth The interior narrow band width in world space units @param exteriorNBWidth The exterior narrow band width in world space units @param patchRadius The radius of the largest model mending patch in world space units Deprecated: since macOS 10.12.

func (*MDLVoxelArray) InitWithAssetDivisionsInteriorShellsExteriorShellsPatchRadius

func (o *MDLVoxelArray) InitWithAssetDivisionsInteriorShellsExteriorShellsPatchRadius(asset *MDLAsset, divisions int, interiorShells int, exteriorShells int, patchRadius float32) *MDLVoxelArray

Initialize a voxel grid from an MDLAsset and dilate the resulting voxels by a number of interior and exterior shells. Routine will attempt to create a closed volume model by applying patches of a given radius to any holes it may find in the asset. @param divisions The number of divisions to divide the vertical extent of the model by. @param interiorShells The number of shells to compute inside the surface shell @param exteriorShells The number of shells to compute outside the surface shell @param patchRadius The radius of the largest model mending patch in world space units Deprecated: since macOS 10.12.

func (*MDLVoxelArray) InitWithAssetDivisionsPatchRadius

func (o *MDLVoxelArray) InitWithAssetDivisionsPatchRadius(asset *MDLAsset, divisions int, patchRadius float32) *MDLVoxelArray

Initialize a voxel grid from an MDLAsset. Attempts to create a closed volume model by applying "patches" of radius patchRadius to any holes found in the orginal mesh. Choose a patch radius that will be large enough to fill in the largest hole in the model.

func (*MDLVoxelArray) InitWithDataBoundingBoxVoxelExtent

func (o *MDLVoxelArray) InitWithDataBoundingBoxVoxelExtent(voxelData *foundation.NSData, boundingBox MDLAxisAlignedBoundingBox, voxelExtent float32) *MDLVoxelArray

Initialize a voxel grid from an NSData containing an array of MDLVoxelIndex values. @param boundingBox The bounds defining the extent of the volume model in Cartesian space @param voxelExtent The extent of a single voxel

func (*MDLVoxelArray) IntersectWithVoxels

func (o *MDLVoxelArray) IntersectWithVoxels(voxels *MDLVoxelArray)

Intersection modifies the voxel grid so that only voxels that are also in the supplied voxel grid are retained. It is assumed that the spatial voxel extent of one voxel in the supplied grid is the same as that of the voxel grid. Note that the shell level data will be cleared.

func (*MDLVoxelArray) IsValidSignedShellField

func (o *MDLVoxelArray) IsValidSignedShellField() bool

Returns whether or not the volume grid is in a valid signed shell field form. This property will be set to YES after calling generateSignedShellField. All other methods that modify the voxel grid will cause this property to be set to NO. Setting shellFieldInteriorThickness and shellFieldExteriorThickness will not affect the value of this property.

func (*MDLVoxelArray) MeshUsingAllocator

func (o *MDLVoxelArray) MeshUsingAllocator(allocator MDLMeshBufferAllocator) *MDLMesh

Creates a smooth mesh from the voxel grid

func (*MDLVoxelArray) SetShellFieldExteriorThickness

func (o *MDLVoxelArray) SetShellFieldExteriorThickness(shellFieldExteriorThickness float32)

func (*MDLVoxelArray) SetShellFieldInteriorThickness

func (o *MDLVoxelArray) SetShellFieldInteriorThickness(shellFieldInteriorThickness float32)

func (*MDLVoxelArray) SetVoxelAtIndex

func (o *MDLVoxelArray) SetVoxelAtIndex(index unsafe.Pointer)

Set a sample at the specified index @discussion the extent, bounds, and shell properties may be modified

func (*MDLVoxelArray) SetVoxelsForMeshDivisionsInteriorNBWidthExteriorNBWidthPatchRadius

func (o *MDLVoxelArray) SetVoxelsForMeshDivisionsInteriorNBWidthExteriorNBWidthPatchRadius(mesh *MDLMesh, divisions int, interiorNBWidth float32, exteriorNBWidth float32, patchRadius float32)

Set voxels corresponding to a mesh Routine will attempt to create a closed volume model by applying "patches" of a given radius to any holes it may find in the mesh. @param divisions The number of divisions to divide the vertical extent of the model by. @param interiorNBWidth The interior narrow band width in world space units @param exteriorNBWidth The exterior narrow band width in world space units @param patchRadius The radius of the largest model mending patch in world space units Deprecated: since macOS 10.12.

func (*MDLVoxelArray) SetVoxelsForMeshDivisionsInteriorShellsExteriorShellsPatchRadius

func (o *MDLVoxelArray) SetVoxelsForMeshDivisionsInteriorShellsExteriorShellsPatchRadius(mesh *MDLMesh, divisions int, interiorShells int, exteriorShells int, patchRadius float32)

Set voxels corresponding to a mesh Routine will attempt to create a closed volume model by applying "patches" of a given radius to any holes it may find in the mesh. @param divisions The number of divisions to divide the vertical extent of the model by. @param interiorShells The number of shells to compute inside the surface shell @param exteriorShells The number of shells to compute outside the surface shell @param patchRadius The radius of the largest model mending patch in world space units Deprecated: since macOS 10.12.

func (*MDLVoxelArray) SetVoxelsForMeshDivisionsPatchRadius

func (o *MDLVoxelArray) SetVoxelsForMeshDivisionsPatchRadius(mesh *MDLMesh, divisions int, patchRadius float32)

Set voxels corresponding to a mesh. Routine will attempt to create a closed volume model by applying "patches" of a given radius to any holes it may find in the mesh.

func (*MDLVoxelArray) ShellFieldExteriorThickness

func (o *MDLVoxelArray) ShellFieldExteriorThickness() float32

If voxel grid is in a valid signed shell field form, sets the exterior thickness to the desired width, as measured from the model surface. If the voxel grid is not in a valid signed shell field form, the value of this property is zero.

func (*MDLVoxelArray) ShellFieldInteriorThickness

func (o *MDLVoxelArray) ShellFieldInteriorThickness() float32

If voxel grid is in a valid signed shell field form, sets the interior thickness to the desired width, as measured from the model surface. If the voxel grid is not in a valid signed shell field form, the value of this property is zero.

func (*MDLVoxelArray) SpatialLocationOfIndex

func (o *MDLVoxelArray) SpatialLocationOfIndex(index unsafe.Pointer) unsafe.Pointer

Return the spatial location of the center of the indexed voxel

func (*MDLVoxelArray) UnionWithVoxels

func (o *MDLVoxelArray) UnionWithVoxels(voxels *MDLVoxelArray)

Union modifies the voxel grid to be the merger with the supplied voxel grid. It is assumed that the spatial voxel extent of one voxel in the supplied grid is the same as that of the voxel grid. Note that the shell level data will be cleared.

func (*MDLVoxelArray) VoxelBoundingBoxAtIndex

func (o *MDLVoxelArray) VoxelBoundingBoxAtIndex(index unsafe.Pointer) MDLAxisAlignedBoundingBox

The bounding box of an indexed voxel

func (*MDLVoxelArray) VoxelExistsAtIndexAllowAnyXAllowAnyYAllowAnyZAllowAnyShell

func (o *MDLVoxelArray) VoxelExistsAtIndexAllowAnyXAllowAnyYAllowAnyZAllowAnyShell(index unsafe.Pointer, allowAnyX bool, allowAnyY bool, allowAnyZ bool, allowAnyShell bool) bool

Determine if a sample exists at the specified index @discussion the allowAny parameters can be used to wildcard any dimensions. This is useful to perform queries such as determining if any voxel exists on the XY plane at a certain Z, or if any voxel exists at any X, Y, Z, or a particular shell, and so on.

func (*MDLVoxelArray) VoxelIndexExtent

func (o *MDLVoxelArray) VoxelIndexExtent() MDLVoxelIndexExtent

The extent of the voxel grid in index space

func (*MDLVoxelArray) VoxelIndices

func (o *MDLVoxelArray) VoxelIndices() *foundation.NSData

Returns an NSData containing the indices of all voxels in the voxel grid

func (*MDLVoxelArray) VoxelsWithinExtent

func (o *MDLVoxelArray) VoxelsWithinExtent(extent MDLVoxelIndexExtent) *foundation.NSData

Returns an NSData containing the indices of all voxels found in the extent

type MDLVoxelIndexExtent

type MDLVoxelIndexExtent struct {
	MinimumExtent unsafe.Pointer
	MaximumExtent unsafe.Pointer
}

MDLVoxelIndexExtent is the index space bounds of the voxel grid.

type MDLabelDomain

type MDLabelDomain int64

@typedef MDLabelDomain @abstract These constants are used to specify a domain to MDLabelCreate().

const (
	KMDLabelUserDomain  MDLabelDomain = 0
	KMDLabelLocalDomain MDLabelDomain = 1
)

func (MDLabelDomain) String

func (e MDLabelDomain) String() string

type MDQueryOptionFlags

type MDQueryOptionFlags int64
const (
	KMDQuerySynchronous        MDQueryOptionFlags = 1
	KMDQueryWantsUpdates       MDQueryOptionFlags = 4
	KMDQueryAllowFSTranslation MDQueryOptionFlags = 8
)

func (MDQueryOptionFlags) String

func (e MDQueryOptionFlags) String() string

type MDQuerySortOptionFlags

type MDQuerySortOptionFlags int64

@enum MDQuerySortOptionFlags @constant kMDQueryReverseSortOrderFlag Sort the attribute in reverse order.

const (
	KMDQueryReverseSortOrderFlag MDQuerySortOptionFlags = 1
)

func (MDQuerySortOptionFlags) String

func (e MDQuerySortOptionFlags) String() string

type Mach_vm_range_flags_t

type Mach_vm_range_flags_t int64
const (
	MACH_VM_RANGE_NONE Mach_vm_range_flags_t = 0
)

func (Mach_vm_range_flags_t) String

func (e Mach_vm_range_flags_t) String() string

type Mach_vm_range_flavor_t

type Mach_vm_range_flavor_t int64
const (
	MACH_VM_RANGE_FLAVOR_INVALID Mach_vm_range_flavor_t = 0
	MACH_VM_RANGE_FLAVOR_V1      Mach_vm_range_flavor_t = 1
)

func (Mach_vm_range_flavor_t) String

func (e Mach_vm_range_flavor_t) String() string

type Mach_vm_range_tag_t

type Mach_vm_range_tag_t int64
const (
	MACH_VM_RANGE_DEFAULT Mach_vm_range_tag_t = 0
	MACH_VM_RANGE_DATA    Mach_vm_range_tag_t = 1
	MACH_VM_RANGE_FIXED   Mach_vm_range_tag_t = 2
)

func (Mach_vm_range_tag_t) String

func (e Mach_vm_range_tag_t) String() string

type Mpo_flags_t

type Mpo_flags_t int64
const (
	MPO_PORT                            Mpo_flags_t = 0
	MPO_SERVICE_PORT                    Mpo_flags_t = 1024
	MPO_CONNECTION_PORT                 Mpo_flags_t = 2048
	MPO_REPLY_PORT                      Mpo_flags_t = 4096
	MPO_WEAK_REPLY_PORT                 Mpo_flags_t = 16384
	MPO_NOTIFICATION_PORT               Mpo_flags_t = 17408
	MPO_EXCEPTION_PORT                  Mpo_flags_t = 32768
	MPO_CONNECTION_PORT_WITH_PORT_ARRAY Mpo_flags_t = 65536
)

func (Mpo_flags_t) String

func (e Mpo_flags_t) String() string

type NXMouseButton

type NXMouseButton int64
const (
	NX_OneButton   NXMouseButton = 0
	NX_LeftButton  NXMouseButton = 1
	NX_RightButton NXMouseButton = 2
)

func (NXMouseButton) String

func (e NXMouseButton) String() string

type Os_clockid_t

type Os_clockid_t int64
const (
	OS_CLOCK_MACH_ABSOLUTE_TIME Os_clockid_t = 32
)

func (Os_clockid_t) String

func (e Os_clockid_t) String() string

type Ptrauth_key

type Ptrauth_key int64
const (
	Ptrauth_key_none                     Ptrauth_key = -1
	Ptrauth_key_asia                     Ptrauth_key = 0
	Ptrauth_key_asib                     Ptrauth_key = 1
	Ptrauth_key_asda                     Ptrauth_key = 2
	Ptrauth_key_asdb                     Ptrauth_key = 3
	Ptrauth_key_process_independent_code Ptrauth_key = 0
	Ptrauth_key_process_dependent_code   Ptrauth_key = 1
	Ptrauth_key_process_independent_data Ptrauth_key = 2
	Ptrauth_key_process_dependent_data   Ptrauth_key = 3
	Ptrauth_key_return_address           Ptrauth_key = 1
	Ptrauth_key_frame_pointer            Ptrauth_key = 3
	Ptrauth_key_function_pointer         Ptrauth_key = 0
	Ptrauth_key_block_function           Ptrauth_key = 0
	Ptrauth_key_cxx_vtable_pointer       Ptrauth_key = 2
	Ptrauth_key_method_list_pointer      Ptrauth_key = 2
	Ptrauth_key_objc_isa_pointer         Ptrauth_key = 2
	Ptrauth_key_objc_super_pointer       Ptrauth_key = 2
	Ptrauth_key_objc_sel_pointer         Ptrauth_key = 3
	Ptrauth_key_objc_class_ro_pointer    Ptrauth_key = 2
	Ptrauth_key_block_descriptor_pointer Ptrauth_key = 2
	Ptrauth_key_init_fini_pointer        Ptrauth_key = 0
)

func (Ptrauth_key) String

func (e Ptrauth_key) String() string

type Qos_class_t

type Qos_class_t uint32
const (
	QOS_CLASS_USER_INTERACTIVE Qos_class_t = 33
	QOS_CLASS_USER_INITIATED   Qos_class_t = 25
	QOS_CLASS_DEFAULT          Qos_class_t = 21
	QOS_CLASS_UTILITY          Qos_class_t = 17
	QOS_CLASS_BACKGROUND       Qos_class_t = 9
	QOS_CLASS_UNSPECIFIED      Qos_class_t = 0
)

func (Qos_class_t) String

func (e Qos_class_t) String() string

type Virtual_memory_guard_exception_code_t

type Virtual_memory_guard_exception_code_t int64
const (
	KGUARD_EXC_DEALLOC_GAP                   Virtual_memory_guard_exception_code_t = 1
	KGUARD_EXC_RECLAIM_COPYIO_FAILURE        Virtual_memory_guard_exception_code_t = 2
	KGUARD_EXC_RECLAIM_INDEX_FAILURE         Virtual_memory_guard_exception_code_t = 4
	KGUARD_EXC_RECLAIM_DEALLOCATE_FAILURE    Virtual_memory_guard_exception_code_t = 8
	KGUARD_EXC_RECLAIM_ACCOUNTING_FAILURE    Virtual_memory_guard_exception_code_t = 9
	KGUARD_EXC_SEC_IOPL_ON_EXEC_PAGE         Virtual_memory_guard_exception_code_t = 10
	KGUARD_EXC_SEC_EXEC_ON_IOPL_PAGE         Virtual_memory_guard_exception_code_t = 11
	KGUARD_EXC_SEC_UPL_WRITE_ON_EXEC_REGION  Virtual_memory_guard_exception_code_t = 12
	KGUARD_EXC_LARGE_ALLOCATION_TELEMETRY    Virtual_memory_guard_exception_code_t = 13
	KGUARD_EXC_SEC_ACCESS_FAULT              Virtual_memory_guard_exception_code_t = 98
	KGUARD_EXC_SEC_ASYNC_ACCESS_FAULT        Virtual_memory_guard_exception_code_t = 99
	KGUARD_EXC_SEC_COPY_DENIED               Virtual_memory_guard_exception_code_t = 100
	KGUARD_EXC_SEC_SHARING_DENIED            Virtual_memory_guard_exception_code_t = 101
	KGUARD_EXC_MTE_SYNC_FAULT                Virtual_memory_guard_exception_code_t = 200
	KGUARD_EXC_MTE_ASYNC_USER_FAULT          Virtual_memory_guard_exception_code_t = 201
	KGUARD_EXC_MTE_ASYNC_KERN_FAULT          Virtual_memory_guard_exception_code_t = 202
	KGUARD_EXC_GUARD_OBJECT_ASYNC_USER_FAULT Virtual_memory_guard_exception_code_t = 203
	KGUARD_EXC_GUARD_OBJECT_ASYNC_KERN_FAULT Virtual_memory_guard_exception_code_t = 204
)

func (Virtual_memory_guard_exception_code_t) String

type Xpc_listener_create_flags_t

type Xpc_listener_create_flags_t int64
const (
	XPC_LISTENER_CREATE_NONE             Xpc_listener_create_flags_t = 0
	XPC_LISTENER_CREATE_INACTIVE         Xpc_listener_create_flags_t = 1
	XPC_LISTENER_CREATE_FORCE_MACH       Xpc_listener_create_flags_t = 2
	XPC_LISTENER_CREATE_FORCE_XPCSERVICE Xpc_listener_create_flags_t = 4
)

func (Xpc_listener_create_flags_t) String

type Xpc_session_create_flags_t

type Xpc_session_create_flags_t int64
const (
	XPC_SESSION_CREATE_NONE            Xpc_session_create_flags_t = 0
	XPC_SESSION_CREATE_INACTIVE        Xpc_session_create_flags_t = 1
	XPC_SESSION_CREATE_MACH_PRIVILEGED Xpc_session_create_flags_t = 2
)

func (Xpc_session_create_flags_t) String

Source Files

Jump to

Keyboard shortcuts

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