Compartilhar via


SCNGeometrySource Classe

Definição

Fornece dados de vértice que, em conjunto com SCNGeometryElements, definem um objeto 3D.

[Foundation.Register("SCNGeometrySource", true)]
[ObjCRuntime.Introduced(ObjCRuntime.PlatformName.WatchOS, 3, 0, ObjCRuntime.PlatformArchitecture.All, null)]
[ObjCRuntime.Introduced(ObjCRuntime.PlatformName.iOS, 8, 0, ObjCRuntime.PlatformArchitecture.All, null)]
public class SCNGeometrySource : Foundation.NSObject, Foundation.INSSecureCoding, IDisposable
[Foundation.Register("SCNGeometrySource", true)]
[ObjCRuntime.Introduced(ObjCRuntime.PlatformName.WatchOS, 3, 0, ObjCRuntime.PlatformArchitecture.All, null)]
[ObjCRuntime.Introduced(ObjCRuntime.PlatformName.iOS, 8, 0, ObjCRuntime.PlatformArchitecture.All, null)]
[ObjCRuntime.Introduced(ObjCRuntime.PlatformName.MacOSX, 10, 8, ObjCRuntime.PlatformArchitecture.All, null)]
public class SCNGeometrySource : Foundation.NSObject, Foundation.INSSecureCoding, IDisposable
type SCNGeometrySource = class
    inherit NSObject
    interface INSCoding
    interface INativeObject
    interface IDisposable
    interface INSSecureCoding
Herança
SCNGeometrySource
Atributos
Implementações

Comentários

Os desenvolvedores que desejam gerar objetos personalizados SCNGeometry programaticamente usam o M:SceneKit.SCNGeometry.Create(SceneKit.SCNGeometrySource[], SceneKit.SCNGeometryElement[]* . A forma e o SCNGeometrySource número dos objetos variam de acordo com a maneira como o desenvolvedor está descrevendo a geometria (por exemplo, se os dados de vértice vêm como uma série de trigêmeos que descrevem triângulos ou uma série móvel que descreve uma faixa de triângulos) e se a geometria será simplesmente colorida ou terá um mapa de textura.

O código a seguir demonstra o código personalizado para criar uma pirâmide personalizada de quatro lados. Este exemplo mostra o uso de vértices, definindo triângulos, nos quais uma única textura é mapeada. Observe como valores de índice específicos dentro locs de são usados para definir indices e como a ordenação dentro locs afeta normals e txCoords. Além disso, observe como os trigêmeos em indices são vinculados a SCNGeometryPrimitiveType.Triangles.

//Lower-left
var a = new SCNVector3(-1, -1, 0);
//Upper-right
var b = new SCNVector3(1, 1, 0);

var halfX = (c.X + a.X) / 2;
var halfY = (c.Y + a.Y) / 2;
var halfZ = (c.Z + a.Z) / 2;

var b = new SCNVector3(a.X, c.Y, halfZ);
var d = new SCNVector3(c.X, a.Y, halfZ);
//Elevate the midpoint so that it's clearly a pyramid
var midPoint = new SCNVector3(halfX, halfY, halfZ + 1.0);

//The vertices of the geometry
var locs = new [] {
	a, b, c, d, midPoint
};
var locSource = SCNGeometrySource.FromVertices(locs);

//Note that this relies on the ordering of locs above
//and it defines triangles (could be triangle strips, etc.)
var indices = new [] {
	//Triangles are defined counter-clockwise!
	4, 1, 0,
	1, 4, 2,
	2, 4, 3,
	3, 4, 0
};


var idxArray = new byte[indices.Length][];
for(int i = 0; i < idxArray.Length; i++)
{
	idxArray[i] = BitConverter.GetBytes(indices[i]);
}
var idxData = NSData.FromArray(idxArray.SelectMany(id => id).ToArray());

//Note that this relies on indices defining triangles
var element = SCNGeometryElement.FromData(idxData, SCNGeometryPrimitiveType.Triangles, indices.Length / 3, sizeof(int));

//Normals are relative to geometry
var normals = new [] {
	new SCNVector3(0, 0, 1),
	new SCNVector3(0, 0, 1),
	new SCNVector3(0, 0, 1),
	new SCNVector3(0, 0, 1),
	new SCNVector3(0, 0, 1),
};;
var normSource = SCNGeometrySource.FromNormals(normals);

//These texture coords will cause the texture to wrap 
var txCoords = new [] {
	new CGPoint(0, 0),
	new CGPoint(0, 1),
	new CGPoint(1, 1),
	new CGPoint(1, 0),
  new CGPoint(0.5, 0.5)
};

var txCoordsSource = SCNGeometrySource.FromTextureCoordinates(txCoords);

var geometry = SCNGeometry.Create(new [] { locSource, normSource, txCoordsSource }, new [] { element });

Construtores

SCNGeometrySource()

Construtor padrão, inicializa uma nova instância dessa classe.

SCNGeometrySource(IntPtr)

Um construtor usado ao criar representações gerenciadas de objetos não gerenciados; Chamado pelo runtime.

SCNGeometrySource(NSCoder)

Um construtor que inicializa o objeto dos dados armazenados no objeto unarchiver.

SCNGeometrySource(NSObjectFlag)

Construtor para chamar em classes derivadas para ignorar a inicialização e simplesmente alocar o objeto.

Propriedades

BytesPerComponent

O tamanho, em bytes, dos dados de vetor subjacentes.

Class

Fornece dados de vértice que, em conjunto com SCNGeometryElements, definem um objeto 3D.

(Herdado de NSObject)
ClassHandle

O identificador dessa classe.

ComponentsPerVector

O número de componentes por elemento vetor nessa origem.

Data

O buffer de dados subjacente.

DataOffset

A distância, em bytes, do início ao primeiro elemento de Data vértice.

DataStride

O número de bytes entre elementos de vértice em Data.

DebugDescription

Uma descrição significativa do desenvolvedor desse objeto.

(Herdado de NSObject)
Description

Descrição do objeto, a versão Objective-C de ToString.

(Herdado de NSObject)
FloatComponents

Se os dados do componente de vértice são feitos de nfloat valores.

Handle

Manipule (ponteiro) para a representação de objeto não gerenciado.

(Herdado de NSObject)
IsDirectBinding

Fornece dados de vértice que, em conjunto com SCNGeometryElements, definem um objeto 3D.

(Herdado de NSObject)
IsProxy

Fornece dados de vértice que, em conjunto com SCNGeometryElements, definem um objeto 3D.

(Herdado de NSObject)
RetainCount

Retorna a contagem de retenção objective-C atual para o objeto .

(Herdado de NSObject)
Self

Fornece dados de vértice que, em conjunto com SCNGeometryElements, definem um objeto 3D.

(Herdado de NSObject)
Semantic

Corresponde ao SCNGeometrySourceSemantic valor dessa origem.

Superclass

Fornece dados de vértice que, em conjunto com SCNGeometryElements, definem um objeto 3D.

(Herdado de NSObject)
SuperHandle

Identificador usado para representar os métodos na classe base para esse NSObject.

(Herdado de NSObject)
VectorCount

O número total de vetores no subjacente Data.

Zone

Fornece dados de vértice que, em conjunto com SCNGeometryElements, definem um objeto 3D.

(Herdado de NSObject)

Métodos

AddObserver(NSObject, NSString, NSKeyValueObservingOptions, IntPtr)

Registra um objeto para ser observado externamente (usando NSString keyPath).   As alterações observadas são expedidas para o método de objeto ObserveValue(NSString, NSObject, NSDictionary, IntPtr) do observador.

(Herdado de NSObject)
AddObserver(NSObject, String, NSKeyValueObservingOptions, IntPtr)

Registra um objeto para ser observado externamente (usando keyPath de cadeia de caracteres).   As alterações observadas são expedidas para o método de objeto ObserveValue(NSString, NSObject, NSDictionary, IntPtr) do observador.

(Herdado de NSObject)
AddObserver(NSString, NSKeyValueObservingOptions, Action<NSObservedChange>)

Registra um objeto para ser observado externamente usando um método arbitrário.

(Herdado de NSObject)
AddObserver(String, NSKeyValueObservingOptions, Action<NSObservedChange>)

Registra um objeto para ser observado externamente usando um método arbitrário.

(Herdado de NSObject)
AwakeFromNib()

Chamado depois que o objeto foi carregado do arquivo nib. Os substituidores devem chamar base. AwakeFromNib().

(Herdado de NSObject)
BeginInvokeOnMainThread(Action)

Fornece dados de vértice que, em conjunto com SCNGeometryElements, definem um objeto 3D.

(Herdado de NSObject)
BeginInvokeOnMainThread(Selector, NSObject)

Invoca de forma assíncrona o código especificado no thread de interface do usuário principal.

(Herdado de NSObject)
Bind(NSString, NSObject, String, NSDictionary)

Fornece dados de vértice que, em conjunto com SCNGeometryElements, definem um objeto 3D.

(Herdado de NSObject)
Bind(String, NSObject, String, NSDictionary)
Obsoleto.

Fornece dados de vértice que, em conjunto com SCNGeometryElements, definem um objeto 3D.

(Herdado de NSObject)
BindingInfo(String)
Obsoleto.

Fornece dados de vértice que, em conjunto com SCNGeometryElements, definem um objeto 3D.

(Herdado de NSObject)
BindingOptionDescriptions(String)
Obsoleto.

Fornece dados de vértice que, em conjunto com SCNGeometryElements, definem um objeto 3D.

(Herdado de NSObject)
BindingValueClass(String)
Obsoleto.

Fornece dados de vértice que, em conjunto com SCNGeometryElements, definem um objeto 3D.

(Herdado de NSObject)
CommitEditing()

Fornece dados de vértice que, em conjunto com SCNGeometryElements, definem um objeto 3D.

(Herdado de NSObject)
CommitEditing(NSObject, Selector, IntPtr)

Fornece dados de vértice que, em conjunto com SCNGeometryElements, definem um objeto 3D.

(Herdado de NSObject)
ConformsToProtocol(IntPtr)

Invocado para determinar se esse objeto implementa o protocolo especificado.

(Herdado de NSObject)
Copy()

Executa uma cópia do objeto Objective-C subjacente.

(Herdado de NSObject)
DangerousAutorelease()

Fornece dados de vértice que, em conjunto com SCNGeometryElements, definem um objeto 3D.

(Herdado de NSObject)
DangerousRelease()

Fornece dados de vértice que, em conjunto com SCNGeometryElements, definem um objeto 3D.

(Herdado de NSObject)
DangerousRetain()

Fornece dados de vértice que, em conjunto com SCNGeometryElements, definem um objeto 3D.

(Herdado de NSObject)
DidChange(NSKeyValueChange, NSIndexSet, NSString)

Indica que ocorreu uma alteração nos índices de uma relação para muitos.

(Herdado de NSObject)
DidChange(NSString, NSKeyValueSetMutationKind, NSSet)

Fornece dados de vértice que, em conjunto com SCNGeometryElements, definem um objeto 3D.

(Herdado de NSObject)
DidChangeValue(String)

Indica que ocorreu uma alteração na chave especificada.

(Herdado de NSObject)
Dispose()

Libera os recursos usados pelo objeto NSObject.

(Herdado de NSObject)
Dispose(Boolean)

Libera os recursos usados pelo objeto NSObject.

(Herdado de NSObject)
DoesNotRecognizeSelector(Selector)

Indica que esse objeto não reconhece o seletor especificado.

(Herdado de NSObject)
EncodeTo(NSCoder)

Codifica o estado do objeto no codificador fornecido

Equals(NSObject)

Fornece dados de vértice que, em conjunto com SCNGeometryElements, definem um objeto 3D.

(Herdado de NSObject)
Equals(Object)

Fornece dados de vértice que, em conjunto com SCNGeometryElements, definem um objeto 3D.

(Herdado de NSObject)
ExposedBindings()

Fornece dados de vértice que, em conjunto com SCNGeometryElements, definem um objeto 3D.

(Herdado de NSObject)
FromData(NSData, NSString, nint, Boolean, nint, nint, nint, nint)

Fornece dados de vértice que, em conjunto com SCNGeometryElements, definem um objeto 3D.

FromData(NSData, SCNGeometrySourceSemantics, nint, Boolean, nint, nint, nint, nint)

Fornece dados de vértice que, em conjunto com SCNGeometryElements, definem um objeto 3D.

FromMetalBuffer(IMTLBuffer, MTLVertexFormat, NSString, nint, nint, nint)

Método de fábrica para criar um novo SCNGeometrySource a partir de um buffer de dados.

FromMetalBuffer(IMTLBuffer, MTLVertexFormat, SCNGeometrySourceSemantics, nint, nint, nint)

Método de fábrica para criar um novo SCNGeometrySource a partir de um buffer de dados.

FromNormals(SCNVector3[])

Método de fábrica que cria uma origem para normais de vértice.

FromTextureCoordinates(CGPoint[])

Método de fábrica que cria uma origem para coordenadas de textura.

FromVertices(SCNVector3[])

Método de fábrica para criar uma fonte para dados de vértice.

GetBindingInfo(NSString)

Fornece dados de vértice que, em conjunto com SCNGeometryElements, definem um objeto 3D.

(Herdado de NSObject)
GetBindingOptionDescriptions(NSString)

Fornece dados de vértice que, em conjunto com SCNGeometryElements, definem um objeto 3D.

(Herdado de NSObject)
GetBindingValueClass(NSString)

Fornece dados de vértice que, em conjunto com SCNGeometryElements, definem um objeto 3D.

(Herdado de NSObject)
GetDictionaryOfValuesFromKeys(NSString[])

Recupera os valores das chaves especificadas.

(Herdado de NSObject)
GetHashCode()

Gera um código hash para a instância atual.

(Herdado de NSObject)
GetMethodForSelector(Selector)

Fornece dados de vértice que, em conjunto com SCNGeometryElements, definem um objeto 3D.

(Herdado de NSObject)
GetNativeField(String)
Obsoleto.

Fornece dados de vértice que, em conjunto com SCNGeometryElements, definem um objeto 3D.

(Herdado de NSObject)
GetNativeHash()

Fornece dados de vértice que, em conjunto com SCNGeometryElements, definem um objeto 3D.

(Herdado de NSObject)
Init()

Fornece dados de vértice que, em conjunto com SCNGeometryElements, definem um objeto 3D.

(Herdado de NSObject)
InitializeHandle(IntPtr)

Fornece dados de vértice que, em conjunto com SCNGeometryElements, definem um objeto 3D.

(Herdado de NSObject)
InitializeHandle(IntPtr, String)

Fornece dados de vértice que, em conjunto com SCNGeometryElements, definem um objeto 3D.

(Herdado de NSObject)
Invoke(Action, Double)

Fornece dados de vértice que, em conjunto com SCNGeometryElements, definem um objeto 3D.

(Herdado de NSObject)
Invoke(Action, TimeSpan)

Fornece dados de vértice que, em conjunto com SCNGeometryElements, definem um objeto 3D.

(Herdado de NSObject)
InvokeOnMainThread(Action)

Fornece dados de vértice que, em conjunto com SCNGeometryElements, definem um objeto 3D.

(Herdado de NSObject)
InvokeOnMainThread(Selector, NSObject)

Invoca de forma síncrona o código especificado no thread principal da interface do usuário.

(Herdado de NSObject)
IsEqual(NSObject)

Fornece dados de vértice que, em conjunto com SCNGeometryElements, definem um objeto 3D.

(Herdado de NSObject)
IsKindOfClass(Class)

Fornece dados de vértice que, em conjunto com SCNGeometryElements, definem um objeto 3D.

(Herdado de NSObject)
IsMemberOfClass(Class)

Fornece dados de vértice que, em conjunto com SCNGeometryElements, definem um objeto 3D.

(Herdado de NSObject)
MarkDirty()

Promove um objeto par regular (IsDirectBinding é true) em um objeto toggleref.

(Herdado de NSObject)
MutableCopy()

Cria uma cópia mutável do NSObject especificado.

(Herdado de NSObject)
ObjectDidEndEditing(NSObject)

Fornece dados de vértice que, em conjunto com SCNGeometryElements, definem um objeto 3D.

(Herdado de NSObject)
ObserveValue(NSString, NSObject, NSDictionary, IntPtr)

Indica que o valor no keyPath especificado em relação a esse objeto foi alterado.

(Herdado de NSObject)
PerformSelector(Selector)

Fornece dados de vértice que, em conjunto com SCNGeometryElements, definem um objeto 3D.

(Herdado de NSObject)
PerformSelector(Selector, NSObject)

Fornece dados de vértice que, em conjunto com SCNGeometryElements, definem um objeto 3D.

(Herdado de NSObject)
PerformSelector(Selector, NSObject, Double)

Invoca o seletor na instância atual e, se o obj não for nulo, ele passará isso como seu único parâmetro.

(Herdado de NSObject)
PerformSelector(Selector, NSObject, Double, NSString[])

Fornece dados de vértice que, em conjunto com SCNGeometryElements, definem um objeto 3D.

(Herdado de NSObject)
PerformSelector(Selector, NSObject, NSObject)

Fornece dados de vértice que, em conjunto com SCNGeometryElements, definem um objeto 3D.

(Herdado de NSObject)
PerformSelector(Selector, NSThread, NSObject, Boolean)

Fornece dados de vértice que, em conjunto com SCNGeometryElements, definem um objeto 3D.

(Herdado de NSObject)
PerformSelector(Selector, NSThread, NSObject, Boolean, NSString[])

Fornece dados de vértice que, em conjunto com SCNGeometryElements, definem um objeto 3D.

(Herdado de NSObject)
PrepareForInterfaceBuilder()

Fornece dados de vértice que, em conjunto com SCNGeometryElements, definem um objeto 3D.

(Herdado de NSObject)
RemoveObserver(NSObject, NSString)

Impede que o observador especificado receba mais notificações de valores alterados para o keyPath especificado.

(Herdado de NSObject)
RemoveObserver(NSObject, NSString, IntPtr)

Impede que o observador especificado receba mais notificações de valores alterados para o keyPath e o contexto especificados.

(Herdado de NSObject)
RemoveObserver(NSObject, String)

Impede que o observador especificado receba mais notificações de valores alterados para o keyPath especificado.

(Herdado de NSObject)
RemoveObserver(NSObject, String, IntPtr)

Impede que o observador especificado receba mais notificações de valores alterados para o keyPath e o contexto especificados.

(Herdado de NSObject)
RespondsToSelector(Selector)

Se esse objeto reconhece o seletor especificado.

(Herdado de NSObject)
SetNativeField(String, NSObject)
Obsoleto.

Fornece dados de vértice que, em conjunto com SCNGeometryElements, definem um objeto 3D.

(Herdado de NSObject)
SetNilValueForKey(NSString)

Define o valor da chave especificada como nulo.

(Herdado de NSObject)
SetValueForKey(NSObject, NSString)

Define o valor da propriedade especificada pela chave para o valor especificado.

(Herdado de NSObject)
SetValueForKeyPath(IntPtr, NSString)

Um construtor usado ao criar representações gerenciadas de objetos não gerenciados; Chamado pelo runtime.

(Herdado de NSObject)
SetValueForKeyPath(NSObject, NSString)

Define o valor de uma propriedade que pode ser acessada usando um keypath.

(Herdado de NSObject)
SetValueForUndefinedKey(NSObject, NSString)

Indica uma tentativa de gravar um valor em uma chave indefinida. Se não for substituído, gerará uma NSUndefinedKeyException.

(Herdado de NSObject)
SetValuesForKeysWithDictionary(NSDictionary)

Define os valores desse NSObject como aqueles no dicionário especificado.

(Herdado de NSObject)
ToString()

Retorna uma representação de cadeia de caracteres do valor da instância atual.

(Herdado de NSObject)
Unbind(NSString)

Fornece dados de vértice que, em conjunto com SCNGeometryElements, definem um objeto 3D.

(Herdado de NSObject)
Unbind(String)
Obsoleto.

Fornece dados de vértice que, em conjunto com SCNGeometryElements, definem um objeto 3D.

(Herdado de NSObject)
ValueForKey(NSString)

Retorna o valor da propriedade associada à chave especificada.

(Herdado de NSObject)
ValueForKeyPath(NSString)

Retorna o valor de uma propriedade que pode ser acessada usando um keypath.

(Herdado de NSObject)
ValueForUndefinedKey(NSString)

Indica uma tentativa de ler um valor de uma chave indefinida. Se não for substituído, gerará uma NSUndefinedKeyException.

(Herdado de NSObject)
WillChange(NSKeyValueChange, NSIndexSet, NSString)

Indica que os valores dos índices especificados na chave especificada estão prestes a ser alterados.

(Herdado de NSObject)
WillChange(NSString, NSKeyValueSetMutationKind, NSSet)

Fornece dados de vértice que, em conjunto com SCNGeometryElements, definem um objeto 3D.

(Herdado de NSObject)
WillChangeValue(String)

Indica que o valor da chave especificada está prestes a ser alterado.

(Herdado de NSObject)

Métodos de Extensão

ObjectDidBeginEditing(NSObject, INSEditor)

Fornece dados de vértice que, em conjunto com SCNGeometryElements, definem um objeto 3D.

ObjectDidEndEditing(NSObject, INSEditor)

Fornece dados de vértice que, em conjunto com SCNGeometryElements, definem um objeto 3D.

GetValidModes(NSObject, NSFontPanel)

Fornece dados de vértice que, em conjunto com SCNGeometryElements, definem um objeto 3D.

ValidateToolbarItem(NSObject, NSToolbarItem)

Fornece dados de vértice que, em conjunto com SCNGeometryElements, definem um objeto 3D.

GetDebugDescription(INSObjectProtocol)

Fornece dados de vértice que, em conjunto com SCNGeometryElements, definem um objeto 3D.

AcceptsPreviewPanelControl(NSObject, QLPreviewPanel)

Fornece dados de vértice que, em conjunto com SCNGeometryElements, definem um objeto 3D.

BeginPreviewPanelControl(NSObject, QLPreviewPanel)

Fornece dados de vértice que, em conjunto com SCNGeometryElements, definem um objeto 3D.

EndPreviewPanelControl(NSObject, QLPreviewPanel)

Fornece dados de vértice que, em conjunto com SCNGeometryElements, definem um objeto 3D.

GetAccessibilityCustomRotors(NSObject)

Obtém a matriz de UIAccessibilityCustomRotor objetos apropriados para this o objeto .

SetAccessibilityCustomRotors(NSObject, UIAccessibilityCustomRotor[])

Define a matriz de UIAccessibilityCustomRotor objetos apropriados para this o objeto .

Aplica-se a

Confira também