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>
Sebuah TriMesh berisi data mentah yang dapat digunakan langsung oleh GPU. Kelas ini adalah utilitas untuk membantu membangun mesh yang hanya berisi data per-vertex. Example: Kode berikut menunjukkan cara membuat TriMesh dengan tata letak memori khusus, dan mengekspornya ke 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);
}
Konstruktor
| Konstruktor | Deskripsi |
|---|---|
| TriMesh(String name, VertexDeclaration declaration) | Inisialisasi sebuah instance dari TriMesh |
Metode
| Metode | Deskripsi |
|---|---|
| addTriangle(int a, int b, int c) | Tambahkan segitiga baru |
| beginVertex() | Mulai menambahkan vertex |
| copyFrom(TriMesh input, VertexDeclaration vd) | Salin TriMesh dari input dengan tata letak vertex baru |
| endVertex() | Selesai menambahkan vertex |
| equals(Object arg0) | |
| findProperty(String propertyName) | Menemukan properti. |
| fromMesh(Mesh mesh) | Buat TriMesh dari objek mesh yang diberikan, deklarasi vertex didasarkan pada struktur mesh input. |
| fromMesh(Mesh mesh, boolean useFloat) | Buat TriMesh dari objek mesh yang diberikan, deklarasi vertex didasarkan pada struktur mesh input. |
| fromMesh(VertexDeclaration declaration, Mesh mesh) | Buat TriMesh dari objek mesh yang diberikan dengan tata letak vertex yang diberikan. |
| fromRawData(VertexDeclaration vd, byte[] vertices, int[] indices, boolean generateVertexMapping) | Buat TriMesh dari data mentah |
| getBoundingBox() | Mendapatkan kotak pembatas entitas saat ini dalam sistem koordinat ruang objeknya. |
| getCapacity() | Kapasitas vertex yang telah dialokasikan sebelumnya. |
| getClass() | |
| getEntityRendererKey() | Mendapatkan kunci renderer entitas yang terdaftar di renderer |
| getExcluded() | Mendapatkan apakah entitas ini akan dikecualikan saat mengekspor. |
| getIndicesCount() | Jumlah indeks dalam TriMesh ini |
| getIntIndices() | Konversi indeks ke array integer 32-bit |
| getName() | Mendapatkan nama. |
| getParentNode() | Mendapatkan node induk pertama, jika menetapkan node induk pertama, entitas ini akan dipisahkan dari node induk lainnya. |
| getParentNodes() | Mendapatkan semua node induk, sebuah entitas dapat dilampirkan ke beberapa node induk untuk instansi geometri |
| getProperties() | Mendapatkan koleksi semua properti. |
| getProperty(String property) | Dapatkan nilai properti yang ditentukan |
| getScene() | Mendapatkan adegan yang dimiliki objek ini |
| getShortIndices() | Konversi indeks ke array integer 16-bit |
| getUnmergedVerticesCount() | Jumlah vertex yang belum digabung yang diberikan melalui beginVertex dan endVertex. |
| getVertexDeclaration() | Tata letak vertex dari TriMesh. |
| getVerticesCount() | Jumlah vertex dalam TriMesh ini |
| getVerticesSizeInBytes() | Ukuran total semua vertex dalam byte |
| hashCode() | |
| indicesToArray(int[][] result) | Konversi indeks ke array integer 32-bit |
| indicesToArray(short[][] result) | Konversi indeks ke array integer 16-bit |
| iterator() | Dapatkan enumerator untuk mengiterasi Vertex |
| loadVerticesFromBytes(byte[] verticesInBytes) | Muat vertex dari byte, panjang byte harus merupakan kelipatan bulat dari ukuran vertex. |
| notify() | |
| notifyAll() | |
| readDouble(int idx, VertexField field) | Baca bidang double |
| readFVector2(int idx, VertexField field) | Baca bidang vector2 |
| readFVector3(int idx, VertexField field) | Baca bidang vector3 |
| readFVector4(int idx, VertexField field) | Baca bidang vector4 |
| readFloat(int idx, VertexField field) | Baca bidang float |
| readVector2(int idx, VertexField field) | Baca bidang vector2 |
| readVector3(int idx, VertexField field) | Baca bidang vector3 |
| readVector4(int idx, VertexField field) | Baca bidang vector4 |
| removeProperty(Property property) | Menghapus properti dinamis. |
| removeProperty(String property) | Hapus properti yang ditentukan yang diidentifikasi dengan nama |
| setExcluded(boolean value) | Mengatur apakah entitas ini akan dikecualikan saat mengekspor. |
| setName(String value) | Mengatur nama. |
| setParentNode(Node value) | Mengatur node induk pertama, jika mengatur node induk pertama, entitas ini akan dipisahkan dari node induk lainnya. |
| setProperty(String property, Object value) | Mengatur nilai properti yang ditentukan |
| toString() | Mendapatkan representasi string dari TriMesh |
| verticesToArray() | Konversi data vertices menjadi array byte |
| wait() | |
| wait(long arg0) | |
| wait(long arg0, int arg1) | |
| write16bIndicesTo(Stream stream) | Tulis data indeks sebagai integer 16bit ke aliran Example: |
| write16bIndicesTo(OutputStream stream) | Tulis data indeks sebagai integer 16bit ke aliran |
| write32bIndicesTo(Stream stream) | Tulis data indeks sebagai integer 32bit ke aliran Example: |
| write32bIndicesTo(OutputStream stream) | Tulis data indeks sebagai integer 32bit ke aliran |
| writeVerticesTo(Stream stream) | Tulis data vertices ke aliran yang ditentukan |
| writeVerticesTo(OutputStream stream) | Tulis data vertices ke aliran yang ditentukan |
TriMesh(String name, VertexDeclaration declaration)
public TriMesh(String name, VertexDeclaration declaration)
Inisialisasi sebuah instance dari TriMesh
Parameters:
| Parameter | Tipe | Deskripsi |
|---|---|---|
| nama | java.lang.String | Nama dari TriMesh ini |
| declaration | VertexDeclaration | Deklarasi vertex |
addTriangle(int a, int b, int c)
public void addTriangle(int a, int b, int c)
Tambahkan segitiga baru
Parameters:
| Parameter | Tipe | Deskripsi |
|---|---|---|
| a | int | Indeks vertex pertama |
| b | int | Indeks vertex kedua |
| c | int | Indeks vertex ketiga |
beginVertex()
public Vertex beginVertex()
Mulai menambahkan vertex
Returns: Vertex - The reference of internal vertex object in type Vertex
copyFrom(TriMesh input, VertexDeclaration vd)
public static TriMesh copyFrom(TriMesh input, VertexDeclaration vd)
Salin TriMesh dari input dengan tata letak vertex baru
Parameters:
| Parameter | Tipe | Deskripsi |
|---|---|---|
| input | TriMesh | TriMesh input untuk penyalinan |
| vd | VertexDeclaration | Deklarasi vertex baru dari TriMesh output |
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()
Selesai menambahkan vertex
Returns: int
equals(Object arg0)
public boolean equals(Object arg0)
Parameters:
| Parameter | Tipe | Deskripsi |
|---|---|---|
| arg0 | java.lang.Object |
Returns: boolean
findProperty(String propertyName)
public Property findProperty(String propertyName)
Menemukan properti. Itu dapat menjadi properti dinamis (Dibuat oleh CreateDynamicProperty/SetProperty) atau properti asli (Diidentifikasi dengan namanya)
Parameters:
| Parameter | Tipe | Deskripsi |
|---|---|---|
| propertyName | java.lang.String | Nama properti. |
Returns: Property - The property.
fromMesh(Mesh mesh)
public static TriMesh fromMesh(Mesh mesh)
Buat TriMesh dari objek mesh yang diberikan, deklarasi vertex didasarkan pada struktur mesh input.
Parameters:
| Parameter | Tipe | Deskripsi |
|---|---|---|
| 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)
Buat TriMesh dari objek mesh yang diberikan, deklarasi vertex didasarkan pada struktur mesh input.
Parameters:
| Parameter | Tipe | Deskripsi |
|---|---|---|
| mesh | Mesh | |
| useFloat | boolean | Gunakan tipe float alih-alih tipe double untuk setiap komponen elemen vertex. |
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)
Buat TriMesh dari objek mesh yang diberikan dengan tata letak vertex yang diberikan.
Parameters:
| Parameter | Tipe | Deskripsi |
|---|---|---|
| declaration | VertexDeclaration | Definisi tipe vertex, atau tata letak memori |
| mesh | Mesh | Mesh sumber |
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)
Buat TriMesh dari data mentah
Parameters:
| Parameter | Tipe | Deskripsi |
|---|---|---|
| vd | VertexDeclaration | Deklarasi vertex, harus berisi setidaknya satu bidang. |
| vertices | byte[] | Data vertex input, panjang minimum vertex harus lebih besar atau sama dengan ukuran deklarasi vertex |
| indeks | int[] | Indeks segitiga |
| generateVertexMapping | boolean | Hasilkan Vertex untuk setiap vertex, yang tidak diperlukan hanya untuk serialisasi/deserialisasi. |
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()
Mendapatkan kotak pembatas entitas saat ini dalam sistem koordinat ruang objeknya.
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()
Kapasitas vertex yang telah dialokasikan sebelumnya.
Returns: int - Kapasitas vertex yang telah dialokasikan sebelumnya.
getClass()
public final native Class<?> getClass()
Returns: java.lang.Class
getEntityRendererKey()
public EntityRendererKey getEntityRendererKey()
Mendapatkan kunci renderer entitas yang terdaftar di renderer
Returns: EntityRendererKey - the key of the entity renderer registered in the renderer
getExcluded()
public boolean getExcluded()
Mendapatkan apakah entitas ini akan dikecualikan saat mengekspor.
Returns: boolean - apakah entitas ini akan dikecualikan saat mengekspor.
getIndicesCount()
public int getIndicesCount()
Jumlah indeks dalam TriMesh ini
Returns: int - Jumlah indeks dalam TriMesh ini
getIntIndices()
public int[] getIntIndices()
Konversi indeks ke array integer 32-bit
Returns: int[]
getName()
public String getName()
Mendapatkan nama.
Returns: java.lang.String - nama.
getParentNode()
public Node getParentNode()
Mendapatkan node induk pertama, jika menetapkan node induk pertama, entitas ini akan dipisahkan dari node induk lainnya.
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()
Mendapatkan semua node induk, sebuah entitas dapat dilampirkan ke beberapa node induk untuk instansi geometri
Returns: java.util.ArrayList<com.aspose.threed.Node> - semua node induk, sebuah entitas dapat terhubung ke beberapa node induk untuk instansi geometri
getProperties()
public PropertyCollection getProperties()
Mendapatkan koleksi semua properti.
Returns: PropertyCollection - the collection of all properties.
getProperty(String property)
public Object getProperty(String property)
Dapatkan nilai properti yang ditentukan
Parameters:
| Parameter | Tipe | Deskripsi |
|---|---|---|
| properti | java.lang.String | Nama properti |
Returns: java.lang.Object - Nilai dari properti yang ditemukan
getScene()
public Scene getScene()
Mendapatkan adegan yang dimiliki objek ini
Returns: Scene - the scene that this object belongs to
getShortIndices()
public short[] getShortIndices()
Konversi indeks ke array integer 16-bit
Returns: short[]
getUnmergedVerticesCount()
public int getUnmergedVerticesCount()
Jumlah vertex yang belum digabung yang diberikan melalui beginVertex dan endVertex.
Returns: int - Jumlah vertex yang belum digabung yang diberikan melalui beginVertex dan endVertex.
getVertexDeclaration()
public VertexDeclaration getVertexDeclaration()
Tata letak vertex dari TriMesh.
Returns: VertexDeclaration - The vertex layout of the TriMesh.
getVerticesCount()
public int getVerticesCount()
Jumlah vertex dalam TriMesh ini
Returns: int - Jumlah vertex dalam TriMesh ini
getVerticesSizeInBytes()
public int getVerticesSizeInBytes()
Ukuran total semua vertex dalam byte
Returns: int - Total ukuran semua vertex dalam byte
hashCode()
public native int hashCode()
Returns: int
indicesToArray(int[][] result)
public void indicesToArray(int[][] result)
Konversi indeks ke array integer 32-bit
Parameters:
| Parameter | Tipe | Deskripsi |
|---|---|---|
| hasil | int[][] |
indicesToArray(short[][] result)
public void indicesToArray(short[][] result)
Konversi indeks ke array integer 16-bit
Parameters:
| Parameter | Tipe | Deskripsi |
|---|---|---|
| hasil | short[][] |
iterator()
public Iterator<Vertex> iterator()
Dapatkan enumerator untuk mengiterasi Vertex
Returns: java.util.Iterator<com.aspose.threed.Vertex>
loadVerticesFromBytes(byte[] verticesInBytes)
public void loadVerticesFromBytes(byte[] verticesInBytes)
Muat vertex dari byte, panjang byte harus merupakan kelipatan bulat dari ukuran vertex. Contoh: Kode berikut menunjukkan cara membuat TriMesh kosong dan memuat vertex secara manual dari byte mentah.
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 | Tipe | Deskripsi |
|---|---|---|
| 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)
Baca bidang double
Parameters:
| Parameter | Tipe | Deskripsi |
|---|---|---|
| idx | int | Indeks vertex yang akan dibaca |
| field | VertexField | Field dengan tipe data yang kompatibel float/double |
Returns: double - Nilai double dari field vertex yang ditentukan
readFVector2(int idx, VertexField field)
public FVector2 readFVector2(int idx, VertexField field)
Baca bidang vector2
Parameters:
| Parameter | Tipe | Deskripsi |
|---|---|---|
| idx | int | Indeks vertex yang akan dibaca |
| field | VertexField | Field dengan tipe data Vector2/FVector2 |
Returns: FVector2 - FVector2 of specified vertex’s field
readFVector3(int idx, VertexField field)
public FVector3 readFVector3(int idx, VertexField field)
Baca bidang vector3
Parameters:
| Parameter | Tipe | Deskripsi |
|---|---|---|
| idx | int | Indeks vertex yang akan dibaca |
| field | VertexField | Field dengan tipe data Vector3/FVector3 |
Returns: FVector3
readFVector4(int idx, VertexField field)
public FVector4 readFVector4(int idx, VertexField field)
Baca bidang vector4
Parameters:
| Parameter | Tipe | Deskripsi |
|---|---|---|
| idx | int | Indeks vertex yang akan dibaca |
| field | VertexField | Field dengan tipe data Vector4/FVector4 |
Returns: FVector4
readFloat(int idx, VertexField field)
public float readFloat(int idx, VertexField field)
Baca bidang float
Parameters:
| Parameter | Tipe | Deskripsi |
|---|---|---|
| idx | int | Indeks vertex yang akan dibaca |
| field | VertexField | Field dengan tipe data yang kompatibel float/double |
Returns: float - Nilai float dari field vertex yang ditentukan
readVector2(int idx, VertexField field)
public Vector2 readVector2(int idx, VertexField field)
Baca bidang vector2
Parameters:
| Parameter | Tipe | Deskripsi |
|---|---|---|
| idx | int | Indeks vertex yang akan dibaca |
| field | VertexField | Field dengan tipe data Vector2/FVector2 |
Returns: Vector2 - Vector2 of specified vertex’s field
readVector3(int idx, VertexField field)
public Vector3 readVector3(int idx, VertexField field)
Baca bidang vector3
Parameters:
| Parameter | Tipe | Deskripsi |
|---|---|---|
| idx | int | Indeks vertex yang akan dibaca |
| field | VertexField | Field dengan tipe data Vector3/FVector3 |
Returns: Vector3
readVector4(int idx, VertexField field)
public Vector4 readVector4(int idx, VertexField field)
Baca bidang vector4
Parameters:
| Parameter | Tipe | Deskripsi |
|---|---|---|
| idx | int | Indeks vertex yang akan dibaca |
| field | VertexField | Field dengan tipe data Vector4/FVector4 |
Returns: Vector4
removeProperty(Property property)
public boolean removeProperty(Property property)
Menghapus properti dinamis.
Parameters:
| Parameter | Tipe | Deskripsi |
|---|---|---|
| property | Property | Properti mana yang akan dihapus |
Returns: boolean - true jika properti berhasil dihapus
removeProperty(String property)
public boolean removeProperty(String property)
Hapus properti yang ditentukan yang diidentifikasi dengan nama
Parameters:
| Parameter | Tipe | Deskripsi |
|---|---|---|
| properti | java.lang.String | Properti mana yang akan dihapus |
Returns: boolean - true jika properti berhasil dihapus
setExcluded(boolean value)
public void setExcluded(boolean value)
Mengatur apakah entitas ini akan dikecualikan saat mengekspor.
Parameters:
| Parameter | Tipe | Deskripsi |
|---|---|---|
| nilai | boolean | Nilai baru |
setName(String value)
public void setName(String value)
Mengatur nama.
Parameters:
| Parameter | Tipe | Deskripsi |
|---|---|---|
| nilai | java.lang.String | Nilai baru |
setParentNode(Node value)
public void setParentNode(Node value)
Mengatur node induk pertama, jika mengatur node induk pertama, entitas ini akan dipisahkan dari node induk lainnya.
Parameters:
| Parameter | Tipe | Deskripsi |
|---|---|---|
| value | Node | Nilai baru |
setProperty(String property, Object value)
public void setProperty(String property, Object value)
Mengatur nilai properti yang ditentukan
Parameters:
| Parameter | Tipe | Deskripsi |
|---|---|---|
| properti | java.lang.String | Nama properti |
| nilai | java.lang.Object | Nilai properti |
toString()
public String toString()
Mendapatkan representasi string dari TriMesh
Returns: java.lang.String - Representasi string
verticesToArray()
public byte[] verticesToArray()
Konversi data vertices menjadi array byte
Returns: byte[]
wait()
public final void wait()
wait(long arg0)
public final void wait(long arg0)
Parameters:
| Parameter | Tipe | Deskripsi |
|---|---|---|
| arg0 | long |
wait(long arg0, int arg1)
public final void wait(long arg0, int arg1)
Parameters:
| Parameter | Tipe | Deskripsi |
|---|---|---|
| arg0 | long | |
| arg1 | int |
write16bIndicesTo(Stream stream)
public void write16bIndicesTo(Stream stream)
Tulis data indeks sebagai integer 16bit ke aliran Example:
//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 | Tipe | Deskripsi |
|---|---|---|
| stream | Stream |
write16bIndicesTo(OutputStream stream)
public void write16bIndicesTo(OutputStream stream)
Tulis data indeks sebagai integer 16bit ke aliran
Parameters:
| Parameter | Tipe | Deskripsi |
|---|---|---|
| aliran | 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)
Tulis data indeks sebagai integer 32bit ke aliran **Example:**
//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 | Tipe | Deskripsi |
| --- | --- | --- |
| stream | [Stream](../../com.aspose.threed/stream) | |
### write32bIndicesTo(OutputStream stream) {#write32bIndicesTo-java.io.OutputStream-}
public void write32bIndicesTo(OutputStream stream)
Tulis data indeks sebagai integer 32bit ke aliran
**Parameters:**
| Parameter | Tipe | Deskripsi |
| --- | --- | --- |
| | aliran | java.io.OutputStream | **Contoh:** |
//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)
Tulis data vertices ke aliran yang ditentukan
**Parameters:**
| Parameter | Tipe | Deskripsi |
| --- | --- | --- |
| | stream | [Stream](../../com.aspose.threed/stream) | Aliran yang data verteks akan dituliskan ke **Contoh:** |
//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)
Tulis data vertices ke aliran yang ditentukan
**Parameters:**
| Parameter | Tipe | Deskripsi |
| --- | --- | --- |
| | aliran | java.io.OutputStream | Aliran yang data verteks akan dituliskan ke **Contoh:** |
//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);