TriMesh

Inheritance: java.lang.Object, com.aspose.threed.A3DObject, com.aspose.threed.SceneObject, com.aspose.threed.Entity

All Implemented Interfaces: java.lang.Iterable

public class TriMesh extends Entity implements Iterable<Vertex>

Ein TriMesh enthält Rohdaten, die direkt von der GPU verwendet werden können. Diese Klasse ist ein Hilfswerkzeug zum Erstellen eines Meshes, das nur pro-Vertex-Daten enthält. Beispiel: Der folgende Code zeigt, wie man ein TriMesh mit benutzerdefiniertem Speicherlayout erstellt und es in eine Datei exportiert.

//Define a vertex declaration as {FVector3 Position; FVector3 Normal; FVector2 UV}
              VertexDeclaration vd = new VertexDeclaration();
              vd.addField(VertexFieldDataType.F_VECTOR3, VertexFieldSemantic.POSITION);
              vd.addField(VertexFieldDataType.F_VECTOR3, VertexFieldSemantic.NORMAL);
              vd.addField(VertexFieldDataType.F_VECTOR2, VertexFieldSemantic.UV);
              //convert a mesh to tri-mesh using specified memory layout
              var mesh = (new Sphere()).toMesh();
              var triMesh = TriMesh.fromMesh(vd, mesh);
              //save it to a stream, 115 vertices * 32bytes per vertex
              try(var s = new FileOutputStream("output.bin")) {
                  triMesh.writeVerticesTo(s);
                  //save indices as ushort to stream, 504 indices * 2 bytes per index
                  triMesh.write16bIndicesTo(s);
              }

Konstruktoren

KonstruktorBeschreibung
TriMesh(String name, VertexDeclaration declaration)Initialisieren Sie eine Instanz von TriMesh

Methoden

MethodeBeschreibung
addTriangle(int a, int b, int c)Fügen Sie ein neues Dreieck hinzu
beginVertex()Beginnen Sie mit dem Hinzufügen von Scheitelpunkten
copyFrom(TriMesh input, VertexDeclaration vd)Kopieren Sie das TriMesh aus der Eingabe mit neuem Scheitelpunktlayout
endVertex()Beenden Sie das Hinzufügen von Scheitelpunkten
equals(Object arg0)
findProperty(String propertyName)Findet die Eigenschaft.
fromMesh(Mesh mesh)Erstellen Sie ein TriMesh aus dem angegebenen Mesh-Objekt, wobei die Scheitelpunktdeklaration auf der Struktur des Eingabemeshes basiert.
fromMesh(Mesh mesh, boolean useFloat)Erstellen Sie ein TriMesh aus dem angegebenen Mesh-Objekt, wobei die Scheitelpunktdeklaration auf der Struktur des Eingabemeshes basiert.
fromMesh(VertexDeclaration declaration, Mesh mesh)Erstellen Sie ein TriMesh aus dem angegebenen Mesh-Objekt mit dem angegebenen Scheitelpunktlayout.
fromRawData(VertexDeclaration vd, byte[] vertices, int[] indices, boolean generateVertexMapping)Erstellen Sie ein TriMesh aus Rohdaten
getBoundingBox()Liefert die Begrenzungsbox der aktuellen Entität in ihrem Objekt-Raum-Koordinatensystem.
getCapacity()Die Kapazität der vorab zugewiesenen Scheitelpunkte.
getClass()
getEntityRendererKey()Liefert den Schlüssel des Entitäts-Renderers, der im Renderer registriert ist
getExcluded()Liefert, ob diese Entität beim Exportieren ausgeschlossen werden soll.
getIndicesCount()Die Anzahl der Indizes in diesem TriMesh
getIntIndices()Konvertieren Sie die Indizes in ein 32‑Bit‑Ganzzahl‑Array
getName()Liefert den Namen.
getParentNode()Liefert den ersten übergeordneten Knoten; wenn der erste übergeordnete Knoten gesetzt wird, wird diese Entität von anderen übergeordneten Knoten getrennt.
getParentNodes()Liefert alle übergeordneten Knoten; eine Entität kann für Geometrie-Instanzierung an mehrere übergeordnete Knoten angehängt werden
getProperties()Liefert die Sammlung aller Eigenschaften.
getProperty(String property)Liefere den Wert der angegebenen Eigenschaft
getScene()Liefert die Szene, zu der dieses Objekt gehört
getShortIndices()Konvertieren Sie die Indizes in ein 16‑Bit‑Ganzzahl‑Array
getUnmergedVerticesCount()Die Anzahl der nicht zusammengeführten Scheitelpunkte, die über beginVertex und endVertex übergeben wurden.
getVertexDeclaration()Das Scheitelpunktlayout des TriMesh.
getVerticesCount()Die Anzahl der Scheitelpunkte in diesem TriMesh
getVerticesSizeInBytes()Die Gesamtabmessung aller Scheitelpunkte in Bytes
hashCode()
indicesToArray(int[][] result)Konvertieren Sie die Indizes in ein 32‑Bit‑Ganzzahl‑Array
indicesToArray(short[][] result)Konvertieren Sie die Indizes in ein 16‑Bit‑Ganzzahl‑Array
iterator()Erhalten Sie den Enumerator, um Vertex zu durchlaufen
loadVerticesFromBytes(byte[] verticesInBytes)Laden Sie Scheitelpunkte aus Bytes, die Länge der Bytes muss ein ganzzahliges Vielfaches der Scheitelpunktgröße sein.
notify()
notifyAll()
readDouble(int idx, VertexField field)Lesen Sie das Double‑Feld
readFVector2(int idx, VertexField field)Lesen Sie das Vector2‑Feld
readFVector3(int idx, VertexField field)Lesen Sie das Vector3‑Feld
readFVector4(int idx, VertexField field)Lese das vector4-Feld
readFloat(int idx, VertexField field)Lese das float-Feld
readVector2(int idx, VertexField field)Lesen Sie das Vector2‑Feld
readVector3(int idx, VertexField field)Lesen Sie das Vector3‑Feld
readVector4(int idx, VertexField field)Lese das vector4-Feld
removeProperty(Property property)Entfernt eine dynamische Eigenschaft.
removeProperty(String property)Entferne die angegebene Eigenschaft, die durch ihren Namen identifiziert wird
setExcluded(boolean value)Legt fest, ob diese Entität beim Exportieren ausgeschlossen werden soll.
setName(String value)Setzt den Namen.
setParentNode(Node value)Setzt den ersten übergeordneten Knoten; wenn der erste übergeordnete Knoten gesetzt wird, wird diese Entität von anderen übergeordneten Knoten getrennt.
setProperty(String property, Object value)Setzt den Wert der angegebenen Eigenschaft
toString()Gibt die String-Darstellung von TriMesh zurück
verticesToArray()Konvertiere die Vertex-Daten in ein Byte‑Array
wait()
wait(long arg0)
wait(long arg0, int arg1)
write16bIndicesTo(Stream stream)Schreibe die Indexdaten als 16‑Bit‑Integer in den Stream Beispiel:
write16bIndicesTo(OutputStream stream)Schreibe die Indexdaten als 16‑Bit‑Integer in den Stream
write32bIndicesTo(Stream stream)Schreibe die Indexdaten als 32‑Bit‑Integer in den Stream Beispiel:
write32bIndicesTo(OutputStream stream)Schreibe die Indexdaten als 32‑Bit‑Integer in den Stream
writeVerticesTo(Stream stream)Schreibe Scheitelpunktdaten in den angegebenen Stream
writeVerticesTo(OutputStream stream)Schreibe Scheitelpunktdaten in den angegebenen Stream

TriMesh(String name, VertexDeclaration declaration)

public TriMesh(String name, VertexDeclaration declaration)

Initialisieren Sie eine Instanz von TriMesh

Parameters:

ParameterTypBeschreibung
Namejava.lang.StringDer Name dieses TriMesh
declarationVertexDeclarationDie Deklaration des Vertex

addTriangle(int a, int b, int c)

public void addTriangle(int a, int b, int c)

Fügen Sie ein neues Dreieck hinzu

Parameters:

ParameterTypBeschreibung
aintDer Index des ersten Scheitelpunkts
bintDer Index des zweiten Scheitelpunkts
cintDer Index des dritten Scheitelpunkts

beginVertex()

public Vertex beginVertex()

Beginnen Sie mit dem Hinzufügen von Scheitelpunkten

Returns: Vertex - The reference of internal vertex object in type Vertex

copyFrom(TriMesh input, VertexDeclaration vd)

public static TriMesh copyFrom(TriMesh input, VertexDeclaration vd)

Kopieren Sie das TriMesh aus der Eingabe mit neuem Scheitelpunktlayout

Parameters:

ParameterTypBeschreibung
inputTriMeshDas Eingabe‑TriMesh zum Kopieren
vdVertexDeclarationDie neue Vertex-Deklaration des Ausgabe‑TriMesh

Returns: TriMesh - A new TriMesh instance with new vertex declaration. Example:

//Define a vertex declaration as {FVector3 Position; FVector3 Normal; FVector2 UV}
  VertexDeclaration vd = new VertexDeclaration();
  vd.addField(VertexFieldDataType.F_VECTOR3, VertexFieldSemantic.POSITION);
  vd.addField(VertexFieldDataType.F_VECTOR3, VertexFieldSemantic.NORMAL);
  vd.addField(VertexFieldDataType.F_VECTOR2, VertexFieldSemantic.UV);
  //convert a mesh to TriMesh, the layout is automatically inferred from input mesh
  var oldTriMesh = TriMesh.fromMesh((new Sphere()).toMesh());
  //now create a new TriMesh from old TriMesh, using explicit memory layout defined by vd
  var newTriMesh = TriMesh.copyFrom(oldTriMesh, vd);

endVertex()

public int endVertex()

Beenden Sie das Hinzufügen von Scheitelpunkten

Returns: int

equals(Object arg0)

public boolean equals(Object arg0)

Parameters:

ParameterTypBeschreibung
arg0java.lang.Object

Returns: boolean

findProperty(String propertyName)

public Property findProperty(String propertyName)

Findet die Eigenschaft. Sie kann eine dynamische Eigenschaft sein (erstellt durch CreateDynamicProperty/SetProperty) oder eine native Eigenschaft (identifiziert durch ihren Namen)

Parameters:

ParameterTypBeschreibung
propertyNamejava.lang.StringEigenschaftsname.

Returns: Property - The property.

fromMesh(Mesh mesh)

public static TriMesh fromMesh(Mesh mesh)

Erstellen Sie ein TriMesh aus dem angegebenen Mesh-Objekt, wobei die Scheitelpunktdeklaration auf der Struktur des Eingabemeshes basiert.

Parameters:

ParameterTypBeschreibung
meshMesh

Returns: TriMesh - The TriMesh generated from given Mesh Example: The following code shows how to create a TriMesh with custom memory layout, and export it to file.

//Define a vertex declaration as {FVector3 Position; FVector3 Normal; FVector2 UV}
              VertexDeclaration vd = new VertexDeclaration();
              vd.addField(VertexFieldDataType.F_VECTOR3, VertexFieldSemantic.POSITION);
              vd.addField(VertexFieldDataType.F_VECTOR3, VertexFieldSemantic.NORMAL);
              vd.addField(VertexFieldDataType.F_VECTOR2, VertexFieldSemantic.UV);
              //convert a mesh to tri-mesh using specified memory layout
              var mesh = (new Sphere()).toMesh();
              var triMesh = TriMesh.fromMesh(vd, mesh);
              //save it to a stream, 115 vertices * 32bytes per vertex
              try(var s = new FileOutputStream("output.bin")) {
                  triMesh.writeVerticesTo(s);
                  //save indices as ushort to stream, 504 indices * 2 bytes per index
                  triMesh.write16bIndicesTo(s);
              }

fromMesh(Mesh mesh, boolean useFloat)

public static TriMesh fromMesh(Mesh mesh, boolean useFloat)

Erstellen Sie ein TriMesh aus dem angegebenen Mesh-Objekt, wobei die Scheitelpunktdeklaration auf der Struktur des Eingabemeshes basiert.

Parameters:

ParameterTypBeschreibung
meshMesh
useFloatbooleanVerwende den Float‑Typ anstelle des Double‑Typs für jedes Vertex‑Element‑Komponente.

Returns: TriMesh - The TriMesh generated from given Mesh Example: The following code shows how to create a TriMesh with custom memory layout, and export it to file.

//Define a vertex declaration as {FVector3 Position; FVector3 Normal; FVector2 UV}
              VertexDeclaration vd = new VertexDeclaration();
              vd.addField(VertexFieldDataType.F_VECTOR3, VertexFieldSemantic.POSITION);
              vd.addField(VertexFieldDataType.F_VECTOR3, VertexFieldSemantic.NORMAL);
              vd.addField(VertexFieldDataType.F_VECTOR2, VertexFieldSemantic.UV);
              //convert a mesh to tri-mesh using specified memory layout
              var mesh = (new Sphere()).toMesh();
              var triMesh = TriMesh.fromMesh(vd, mesh);
              //save it to a stream, 115 vertices * 32bytes per vertex
              try(var s = new FileOutputStream("output.bin")) {
                  triMesh.writeVerticesTo(s);
                  //save indices as ushort to stream, 504 indices * 2 bytes per index
                  triMesh.write16bIndicesTo(s);
              }

fromMesh(VertexDeclaration declaration, Mesh mesh)

public static TriMesh fromMesh(VertexDeclaration declaration, Mesh mesh)

Erstellen Sie ein TriMesh aus dem angegebenen Mesh-Objekt mit dem angegebenen Scheitelpunktlayout.

Parameters:

ParameterTypBeschreibung
declarationVertexDeclarationTypdefinition des Scheitelpunkts oder Speicherlayout
meshMeshQuell-Mesh

Returns: TriMesh - Instance of TriMesh converted from input mesh with specified vertex’s memory layout Example: The following code shows how to create a TriMesh with custom memory layout, and export it to file.

//Define a vertex declaration as {FVector3 Position; FVector3 Normal; FVector2 UV}
              VertexDeclaration vd = new VertexDeclaration();
              vd.addField(VertexFieldDataType.F_VECTOR3, VertexFieldSemantic.POSITION);
              vd.addField(VertexFieldDataType.F_VECTOR3, VertexFieldSemantic.NORMAL);
              vd.addField(VertexFieldDataType.F_VECTOR2, VertexFieldSemantic.UV);
              //convert a mesh to tri-mesh using specified memory layout
              var mesh = (new Sphere()).toMesh();
              var triMesh = TriMesh.fromMesh(vd, mesh);
              //save it to a stream, 115 vertices * 32bytes per vertex
              try(var s = new FileOutputStream("output.bin")) {
                  triMesh.writeVerticesTo(s);
                  //save indices as ushort to stream, 504 indices * 2 bytes per index
                  triMesh.write16bIndicesTo(s);
              }

fromRawData(VertexDeclaration vd, byte[] vertices, int[] indices, boolean generateVertexMapping)

public static TriMesh fromRawData(VertexDeclaration vd, byte[] vertices, int[] indices, boolean generateVertexMapping)

Erstellen Sie ein TriMesh aus Rohdaten

Parameters:

ParameterTypBeschreibung
vdVertexDeclarationScheitelpunkt-Deklaration, muss mindestens ein Feld enthalten.
Scheitelpunktebyte[]Die Eingabe-Scheitelpunktdaten, die minimale Länge der Scheitelpunkte muss größer oder gleich der Größe der Scheitelpunktdeklaration sein
Indizesint[]Die Dreiecksindizes
generateVertexMappingbooleanErstelle Vertex für jeden Scheitelpunkt, was nur für die Serialisierung/Deserialisierung nicht erforderlich ist.

Returns: TriMesh - The TriMesh instance that encapsulated the input byte array. Remarks: The returned TriMesh will not copy the input byte array for performance, external changes on the array will be reflected to this instance. Example: The following code shows how to construct a TriMesh from raw bytes, this is useful when build your own 3D format

var indices = new int[] { 0,  1,  2 };
  var vertices = new byte[]{
      0, 0, 0, 191,
      0, 0, 0, 0,
      0, 0, 0, 191,
      0, 0, 0, 191,
      0, 0, 0, 0,
      0, 0, 0, 63,
      0, 0, 0, 63,
      0, 0, 0, 0The string representation,
      0, 0, 0, 63
  };
  VertexDeclaration vd = new VertexDeclaration();
  vd.AddField(VertexFieldDataType.FVector3, VertexFieldSemantic.Position);
  var triMesh = TriMesh.FromRawData(vd, vertices, indices, true);

getBoundingBox()

public BoundingBox getBoundingBox()

Liefert die Begrenzungsbox der aktuellen Entität in ihrem Objekt-Raum-Koordinatensystem.

Returns: BoundingBox - the bounding box of current entity in its object space coordinate system. Example: The following code shows how to calculate the bounding box of a shape

Entity entity = new Sphere();
     entity.setRadius(10);
     var bbox = entity.getBoundingBox();
     System.out.printf("The bounding box of the entity is %s ~ %s", bbox.getMinimum(), bbox.getMaximum());

getCapacity()

public int getCapacity()

Die Kapazität der vorab zugewiesenen Scheitelpunkte.

Returns: int - Die Kapazität der vorab zugewiesenen Scheitelpunkte.

getClass()

public final native Class<?> getClass()

Returns: java.lang.Class

getEntityRendererKey()

public EntityRendererKey getEntityRendererKey()

Liefert den Schlüssel des Entitäts-Renderers, der im Renderer registriert ist

Returns: EntityRendererKey - the key of the entity renderer registered in the renderer

getExcluded()

public boolean getExcluded()

Liefert, ob diese Entität beim Exportieren ausgeschlossen werden soll.

Returns: boolescher Wert – ob diese Entität beim Exportieren ausgeschlossen werden soll.

getIndicesCount()

public int getIndicesCount()

Die Anzahl der Indizes in diesem TriMesh

Returns: int - Die Anzahl der Indizes in diesem TriMesh

getIntIndices()

public int[] getIntIndices()

Konvertieren Sie die Indizes in ein 32‑Bit‑Ganzzahl‑Array

Returns: int[]

getName()

public String getName()

Liefert den Namen.

Returns: java.lang.String - der Name.

getParentNode()

public Node getParentNode()

Liefert den ersten übergeordneten Knoten; wenn der erste übergeordnete Knoten gesetzt wird, wird diese Entität von anderen übergeordneten Knoten getrennt.

Returns: Node - the first parent node, if set the first parent node, this entity will be detached from other parent nodes.

getParentNodes()

public ArrayList<Node> getParentNodes()

Liefert alle übergeordneten Knoten; eine Entität kann für Geometrie-Instanzierung an mehrere übergeordnete Knoten angehängt werden

Returns: java.util.ArrayList<com.aspose.threed.Node> - alle übergeordneten Knoten, ein Entity kann für Geometrieinstanzierung an mehrere übergeordnete Knoten angehängt werden

getProperties()

public PropertyCollection getProperties()

Liefert die Sammlung aller Eigenschaften.

Returns: PropertyCollection - the collection of all properties.

getProperty(String property)

public Object getProperty(String property)

Liefere den Wert der angegebenen Eigenschaft

Parameters:

ParameterTypBeschreibung
Eigenschaftjava.lang.StringEigenschaftsname

Returns: java.lang.Object - Der Wert der gefundenen Eigenschaft

getScene()

public Scene getScene()

Liefert die Szene, zu der dieses Objekt gehört

Returns: Scene - the scene that this object belongs to

getShortIndices()

public short[] getShortIndices()

Konvertieren Sie die Indizes in ein 16‑Bit‑Ganzzahl‑Array

Returns: short[]

getUnmergedVerticesCount()

public int getUnmergedVerticesCount()

Die Anzahl der nicht zusammengeführten Scheitelpunkte, die über beginVertex und endVertex übergeben wurden.

Returns: int - Die Anzahl der nicht zusammengeführten Scheitelpunkte, die über beginVertex und endVertex übergeben wurden.

getVertexDeclaration()

public VertexDeclaration getVertexDeclaration()

Das Scheitelpunktlayout des TriMesh.

Returns: VertexDeclaration - The vertex layout of the TriMesh.

getVerticesCount()

public int getVerticesCount()

Die Anzahl der Scheitelpunkte in diesem TriMesh

Returns: int - Die Anzahl der Scheitelpunkte in diesem TriMesh

getVerticesSizeInBytes()

public int getVerticesSizeInBytes()

Die Gesamtabmessung aller Scheitelpunkte in Bytes

Returns: int - Die Gesamtegröße aller Scheitelpunkte in Bytes

hashCode()

public native int hashCode()

Returns: int

indicesToArray(int[][] result)

public void indicesToArray(int[][] result)

Konvertieren Sie die Indizes in ein 32‑Bit‑Ganzzahl‑Array

Parameters:

ParameterTypBeschreibung
Ergebnisint[][]

indicesToArray(short[][] result)

public void indicesToArray(short[][] result)

Konvertieren Sie die Indizes in ein 16‑Bit‑Ganzzahl‑Array

Parameters:

ParameterTypBeschreibung
Ergebnisshort[][]

iterator()

public Iterator<Vertex> iterator()

Erhalten Sie den Enumerator, um Vertex zu durchlaufen

Returns: java.util.Iterator<com.aspose.threed.Vertex>

loadVerticesFromBytes(byte[] verticesInBytes)

public void loadVerticesFromBytes(byte[] verticesInBytes)

Lade Scheitelpunkte aus Bytes, die Länge der Bytes muss ein ganzzahliges Vielfaches der Scheitelpunktgröße sein. Beispiel: Der folgende Code zeigt, wie man ein leeres TriMesh erstellt und Scheitelpunkte manuell aus Rohbytes lädt.

var indices = new int[] { 0,  1,  2 };
  var vertices = new byte[]{
      0, 0, 0, 191,
      0, 0, 0, 0,
      0, 0, 0, 191,
      0, 0, 0, 191,
      0, 0, 0, 0,
      0, 0, 0, 63,
      0, 0, 0, 63,
      0, 0, 0, 0,
      0, 0, 0, 63
  };
  VertexDeclaration vd = new VertexDeclaration();
  vd.AddField(VertexFieldDataType.FVector3, VertexFieldSemantic.Position);
  //create an empty TriMesh with specified vertex declaration
  var triMesh = new TriMesh("", vd);
  //load vertices directly from bytes
  triMesh.LoadVerticesFromBytes(vertices);
  triMesh.AddTriangle(0, 1, 2);
int[] indices = new int[] { 0,  1,  2 };
  byte[] vertices = new byte[]{
      0, 0, 0, 191,
      0, 0, 0, 0,
      0, 0, 0, 191,
      0, 0, 0, 191,
      0, 0, 0, 0,
      0, 0, 0, 63,
      0, 0, 0, 63,
      0, 0, 0, 0,
      0, 0, 0, 63
  };
  VertexDeclaration vd = new VertexDeclaration();
  vd.addField(VertexFieldDataType.F_VECTOR3, VertexFieldSemantic.POSITION);
  //create an empty TriMesh with specified vertex declaration
  var triMesh = new TriMesh("", vd);
  //load vertices directly from bytes
  triMesh.loadVerticesFromBytes(vertices);
  triMesh.addTriangle(0, 1, 2);

Parameters:

ParameterTypBeschreibung
verticesInBytesbyte[]

notify()

public final native void notify()

notifyAll()

public final native void notifyAll()

readDouble(int idx, VertexField field)

public double readDouble(int idx, VertexField field)

Lesen Sie das Double‑Feld

Parameters:

ParameterTypBeschreibung
idxintDer Index des zu lesenden Scheitelpunkts
fieldVertexFieldDas Feld mit einem float/double-kompatiblen Datentyp

Returns: double - Double-Wert des angegebenen Scheitelpunktfeldes

readFVector2(int idx, VertexField field)

public FVector2 readFVector2(int idx, VertexField field)

Lesen Sie das Vector2‑Feld

Parameters:

ParameterTypBeschreibung
idxintDer Index des zu lesenden Scheitelpunkts
fieldVertexFieldDas Feld mit dem Datentyp Vector2/FVector2

Returns: FVector2 - FVector2 of specified vertex’s field

readFVector3(int idx, VertexField field)

public FVector3 readFVector3(int idx, VertexField field)

Lesen Sie das Vector3‑Feld

Parameters:

ParameterTypBeschreibung
idxintDer Index des zu lesenden Scheitelpunkts
fieldVertexFieldDas Feld mit dem Datentyp Vector3/FVector3

Returns: FVector3

readFVector4(int idx, VertexField field)

public FVector4 readFVector4(int idx, VertexField field)

Lese das vector4-Feld

Parameters:

ParameterTypBeschreibung
idxintDer Index des zu lesenden Scheitelpunkts
fieldVertexFieldDas Feld mit dem Datentyp Vector4/FVector4

Returns: FVector4

readFloat(int idx, VertexField field)

public float readFloat(int idx, VertexField field)

Lese das float-Feld

Parameters:

ParameterTypBeschreibung
idxintDer Index des zu lesenden Scheitelpunkts
fieldVertexFieldDas Feld mit einem float/double-kompatiblen Datentyp

Returns: float - Float-Wert des angegebenen Scheitelpunktfeldes

readVector2(int idx, VertexField field)

public Vector2 readVector2(int idx, VertexField field)

Lesen Sie das Vector2‑Feld

Parameters:

ParameterTypBeschreibung
idxintDer Index des zu lesenden Scheitelpunkts
fieldVertexFieldDas Feld mit dem Datentyp Vector2/FVector2

Returns: Vector2 - Vector2 of specified vertex’s field

readVector3(int idx, VertexField field)

public Vector3 readVector3(int idx, VertexField field)

Lesen Sie das Vector3‑Feld

Parameters:

ParameterTypBeschreibung
idxintDer Index des zu lesenden Scheitelpunkts
fieldVertexFieldDas Feld mit dem Datentyp Vector3/FVector3

Returns: Vector3

readVector4(int idx, VertexField field)

public Vector4 readVector4(int idx, VertexField field)

Lese das vector4-Feld

Parameters:

ParameterTypBeschreibung
idxintDer Index des zu lesenden Scheitelpunkts
fieldVertexFieldDas Feld mit dem Datentyp Vector4/FVector4

Returns: Vector4

removeProperty(Property property)

public boolean removeProperty(Property property)

Entfernt eine dynamische Eigenschaft.

Parameters:

ParameterTypBeschreibung
propertyPropertyWelche Eigenschaft zu entfernen ist

Returns: boolean - true, wenn die Eigenschaft erfolgreich entfernt wurde

removeProperty(String property)

public boolean removeProperty(String property)

Entferne die angegebene Eigenschaft, die durch ihren Namen identifiziert wird

Parameters:

ParameterTypBeschreibung
Eigenschaftjava.lang.StringWelche Eigenschaft zu entfernen ist

Returns: boolean - true, wenn die Eigenschaft erfolgreich entfernt wurde

setExcluded(boolean value)

public void setExcluded(boolean value)

Legt fest, ob diese Entität beim Exportieren ausgeschlossen werden soll.

Parameters:

ParameterTypBeschreibung
WertbooleanNeuer Wert

setName(String value)

public void setName(String value)

Setzt den Namen.

Parameters:

ParameterTypBeschreibung
Wertjava.lang.StringNeuer Wert

setParentNode(Node value)

public void setParentNode(Node value)

Setzt den ersten übergeordneten Knoten; wenn der erste übergeordnete Knoten gesetzt wird, wird diese Entität von anderen übergeordneten Knoten getrennt.

Parameters:

ParameterTypBeschreibung
valueNodeNeuer Wert

setProperty(String property, Object value)

public void setProperty(String property, Object value)

Setzt den Wert der angegebenen Eigenschaft

Parameters:

ParameterTypBeschreibung
Eigenschaftjava.lang.StringEigenschaftsname
Wertjava.lang.ObjectDer Wert der Eigenschaft

toString()

public String toString()

Gibt die String-Darstellung von TriMesh zurück

Returns: java.lang.String - Die String-Darstellung

verticesToArray()

public byte[] verticesToArray()

Konvertiere die Vertex-Daten in ein Byte‑Array

Returns: byte[]

wait()

public final void wait()

wait(long arg0)

public final void wait(long arg0)

Parameters:

ParameterTypBeschreibung
arg0long

wait(long arg0, int arg1)

public final void wait(long arg0, int arg1)

Parameters:

ParameterTypBeschreibung
arg0long
arg1int

write16bIndicesTo(Stream stream)

public void write16bIndicesTo(Stream stream)

Schreibe die Indexdaten als 16‑Bit‑Integer in den Stream Beispiel:

//convert a mesh to TriMesh, the layout is automatically inferred from input mesh
      var mesh = (new Sphere()).toMesh();
      var triMesh = TriMesh.fromMesh(mesh);
      //save it to a stream, 115 vertices * 32bytes per vertex
      var stream = new ByteArrayOutputStream();
      try(var s = Stream.wrap(stream)) {
          triMesh.writeVerticesTo(s);
          //save indices as ushort to stream, 504 indices * 2 bytes per index
          triMesh.write16bIndicesTo(s);
      }

Parameters:

ParameterTypBeschreibung
streamStream

write16bIndicesTo(OutputStream stream)

public void write16bIndicesTo(OutputStream stream)

Schreibe die Indexdaten als 16‑Bit‑Integer in den Stream

Parameters:

ParameterTypBeschreibung
Streamjava.io.OutputStream
//convert a mesh to TriMesh, the layout is automatically inferred from input mesh    
     var mesh = (new Sphere()).toMesh();    
     var triMesh = TriMesh.fromMesh(mesh);    
     //save it to a stream, 115 vertices * 32bytes per vertex    
     var stream = new ByteArrayOutputStream();    
     triMesh.writeVerticesTo(stream);    
     //save indices as ushort to stream, 504 indices * 2 bytes per index    
     triMesh.write16bIndicesTo(stream);
``` |

### write32bIndicesTo(Stream stream) {#write32bIndicesTo-com.aspose.threed.Stream-}

public void write32bIndicesTo(Stream stream)



Schreibe die Indexdaten als 32‑Bit‑Integer in den Stream **Beispiel:**

//convert a mesh to TriMesh, the layout is automatically inferred from input mesh var mesh = (new Sphere()).toMesh(); var triMesh = TriMesh.fromMesh(mesh); //save it to a stream, 115 vertices * 32bytes per vertex var stream = new ByteArrayOutputStream(); try(var s = Stream.wrap(stream)) { triMesh.writeVerticesTo(s); //save indices as ushort to stream, 504 indices * 2 bytes per index triMesh.write32bIndicesTo(s); }


**Parameters:**
| Parameter | Typ | Beschreibung |
| --- | --- | --- |
| stream | [Stream](../../com.aspose.threed/stream) |  |

### write32bIndicesTo(OutputStream stream) {#write32bIndicesTo-java.io.OutputStream-}

public void write32bIndicesTo(OutputStream stream)



Schreibe die Indexdaten als 32‑Bit‑Integer in den Stream

**Parameters:**
| Parameter | Typ | Beschreibung |
| --- | --- | --- |
|  | Stream | java.io.OutputStream | **Beispiel:** |

//convert a mesh to TriMesh, the layout is automatically inferred from input mesh
var mesh = (new Sphere()).toMesh();
var triMesh = TriMesh.fromMesh(mesh);
//save it to a stream, 115 vertices * 32bytes per vertex
var stream = new ByteArrayOutputStream();
triMesh.writeVerticesTo(stream);
//save indices as ushort to stream, 504 indices * 2 bytes per index
triMesh.write32bIndicesTo(stream);


### writeVerticesTo(Stream stream) {#writeVerticesTo-com.aspose.threed.Stream-}

public void writeVerticesTo(Stream stream)



Schreibe Scheitelpunktdaten in den angegebenen Stream

**Parameters:**
| Parameter | Typ | Beschreibung |
| --- | --- | --- |
|  | stream | [Stream](../../com.aspose.threed/stream) | Der Stream, in den die Vertexdaten geschrieben werden **Beispiel:** |

//convert a mesh to TriMesh, the layout is automatically inferred from input mesh var mesh = (new Sphere()).toMesh(); var triMesh = TriMesh.fromMesh(mesh); //save it to a stream, 115 vertices * 32bytes per vertex var stream = new ByteArrayOutputStream(); try(var s = Stream.wrap(stream)) { triMesh.writeVerticesTo(s); //save indices as ushort to stream, 504 indices * 2 bytes per index triMesh.write16bIndicesTo(s); }


### writeVerticesTo(OutputStream stream) {#writeVerticesTo-java.io.OutputStream-}

public void writeVerticesTo(OutputStream stream)



Schreibe Scheitelpunktdaten in den angegebenen Stream

**Parameters:**
| Parameter | Typ | Beschreibung |
| --- | --- | --- |
|  | Stream | java.io.OutputStream | Der Stream, in den die Vertexdaten geschrieben werden **Beispiel:** |

//convert a mesh to TriMesh, the layout is automatically inferred from input mesh
var mesh = (new Sphere()).toMesh();
var triMesh = TriMesh.fromMesh(mesh);
//save it to a stream, 115 vertices * 32bytes per vertex
var stream = new ByteArrayOutputStream();
triMesh.writeVerticesTo(stream);
//save indices as ushort to stream, 504 indices * 2 bytes per index
triMesh.write16bIndicesTo(stream);