SCNGeometrySource Classe
Definição
Importante
Algumas informações se referem a produtos de pré-lançamento que podem ser substancialmente modificados antes do lançamento. A Microsoft não oferece garantias, expressas ou implícitas, das informações aqui fornecidas.
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
- 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 |
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 |
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 |
SetAccessibilityCustomRotors(NSObject, UIAccessibilityCustomRotor[]) |
Define a matriz de UIAccessibilityCustomRotor objetos apropriados para |