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
| Konstruktor | Beschreibung |
|---|---|
| TriMesh(String name, VertexDeclaration declaration) | Initialisieren Sie eine Instanz von TriMesh |
Methoden
| Methode | Beschreibung |
|---|---|
| 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:
| Parameter | Typ | Beschreibung |
|---|---|---|
| Name | java.lang.String | Der Name dieses TriMesh |
| declaration | VertexDeclaration | Die 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:
| Parameter | Typ | Beschreibung |
|---|---|---|
| a | int | Der Index des ersten Scheitelpunkts |
| b | int | Der Index des zweiten Scheitelpunkts |
| c | int | Der 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:
| Parameter | Typ | Beschreibung |
|---|---|---|
| input | TriMesh | Das Eingabe‑TriMesh zum Kopieren |
| vd | VertexDeclaration | Die 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:
| Parameter | Typ | Beschreibung |
|---|---|---|
| arg0 | java.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:
| Parameter | Typ | Beschreibung |
|---|---|---|
| propertyName | java.lang.String | Eigenschaftsname. |
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:
| Parameter | Typ | Beschreibung |
|---|---|---|
| mesh | Mesh |
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:
| Parameter | Typ | Beschreibung |
|---|---|---|
| mesh | Mesh | |
| useFloat | boolean | Verwende 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:
| Parameter | Typ | Beschreibung |
|---|---|---|
| declaration | VertexDeclaration | Typdefinition des Scheitelpunkts oder Speicherlayout |
| mesh | Mesh | Quell-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:
| Parameter | Typ | Beschreibung |
|---|---|---|
| vd | VertexDeclaration | Scheitelpunkt-Deklaration, muss mindestens ein Feld enthalten. |
| Scheitelpunkte | byte[] | Die Eingabe-Scheitelpunktdaten, die minimale Länge der Scheitelpunkte muss größer oder gleich der Größe der Scheitelpunktdeklaration sein |
| Indizes | int[] | Die Dreiecksindizes |
| generateVertexMapping | boolean | Erstelle 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:
| Parameter | Typ | Beschreibung |
|---|---|---|
| Eigenschaft | java.lang.String | Eigenschaftsname |
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:
| Parameter | Typ | Beschreibung |
|---|---|---|
| Ergebnis | int[][] |
indicesToArray(short[][] result)
public void indicesToArray(short[][] result)
Konvertieren Sie die Indizes in ein 16‑Bit‑Ganzzahl‑Array
Parameters:
| Parameter | Typ | Beschreibung |
|---|---|---|
| Ergebnis | short[][] |
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:
| Parameter | Typ | Beschreibung |
|---|---|---|
| verticesInBytes | byte[] |
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:
| Parameter | Typ | Beschreibung |
|---|---|---|
| idx | int | Der Index des zu lesenden Scheitelpunkts |
| field | VertexField | Das 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:
| Parameter | Typ | Beschreibung |
|---|---|---|
| idx | int | Der Index des zu lesenden Scheitelpunkts |
| field | VertexField | Das 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:
| Parameter | Typ | Beschreibung |
|---|---|---|
| idx | int | Der Index des zu lesenden Scheitelpunkts |
| field | VertexField | Das 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:
| Parameter | Typ | Beschreibung |
|---|---|---|
| idx | int | Der Index des zu lesenden Scheitelpunkts |
| field | VertexField | Das 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:
| Parameter | Typ | Beschreibung |
|---|---|---|
| idx | int | Der Index des zu lesenden Scheitelpunkts |
| field | VertexField | Das 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:
| Parameter | Typ | Beschreibung |
|---|---|---|
| idx | int | Der Index des zu lesenden Scheitelpunkts |
| field | VertexField | Das 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:
| Parameter | Typ | Beschreibung |
|---|---|---|
| idx | int | Der Index des zu lesenden Scheitelpunkts |
| field | VertexField | Das 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:
| Parameter | Typ | Beschreibung |
|---|---|---|
| idx | int | Der Index des zu lesenden Scheitelpunkts |
| field | VertexField | Das Feld mit dem Datentyp Vector4/FVector4 |
Returns: Vector4
removeProperty(Property property)
public boolean removeProperty(Property property)
Entfernt eine dynamische Eigenschaft.
Parameters:
| Parameter | Typ | Beschreibung |
|---|---|---|
| property | Property | Welche 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:
| Parameter | Typ | Beschreibung |
|---|---|---|
| Eigenschaft | java.lang.String | Welche 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:
| Parameter | Typ | Beschreibung |
|---|---|---|
| Wert | boolean | Neuer Wert |
setName(String value)
public void setName(String value)
Setzt den Namen.
Parameters:
| Parameter | Typ | Beschreibung |
|---|---|---|
| Wert | java.lang.String | Neuer 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:
| Parameter | Typ | Beschreibung |
|---|---|---|
| value | Node | Neuer Wert |
setProperty(String property, Object value)
public void setProperty(String property, Object value)
Setzt den Wert der angegebenen Eigenschaft
Parameters:
| Parameter | Typ | Beschreibung |
|---|---|---|
| Eigenschaft | java.lang.String | Eigenschaftsname |
| Wert | java.lang.Object | Der 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:
| Parameter | Typ | Beschreibung |
|---|---|---|
| arg0 | long |
wait(long arg0, int arg1)
public final void wait(long arg0, int arg1)
Parameters:
| Parameter | Typ | Beschreibung |
|---|---|---|
| arg0 | long | |
| arg1 | int |
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:
| Parameter | Typ | Beschreibung |
|---|---|---|
| stream | Stream |
write16bIndicesTo(OutputStream stream)
public void write16bIndicesTo(OutputStream stream)
Schreibe die Indexdaten als 16‑Bit‑Integer in den Stream
Parameters:
| Parameter | Typ | Beschreibung |
|---|---|---|
| Stream | java.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);