MDLMesh Class

Definition

A collection of MDLSubmesh objects that, together, define the geometric and material properties for rendering a 3D object.

[Foundation.Register("MDLMesh", true)]
[ObjCRuntime.Introduced(ObjCRuntime.PlatformName.iOS, 9, 0, ObjCRuntime.PlatformArchitecture.All, null)]
[ObjCRuntime.Introduced(ObjCRuntime.PlatformName.MacOSX, 10, 11, ObjCRuntime.PlatformArchitecture.Arch64, null)]
public class MDLMesh : ModelIO.MDLObject
type MDLMesh = class
    inherit MDLObject
Inheritance
Attributes

Constructors

MDLMesh()

Default constructor, initializes a new instance of this class.

MDLMesh(IMDLMeshBuffer, nuint, MDLVertexDescriptor, MDLSubmesh[])
MDLMesh(IMDLMeshBuffer[], nuint, MDLVertexDescriptor, MDLSubmesh[])
MDLMesh(IMDLMeshBufferAllocator)

Creates a new Model IO mesh with the specified buffer allocator.

MDLMesh(IntPtr)

A constructor used when creating managed representations of unmanaged objects; Called by the runtime.

MDLMesh(NSObjectFlag)

Constructor to call on derived classes to skip initialization and merely allocate the object.

Properties

Allocator
AnisotropyVertexData

Gets the visual anisotropy of the surface, if present. This data is associated with the Anisotropy key.

BinormalVertexData

Gets the binormal data at each vertex. These data are associated with the Binormal key.

BitangentVertexData

Gets the bitangent vectors for each vertex. These data are associated with the Bitangent key.

BoundingBox

Gets the smallest box that contains all of the vertices in the mesh.

Children

Gets or sets the list of the objects of type MDLObject that belong to this MDLObject.

(Inherited from MDLObject)
Class (Inherited from NSObject)
ClassHandle

The handle for this class.

ColorVertexData

Gets color data for each vertex. These data are associated with the Color key.

Components

Gets the array of components that belong to this Model I/O object.

(Inherited from MDLObject)
DebugDescription

A developer-meaningful description of this object.

(Inherited from NSObject)
Description

Description of the object, the Objective-C version of ToString.

(Inherited from NSObject)
EdgeCreaseVertexData

Gets data that describe which edges that should not be modified when subdividing the surface. These data are associated with the EdgeCrease key.

Handle

Handle (pointer) to the unmanaged object representation.

(Inherited from NSObject)
Hidden

Gets or sets a Boolean value that controls whether the Model IO object is hidden.

(Inherited from MDLObject)
Instance (Inherited from MDLObject)
IsDirectBinding (Inherited from NSObject)
IsProxy (Inherited from NSObject)
JointIndicesVertexData

Gets bone and joint indices. These data are associated with the JointIndices key.

JointWeightsVertexData

Gets bone and joint weight information that is used to render a mesh that is associated with a skeleton. These data are associated with the JointWeights key.

Name

Gets or sets a descriptive name for this MDLObject.

(Inherited from MDLObject)
NormalVertexData

Gets normal vectors for the mesh vertices. These data are associated with the Normal key.

OcclusionValueVertexData

Gets occlusion data for the mesh vertices. These data are associated with the OcclusionValue key.

Parent

Gets or sets this MDLObject object's parent, or null if this is a top-level object.

(Inherited from MDLObject)
Path (Inherited from MDLObject)
PositionVertexData

Gets the positions of the mesh vertices. These data are associated with the Position key.

RetainCount

Returns the current Objective-C retain count for the object.

(Inherited from NSObject)
Self (Inherited from NSObject)
ShadingBasisUVertexData

Gets the U basis vectors that are used for shading. These data are associated with the ShadingBasisU key.

ShadingBasisVVertexData

Gets the V basis vectors that are used for shading. These data are associated with the ShadingBasisV key.

SubdivisionStencilVertexData

Gets the data that decide which neighboring vertices are used for subdivision calculations. These data are associated with the SubdivisionStencil key.

Submeshes

Gets the array of submeshes for this mesh.

Superclass (Inherited from NSObject)
SuperHandle

Handle used to represent the methods in the base class for this NSObject.

(Inherited from NSObject)
TangentVertexData

Gets the vertex tangent data. These data are associated with the Tangent key.

TextureCoordinateVertexData

Gets the coordinate system for texture operations on vertices. These data are associated with the TextureCoordinate key.

Transform

Gets or sets the possibly time-dependent transform that establishes this MDLObject object's coordinate system in relation to its parent's coordinate system.

(Inherited from MDLObject)
VertexBuffers

Gets the buffers that contain the vertex data for the mesh.

VertexCount

Gets the number of vertices in the entire mesh.

VertexDescriptor

Gets or sets the description of the in-memory layout of vertices in a mesh.

Zone (Inherited from NSObject)

Methods

AddAttribute(String, MDLVertexFormat)

Adds the format attribute, indexed by the keyword name.

AddAttribute(String, MDLVertexFormat, String, NSData, nint)

Adds a vertex attribute and a corresponding empty vertex buffer.

AddAttribute(String, MDLVertexFormat, String, NSData, nint, Double)
AddChild(MDLObject)

Adds child to this MDLObject object's Children property, creating Children, if necessary.

(Inherited from MDLObject)
AddNormals(String, Single)

Generates surface normals for a mesh, interpolating between adjacent faces when the dot product of their unit normals is greater than creaseThreshold.

AddObserver(NSObject, NSString, NSKeyValueObservingOptions, IntPtr)

Registers an object for being observed externally (using NSString keyPath).   Observed changes are dispatched to the observer’s object ObserveValue(NSString, NSObject, NSDictionary, IntPtr) method.

(Inherited from NSObject)
AddObserver(NSObject, String, NSKeyValueObservingOptions, IntPtr)

Registers an object for being observed externally (using string keyPath).   Observed changes are dispatched to the observer’s object ObserveValue(NSString, NSObject, NSDictionary, IntPtr) method.

(Inherited from NSObject)
AddObserver(NSString, NSKeyValueObservingOptions, Action<NSObservedChange>)

Registers an object for being observed externally using an arbitrary method.

(Inherited from NSObject)
AddObserver(String, NSKeyValueObservingOptions, Action<NSObservedChange>)

Registers an object for being observed externally using an arbitrary method.

(Inherited from NSObject)
AddOrthTanBasis(String, String, String)
AddTangentBasis(String, String, String)

Reads texture coordinates from the buffer that is specified by textureCoordinateAttributeName, calculates tangents and bitangents, and stores them in the specified buffers.

AddTangentBasisWithNormals(String, String, String)

Reads surface normals from the buffer that is specified by textureCoordinateAttributeName, calculates tangents and bitangents, and stores them in the specified buffers.

AddUnwrappedTextureCoordinates(String)
AwakeFromNib()

Called after the object has been loaded from the nib file. Overriders must call base.AwakeFromNib().

(Inherited from NSObject)
BeginInvokeOnMainThread(Action) (Inherited from NSObject)
BeginInvokeOnMainThread(Selector, NSObject)

Invokes asynchrously the specified code on the main UI thread.

(Inherited from NSObject)
Bind(NSString, NSObject, String, NSDictionary) (Inherited from NSObject)
Bind(String, NSObject, String, NSDictionary) (Inherited from NSObject)
BindingInfo(String) (Inherited from NSObject)
BindingOptionDescriptions(String) (Inherited from NSObject)
BindingValueClass(String) (Inherited from NSObject)
CommitEditing() (Inherited from NSObject)
CommitEditing(NSObject, Selector, IntPtr) (Inherited from NSObject)
ConformsToProtocol(IntPtr)

Invoked to determine if this object implements the specified protocol.

(Inherited from NSObject)
Copy()

Performs a copy of the underlying Objective-C object.

(Inherited from NSObject)
CreateBox(Vector3, Vector3i, MDLGeometryType, Boolean, IMDLMeshBufferAllocator)
CreateBox(Vector3, Vector3i, MDLGeometryType, Boolean, IMDLMeshBufferAllocator, MDLMesh+MDLMeshVectorType)

Creates a right rectangular box from the width, height, and depth that are contained in dimensions, with the specified number of segments and geometry kind.

CreateCapsule(Single, Vector2, nuint, nuint, nuint, MDLGeometryType, Boolean, IMDLMeshBufferAllocator)

Creates a capsule from the width, height, and depth that are contained in dimensions, with the specified number of segments and geometry kind.

CreateCapsule(Vector3, Vector2i, MDLGeometryType, Boolean, Int32, IMDLMeshBufferAllocator)
CreateCone(Vector3, Vector2i, MDLGeometryType, Boolean, Boolean, IMDLMeshBufferAllocator)
CreateCylinder(Vector3, Vector2i, Boolean, Boolean, Boolean, MDLGeometryType, IMDLMeshBufferAllocator)

Creates a cylinder from the specified parameters.

CreateCylindroid(Single, Vector2, nuint, nuint, MDLGeometryType, Boolean, IMDLMeshBufferAllocator)
CreateEllipsoid(Vector3, nuint, nuint, MDLGeometryType, Boolean, Boolean, IMDLMeshBufferAllocator)
CreateEllipticalCone(Single, Vector2, nuint, nuint, MDLGeometryType, Boolean, IMDLMeshBufferAllocator)
CreateHemisphere(Vector3, Vector2i, MDLGeometryType, Boolean, Boolean, IMDLMeshBufferAllocator)
CreateIcosahedron(Single, Boolean, IMDLMeshBufferAllocator)

Creates a regular icosohedron with the specified radius.

CreateIcosahedron(Single, Boolean, MDLGeometryType, IMDLMeshBufferAllocator)

Creates a regular icosahedron from the specified parameters.

CreateIcosahedron(Vector3, Boolean, MDLGeometryType, IMDLMeshBufferAllocator)

Creates a regular icosahedron from the specified parameters.

CreatePlane(Vector2, Vector2i, MDLGeometryType, IMDLMeshBufferAllocator)
CreatePlane(Vector3, Vector2i, MDLGeometryType, IMDLMeshBufferAllocator)

Creates a planar region centered at the origin, aligned with the X-Z plane, with the specified dimensions.

CreateSphere(Vector3, Vector2i, MDLGeometryType, Boolean, IMDLMeshBufferAllocator)
CreateSubdividedMesh(MDLMesh, Int32, UInt32, IMDLMeshBufferAllocator)
CreateSubdividedMesh(MDLMesh, nuint, nuint)

Subdivides the indexed submesh within the specified mesh, the specified number of times.

DangerousAutorelease() (Inherited from NSObject)
DangerousRelease() (Inherited from NSObject)
DangerousRetain() (Inherited from NSObject)
DidChange(NSKeyValueChange, NSIndexSet, NSString)

Indicates a change occurred to the indexes for a to-many relationship.

(Inherited from NSObject)
DidChange(NSString, NSKeyValueSetMutationKind, NSSet) (Inherited from NSObject)
DidChangeValue(String)

Indicates that a change occurred on the specified key.

(Inherited from NSObject)
Dispose()

Releases the resources used by the NSObject object.

(Inherited from NSObject)
Dispose(Boolean)

Releases the resources used by the MDLObject object.

(Inherited from MDLObject)
DoesNotRecognizeSelector(Selector)

Indicates that this object does not recognize the specified selector.

(Inherited from NSObject)
EnumerateChildObjects(Class, MDLObject, MDLObjectHandler, Boolean)

Runs the provided handler on each component in root's object hierarchy that matches the specified objectClass.

(Inherited from MDLObject)
Equals(NSObject) (Inherited from NSObject)
Equals(Object) (Inherited from NSObject)
ExposedBindings() (Inherited from NSObject)
FlipTextureCoordinates(String)
FromGeometry(SCNGeometry)
FromGeometry(SCNGeometry, IMDLMeshBufferAllocator)
GenerateAmbientOcclusionTexture(Single, Single, MDLObject[], String, String)

Generates a texture that is used to simulate the occlusion of ambient light from recesses in the mesh.

GenerateAmbientOcclusionTexture(Vector2i, nint, Single, MDLObject[], String, String)
GenerateAmbientOcclusionVertexColors(nint, Single, MDLObject[], String)
GenerateAmbientOcclusionVertexColors(Single, Single, MDLObject[], String)

Generates vertex color data that is used to simulate the occlusion of ambient light from recesses in the mesh.

GenerateLightMapTexture(Single, MDLLight[], MDLObject[], String, String)

Generates a map that represents the computed result of shading from the specified lights, obstructed by the specified objects.

GenerateLightMapTexture(Vector2i, MDLLight[], MDLObject[], String, String)
GenerateLightMapVertexColors(MDLLight[], MDLObject[], String)

Generates vertex color data that represent the computed result of shading from the specified lights, obstructed by the specified objects.

GetBindingInfo(NSString) (Inherited from NSObject)
GetBindingOptionDescriptions(NSString) (Inherited from NSObject)
GetBindingValueClass(NSString) (Inherited from NSObject)
GetBoundingBox(Double)

Returns the bounding box of the Model IO object at the specified time.

(Inherited from MDLObject)
GetComponent(Protocol)

Gets this object's component that conforms to protocol.

(Inherited from MDLObject)
GetComponent(Type)

Gets this object's component that matches the supplied type.

(Inherited from MDLObject)
GetDictionaryOfValuesFromKeys(NSString[])

Retrieves the values of the specified keys.

(Inherited from NSObject)
GetHashCode()

Generates a hash code for the current instance.

(Inherited from NSObject)
GetMethodForSelector(Selector) (Inherited from NSObject)
GetNativeField(String) (Inherited from NSObject)
GetNativeHash() (Inherited from NSObject)
GetObject(String)

Returns the Model IO object at the specified path.

(Inherited from MDLObject)
GetVertexAttributeData(String, MDLVertexFormat)
Init() (Inherited from NSObject)
InitializeHandle(IntPtr) (Inherited from NSObject)
InitializeHandle(IntPtr, String) (Inherited from NSObject)
Invoke(Action, Double) (Inherited from NSObject)
Invoke(Action, TimeSpan) (Inherited from NSObject)
InvokeOnMainThread(Action) (Inherited from NSObject)
InvokeOnMainThread(Selector, NSObject)

Invokes synchrously the specified code on the main UI thread.

(Inherited from NSObject)
IsComponentConforming(Protocol)

Returns the component that belongs to the object and conforms to the protocol, or null if none of this object's components conform.

(Inherited from MDLObject)
IsEqual(NSObject) (Inherited from NSObject)
IsKindOfClass(Class) (Inherited from NSObject)
IsMemberOfClass(Class) (Inherited from NSObject)
MakeVerticesUnique()

Developers should not use this deprecated method. Developers should use the 'NSError' overload.

MakeVerticesUnique(NSError)
MarkDirty()

Promotes a regular peer object (IsDirectBinding is true) into a toggleref object.

(Inherited from NSObject)
MutableCopy()

Creates a mutable copy of the specified NSObject.

(Inherited from NSObject)
ObjectDidEndEditing(NSObject) (Inherited from NSObject)
ObserveValue(NSString, NSObject, NSDictionary, IntPtr)

Indicates that the value at the specified keyPath relative to this object has changed.

(Inherited from NSObject)
PerformSelector(Selector) (Inherited from NSObject)
PerformSelector(Selector, NSObject) (Inherited from NSObject)
PerformSelector(Selector, NSObject, Double)

Invokes the selector on the current instance and if the obj is not null, it passes this as its single parameter.

(Inherited from NSObject)
PerformSelector(Selector, NSObject, Double, NSString[]) (Inherited from NSObject)
PerformSelector(Selector, NSObject, NSObject) (Inherited from NSObject)
PerformSelector(Selector, NSThread, NSObject, Boolean) (Inherited from NSObject)
PerformSelector(Selector, NSThread, NSObject, Boolean, NSString[]) (Inherited from NSObject)
PrepareForInterfaceBuilder() (Inherited from NSObject)
RemoveAttribute(String)
RemoveObserver(NSObject, NSString)

Stops the specified observer from receiving further notifications of changed values for the specified keyPath.

(Inherited from NSObject)
RemoveObserver(NSObject, NSString, IntPtr)

Stops the specified observer from receiving further notifications of changed values for the specified keyPath and context.

(Inherited from NSObject)
RemoveObserver(NSObject, String)

Stops the specified observer from receiving further notifications of changed values for the specified keyPath.

(Inherited from NSObject)
RemoveObserver(NSObject, String, IntPtr)

Stops the specified observer from receiving further notifications of changed values for the specified keyPath and context.

(Inherited from NSObject)
ReplaceAttribute(String, MDLVertexAttributeData)
RespondsToSelector(Selector)

Whether this object recognizes the specified selector.

(Inherited from NSObject)
SetComponent(IMDLComponent, Protocol)

Associates component with this MDLOBject for the specified protocol.

(Inherited from MDLObject)
SetComponent(IMDLComponent, Type)

Makes component the object to provide for the specified type.

(Inherited from MDLObject)
SetNativeField(String, NSObject) (Inherited from NSObject)
SetNilValueForKey(NSString)

Sets the value of the specified key to null.

(Inherited from NSObject)
SetValueForKey(NSObject, NSString)

Sets the value of the property specified by the key to the specified value.

(Inherited from NSObject)
SetValueForKeyPath(IntPtr, NSString)

A constructor used when creating managed representations of unmanaged objects; Called by the runtime.

(Inherited from NSObject)
SetValueForKeyPath(NSObject, NSString)

Sets the value of a property that can be reached using a keypath.

(Inherited from NSObject)
SetValueForUndefinedKey(NSObject, NSString)

Indicates an attempt to write a value to an undefined key. If not overridden, raises an NSUndefinedKeyException.

(Inherited from NSObject)
SetValuesForKeysWithDictionary(NSDictionary)

Sets the values of this NSObject to those in the specified dictionary.

(Inherited from NSObject)
ToString()

Returns a string representation of the value of the current instance.

(Inherited from NSObject)
Unbind(NSString) (Inherited from NSObject)
Unbind(String) (Inherited from NSObject)
UpdateAttribute(String, MDLVertexAttributeData)
ValueForKey(NSString)

Returns the value of the property associated with the specified key.

(Inherited from NSObject)
ValueForKeyPath(NSString)

Returns the value of a property that can be reached using a keypath.

(Inherited from NSObject)
ValueForUndefinedKey(NSString)

Indicates an attempt to read a value of an undefined key. If not overridden, raises an NSUndefinedKeyException.

(Inherited from NSObject)
WillChange(NSKeyValueChange, NSIndexSet, NSString)

Indicates that the values of the specified indices in the specified key are about to change.

(Inherited from NSObject)
WillChange(NSString, NSKeyValueSetMutationKind, NSSet) (Inherited from NSObject)
WillChangeValue(String)

Indicates that the value of the specified key is about to change.

(Inherited from NSObject)

Extension Methods

ObjectDidBeginEditing(NSObject, INSEditor)
ObjectDidEndEditing(NSObject, INSEditor)
GetValidModes(NSObject, NSFontPanel)
ValidateToolbarItem(NSObject, NSToolbarItem)
GetDebugDescription(INSObjectProtocol)
AcceptsPreviewPanelControl(NSObject, QLPreviewPanel)
BeginPreviewPanelControl(NSObject, QLPreviewPanel)
EndPreviewPanelControl(NSObject, QLPreviewPanel)
GetAccessibilityCustomRotors(NSObject)

Gets the array of UIAccessibilityCustomRotor objects appropriate for this object.

SetAccessibilityCustomRotors(NSObject, UIAccessibilityCustomRotor[])

Sets the array of UIAccessibilityCustomRotor objects appropriate for this object.

Applies to

See also