Mesh

Mesh class

Ein Netz besteht aus vielen n-seitigen Polygonen.

public class Mesh : Geometry, IEnumerable<int[]>, IMeshConvertible

Konstrukteure

NameBeschreibung
Mesh()Initialisiert eine neue Instanz vonMesh Klasse.
Mesh(Bitmap)Konstruieren Sie ein Netz unter Verwendung einer angegebenen Höhenkarte. Wenn das Pixelformat der Höhenkarte mehrere Komponenten enthält, wird die erste (normalerweise die rote) Komponente als Höhenwert (z) verwendet. Die x- und y-Komponenten des Kontrollpunkts sind normalisierte Pixelkoordinaten .
Mesh(string)Initialisiert eine neue Instanz vonMesh Klasse.
Mesh(Bitmap, Matrix4)Konstruieren Sie ein Netz unter Verwendung einer angegebenen Höhenkarte. Wenn das Pixelformat der Höhenkarte mehrere Komponenten enthält, wird die erste (normalerweise die rote) Komponente als Höhenwert (z) verwendet. Die x- und y-Komponenten des Kontrollpunkts sind normalisierte Pixelkoordinaten .
Mesh(Bitmap, bool, Matrix4)Konstruieren Sie ein Netz unter Verwendung einer angegebenen Höhenkarte. Wenn das Pixelformat der Höhenkarte mehrere Komponenten enthält, wird die erste (normalerweise die rote) Komponente als Höhenwert (z) verwendet. Die x- und y-Komponenten des Kontrollpunkts sind normalisierte Pixelkoordinaten .

Eigenschaften

NameBeschreibung
CastShadows { get; set; }Ruft ab oder legt fest, ob diese Geometrie Schatten werfen kann
ControlPoints { get; }Ruft alle Kontrollpunkte ab
Deformers { get; }Ruft alle Verformungen ab, die dieser Geometrie zugeordnet sind.
Edges { get; }Ruft Kanten des Netzes ab. Edge ist im Mesh optional, kann also leer sein.
Excluded { get; set; }Ruft ab oder legt fest, ob diese Entität während des Exports ausgeschlossen werden soll.
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
PolygonCount { get; }Ruft die Anzahl der Polygone ab
Polygons { get; }Ruft die Polygondefinition des Netzes ab
Properties { get; }Ruft die Sammlung aller Eigenschaften ab.
ReceiveShadows { get; set; }Ruft ab oder legt fest, ob diese Geometrie Schatten empfangen kann.
Scene { get; }Ruft die Szene ab, zu der dieses Objekt gehört
VertexElements { get; }Ruft alle Vertex-Elemente ab
Visible { get; set; }Ruft ab oder legt fest, ob die Geometrie sichtbar ist

Methoden

NameBeschreibung
AddElement(VertexElement)Fügt der aktuellen Geometrie ein vorhandenes Stützpunktelement hinzu
CreateElement(VertexElementType)Erstellt ein Scheitelpunktelement mit dem angegebenen Typ und fügt es der Geometrie hinzu.
CreateElement(VertexElementType, MappingMode, ReferenceMode)Erstellt ein Scheitelpunktelement mit dem angegebenen Typ und fügt es der Geometrie hinzu.
CreateElementUV(TextureMapping)Erstellt einVertexElementUV mit gegebenem Textur-Mapping-Typ.
CreateElementUV(TextureMapping, MappingMode, ReferenceMode)Erstellt einVertexElementUV mit gegebenem Textur-Mapping-Typ.
CreatePolygon(int[])Erzeugt ein neues Polygon, in dem alle Scheitelpunkte definiert sindindices . Um ein Polygon Eckpunkt für Eckpunkt zu erstellen, verwenden Sie bittePolygonBuilder .
CreatePolygon(int, int, int)Erstellen Sie ein Polygon mit 3 Scheitelpunkten (Dreieck)
CreatePolygon(int[], int, int)Erzeugt ein neues Polygon, in dem alle Scheitelpunkte definiert sindindices . Um ein Polygon Eckpunkt für Eckpunkt zu erstellen, verwenden Sie bittePolygonBuilder .
CreatePolygon(int, int, int, int)Erstellen Sie ein Polygon mit 4 Scheitelpunkten (Quad)
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.
GetDeformers<T>()
GetElement(VertexElementType)Ruft ein Scheitelpunktelement mit dem angegebenen Typ ab
virtual GetEntityRendererKey()Ruft den Schlüssel des Entity-Renderers ab, der im Renderer registriert ist
GetEnumerator()Ruft den Enumerator für jedes innere Polygon ab.
GetPolygonSize(int)Ruft die Scheitelpunktzahl des angegebenen Polygons ab.
GetProperty(string)Holen Sie sich den Wert der angegebenen Eigenschaft
GetVertexElementOfUV(TextureMapping)erhält aVertexElementUV Instanz mit gegebenem Textur-Mapping type
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
ToMesh()Ruft die Mesh-Instanz von der aktuellen Entität ab.

Beispiele

So fügen Sie ein Polygon im Netz hinzu: Reise durch alle Polygone im Mesh:

int[] indices = new int[] {0, 1, 2};
mesh.CreatePolygon(indices);
foreach(int[] polygon in mesh)
{
    // Umgang mit Polygon
}

Siehe auch