TriMesh

TriMesh class

Ein TriMesh enthält Rohdaten, die von der GPU direkt verwendet werden können. Diese Klasse ist ein Dienstprogramm, das beim Erstellen eines Netzes hilft, das nur Daten pro Scheitelpunkt enthält.

public class TriMesh : Entity, IEnumerable<Vertex>

Konstrukteure

NameBeschreibung
TriMesh(string, VertexDeclaration)Initialisiert eine Instanz vonTriMesh

Eigenschaften

NameBeschreibung
Capacity { get; }Die Kapazität der vorab zugewiesenen Scheitelpunkte.
Excluded { get; set; }Ruft ab oder legt fest, ob diese Entität während des Exports ausgeschlossen werden soll.
IndicesCount { get; }Die Anzahl der Indizes in diesemTriMesh
virtual Name { get; set; }Ruft den Namen ab oder legt ihn fest.
ParentNode { get; set; }Ruft den ersten übergeordneten Knoten ab oder legt ihn fest. Wenn der erste übergeordnete Knoten festgelegt wird, wird diese Entität von anderen übergeordneten Knoten getrennt.
ParentNodes { get; }Ruft alle übergeordneten Knoten ab, eine Entität kann an mehrere übergeordnete Knoten angehängt werden, um Geometrie zu instanziieren
Properties { get; }Ruft die Sammlung aller Eigenschaften ab.
Scene { get; }Ruft die Szene ab, zu der dieses Objekt gehört
UnmergedVerticesCount { get; }Die Anzahl der nicht zusammengeführten Scheitelpunkte, die vorbeigegangen sindBeginVertex undEndVertex .
VertexDeclaration { get; }Das Vertex-Layout derTriMesh .
VerticesCount { get; }Die Anzahl der Scheitelpunkte in diesemTriMesh
VerticesSizeInBytes { get; }Die Gesamtgröße aller Scheitelpunkte in Bytes

Methoden

NameBeschreibung
static CopyFrom(TriMesh, VertexDeclaration)Kopieren Sie dieTriMeshaus der Eingabe mit neuem Scheitelpunkt layout
static FromMesh(Mesh, bool)Erstellt ein TriMesh aus einem gegebenen Netzobjekt, die Vertex-Deklaration basiert auf der Struktur des Eingabenetzes.
static FromMesh(VertexDeclaration, Mesh)Erstellen Sie ein TriMesh aus einem gegebenen Mesh-Objekt mit einem gegebenen Scheitelpunkt-Layout.
static FromRawData(VertexDeclaration, byte[], int[], bool)TriMesh aus Rohdaten erstellen
BeginVertex()Beginnen Sie mit dem Hinzufügen von Scheitelpunkt
EndVertex()Ende des Hinzufügens von Scheitelpunkt
FindProperty(string)Findet die Eigenschaft. Es kann eine dynamische Eigenschaft sein (erstellt von CreateDynamicProperty/SetProperty) oder eine native Eigenschaft (identifiziert durch ihren Namen)
GetBoundingBox()Ruft den Begrenzungsrahmen des aktuellen Objekts in seinem Objektraum-Koordinatensystem ab.
virtual GetEntityRendererKey()Ruft den Schlüssel des Entity-Renderers ab, der im Renderer registriert ist
GetEnumerator()Abrufen des Enumerators zum AufzählenVertex
GetProperty(string)Holen Sie sich den Wert der angegebenen Eigenschaft
IndicesToArray(out int[])
IndicesToArray(out ushort[])
LoadVerticesFromBytes(byte[])Vertices aus Bytes laden, die Länge der Bytes muss ein ganzzahliges Vielfaches der Vertexgröße sein.
ReadDouble(int, VertexField)Lesen Sie das doppelte Feld
ReadFloat(int, VertexField)Float-Feld lesen
ReadFVector2(int, VertexField)Lesen Sie das Vektor2-Feld
ReadFVector3(int, VertexField)Lesen Sie das Vektor3-Feld
ReadFVector4(int, VertexField)Lesen Sie das Feld vector4
ReadVector2(int, VertexField)Lesen Sie das Vektor2-Feld
ReadVector3(int, VertexField)Lesen Sie das Vektor3-Feld
ReadVector4(int, VertexField)Lesen Sie das Feld vector4
RemoveProperty(Property)Entfernt eine dynamische Eigenschaft.
RemoveProperty(string)Entfernt die angegebene Eigenschaft identifiziert durch name
SetProperty(string, object)Legt den Wert der angegebenen Eigenschaft fest
override ToString()Ruft die Zeichenfolgendarstellung von abTriMesh
VerticesToArray()Vertices-Daten in Byte-Array konvertieren
Write16bIndicesTo(Stream)Schreiben Sie die Indexdaten als 16-Bit-Integer in den Stream
Write32bIndicesTo(Stream)Schreiben Sie die Indexdaten als 32-Bit-Integer in den Stream
WriteVerticesTo(Stream)Scheitelpunktdaten in den angegebenen Stream schreiben

Siehe auch