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>
يحتوي TriMesh على بيانات خام يمكن للـ GPU استخدامها مباشرة. هذه الفئة أداة تساعد في إنشاء شبكة تحتوي فقط على بيانات لكل رأس. Example: يوضح الكود التالي كيفية إنشاء TriMesh بتخطيط ذاكرة مخصص، وتصديره إلى ملف.
//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);
}
المنشئات
| منشئ | الوصف |
|---|---|
| TriMesh(String name, VertexDeclaration declaration) | تهيئة نسخة من TriMesh |
الطرق
| طريقة | الوصف |
|---|---|
| addTriangle(int a, int b, int c) | إضافة مثلث جديد |
| beginVertex() | بدء إضافة رأس |
| copyFrom(TriMesh input, VertexDeclaration vd) | نسخ الـ TriMesh من الإدخال مع تخطيط رأس جديد |
| endVertex() | إنهاء إضافة رأس |
| equals(Object arg0) | |
| findProperty(String propertyName) | يبحث عن الخاصية. |
| fromMesh(Mesh mesh) | إنشاء TriMesh من كائن شبكة مُعطى، حيث يتم بناء تعريف الرؤوس بناءً على بنية الشبكة المدخلة. |
| fromMesh(Mesh mesh, boolean useFloat) | إنشاء TriMesh من كائن شبكة مُعطى، حيث يتم بناء تعريف الرؤوس بناءً على بنية الشبكة المدخلة. |
| fromMesh(VertexDeclaration declaration, Mesh mesh) | إنشاء TriMesh من كائن شبكة مُعطى مع تخطيط رأس محدد. |
| fromRawData(VertexDeclaration vd, byte[] vertices, int[] indices, boolean generateVertexMapping) | إنشاء TriMesh من بيانات خام |
| getBoundingBox() | يحصل على صندوق الحدود للكيان الحالي في نظام إحداثيات مساحة الكائن الخاصة به. |
| getCapacity() | السعة المخصصة مسبقًا للرؤوس. |
| getClass() | |
| getEntityRendererKey() | يحصل على المفتاح الخاص بعارض الكيان المسجل في العارض. |
| getExcluded() | يحصل على ما إذا كان يجب استبعاد هذا الكيان أثناء التصدير. |
| getIndicesCount() | عدد الفهارس في هذا TriMesh |
| getIntIndices() | تحويل الفهارس إلى مصفوفة أعداد صحيحة 32 بت |
| getName() | يحصل على الاسم. |
| getParentNode() | يحصل على أول عقدة أب، إذا تم تعيين أول عقدة أب، سيُفصل هذا الكيان عن عقد الأب الأخرى. |
| getParentNodes() | يحصل على جميع عقد الأب، يمكن إرفاق كيان بعدة عقد أب لتكرار الهندسة. |
| getProperties() | يحصل على مجموعة جميع الخصائص. |
| getProperty(String property) | احصل على قيمة الخاصية المحددة |
| getScene() | يحصل على المشهد الذي ينتمي إليه هذا الكائن |
| getShortIndices() | تحويل الفهارس إلى مصفوفة أعداد صحيحة 16 بت |
| getUnmergedVerticesCount() | عدد الرؤوس غير المدمجة التي تم تمريرها عبر beginVertex و endVertex. |
| getVertexDeclaration() | تخطيط الرؤوس للـ TriMesh. |
| getVerticesCount() | عدد الرؤوس في هذا TriMesh |
| getVerticesSizeInBytes() | الحجم الكلي لجميع الرؤوس بالبايت |
| hashCode() | |
| indicesToArray(int[][] result) | تحويل الفهارس إلى مصفوفة أعداد صحيحة 32 بت |
| indicesToArray(short[][] result) | تحويل الفهارس إلى مصفوفة أعداد صحيحة 16 بت |
| iterator() | احصل على المُعدِّد لتعداد Vertex |
| loadVerticesFromBytes(byte[] verticesInBytes) | تحميل الرؤوس من البايتات، يجب أن يكون طول البايتات مضاعفًا صحيحًا لحجم الرأس. |
| notify() | |
| notifyAll() | |
| readDouble(int idx, VertexField field) | قراءة الحقل من النوع double |
| readFVector2(int idx, VertexField field) | قراءة الحقل من النوع vector2 |
| readFVector3(int idx, VertexField field) | قراءة الحقل من النوع vector3 |
| readFVector4(int idx, VertexField field) | قراءة حقل vector4 |
| readFloat(int idx, VertexField field) | قراءة حقل float |
| readVector2(int idx, VertexField field) | قراءة الحقل من النوع vector2 |
| readVector3(int idx, VertexField field) | قراءة الحقل من النوع vector3 |
| readVector4(int idx, VertexField field) | قراءة حقل vector4 |
| removeProperty(Property property) | يزيل خاصية ديناميكية. |
| removeProperty(String property) | إزالة الخاصية المحددة التي تم التعرف عليها بالاسم. |
| setExcluded(boolean value) | يضبط ما إذا كان يجب استبعاد هذا الكيان أثناء التصدير. |
| setName(String value) | يضبط الاسم. |
| setParentNode(Node value) | يضبط أول عقدة أب، إذا تم ضبط أول عقدة أب، سيُفصل هذا الكيان عن عقد الأب الأخرى. |
| setProperty(String property, Object value) | يضبط قيمة الخاصية المحددة |
| toString() | يحصل على تمثيل النص لـ TriMesh |
| verticesToArray() | تحويل بيانات القمم إلى مصفوفة بايت |
| wait() | |
| wait(long arg0) | |
| wait(long arg0, int arg1) | |
| write16bIndicesTo(Stream stream) | اكتب بيانات الفهارس كعدد صحيح 16 بت إلى الدفق Example: |
| write16bIndicesTo(OutputStream stream) | اكتب بيانات الفهارس كعدد صحيح 16 بت إلى الدفق |
| write32bIndicesTo(Stream stream) | اكتب بيانات الفهارس كعدد صحيح 32 بت إلى الدفق Example: |
| write32bIndicesTo(OutputStream stream) | اكتب بيانات الفهارس كعدد صحيح 32 بت إلى الدفق |
| writeVerticesTo(Stream stream) | اكتب بيانات القمم إلى الدفق المحدد |
| writeVerticesTo(OutputStream stream) | اكتب بيانات القمم إلى الدفق المحدد |
TriMesh(String name, VertexDeclaration declaration)
public TriMesh(String name, VertexDeclaration declaration)
تهيئة نسخة من TriMesh
Parameters:
| معامل | نوع | الوصف |
|---|---|---|
| الاسم | java.lang.String | اسم هذا TriMesh |
| declaration | VertexDeclaration | إعلان القمة |
addTriangle(int a, int b, int c)
public void addTriangle(int a, int b, int c)
إضافة مثلث جديد
Parameters:
| معامل | نوع | الوصف |
|---|---|---|
| a | int | فهرس القمة الأولى |
| b | int | فهرس القمة الثانية |
| c | int | فهرس القمة الثالثة |
beginVertex()
public Vertex beginVertex()
بدء إضافة رأس
Returns: Vertex - The reference of internal vertex object in type Vertex
copyFrom(TriMesh input, VertexDeclaration vd)
public static TriMesh copyFrom(TriMesh input, VertexDeclaration vd)
نسخ الـ TriMesh من الإدخال مع تخطيط رأس جديد
Parameters:
| معامل | نوع | الوصف |
|---|---|---|
| input | TriMesh | TriMesh الإدخال للنسخ |
| vd | VertexDeclaration | إعلان القمة الجديد لـ 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()
إنهاء إضافة رأس
Returns: int
equals(Object arg0)
public boolean equals(Object arg0)
Parameters:
| معامل | نوع | الوصف |
|---|---|---|
| arg0 | java.lang.Object |
Returns: boolean
findProperty(String propertyName)
public Property findProperty(String propertyName)
يبحث عن الخاصية. يمكن أن تكون خاصية ديناميكية (Created by CreateDynamicProperty/SetProperty) أو خاصية أصلية (Identified by its name)
Parameters:
| معامل | نوع | الوصف |
|---|---|---|
| propertyName | java.lang.String | اسم الخاصية. |
Returns: Property - The property.
fromMesh(Mesh mesh)
public static TriMesh fromMesh(Mesh mesh)
إنشاء TriMesh من كائن شبكة مُعطى، حيث يتم بناء تعريف الرؤوس بناءً على بنية الشبكة المدخلة.
Parameters:
| معامل | نوع | الوصف |
|---|---|---|
| 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)
إنشاء TriMesh من كائن شبكة مُعطى، حيث يتم بناء تعريف الرؤوس بناءً على بنية الشبكة المدخلة.
Parameters:
| معامل | نوع | الوصف |
|---|---|---|
| mesh | Mesh | |
| useFloat | boolean | استخدم نوع float بدلاً من نوع double لكل مكوّن عنصر القمة. |
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)
إنشاء TriMesh من كائن شبكة مُعطى مع تخطيط رأس محدد.
Parameters:
| معامل | نوع | الوصف |
|---|---|---|
| declaration | VertexDeclaration | تعريف نوع القمة، أو تخطيط الذاكرة |
| mesh | 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)
إنشاء TriMesh من بيانات خام
Parameters:
| معامل | نوع | الوصف |
|---|---|---|
| vd | VertexDeclaration | إعلان القمة، يجب أن يحتوي على حقل واحد على الأقل. |
| القمم | byte[] | بيانات القمم المدخلة، يجب أن يكون الحد الأدنى لطول القمم أكبر أو مساوي لحجم تعريف القمة. |
| indices | int[] | مؤشرات المثلثات |
| generateVertexMapping | boolean | إنشاء Vertex لكل رأس، وهو غير ضروري للاستخدام في التسلسل/إلغاء التسلسل فقط. |
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()
يحصل على صندوق الحدود للكيان الحالي في نظام إحداثيات مساحة الكائن الخاصة به.
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()
السعة المخصصة مسبقًا للرؤوس.
Returns: int - سعة الرؤوس المخصصة مسبقًا.
getClass()
public final native Class<?> getClass()
Returns: java.lang.Class
getEntityRendererKey()
public EntityRendererKey getEntityRendererKey()
يحصل على المفتاح الخاص بعارض الكيان المسجل في العارض.
Returns: EntityRendererKey - the key of the entity renderer registered in the renderer
getExcluded()
public boolean getExcluded()
يحصل على ما إذا كان يجب استبعاد هذا الكيان أثناء التصدير.
Returns: منطقي - ما إذا كان يجب استبعاد هذا الكيان أثناء التصدير.
getIndicesCount()
public int getIndicesCount()
عدد الفهارس في هذا TriMesh
Returns: int - عدد الفهارس في هذا TriMesh
getIntIndices()
public int[] getIntIndices()
تحويل الفهارس إلى مصفوفة أعداد صحيحة 32 بت
Returns: int[]
getName()
public String getName()
يحصل على الاسم.
Returns: java.lang.String - الاسم.
getParentNode()
public Node getParentNode()
يحصل على أول عقدة أب، إذا تم تعيين أول عقدة أب، سيُفصل هذا الكيان عن عقد الأب الأخرى.
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()
يحصل على جميع عقد الأب، يمكن إرفاق كيان بعدة عقد أب لتكرار الهندسة.
Returns: java.util.ArrayList<com.aspose.threed.Node> - جميع العقد الأصلية، يمكن إرفاق كيان بعدة عقد أصلية لتجسيد الهندسة
getProperties()
public PropertyCollection getProperties()
يحصل على مجموعة جميع الخصائص.
Returns: PropertyCollection - the collection of all properties.
getProperty(String property)
public Object getProperty(String property)
احصل على قيمة الخاصية المحددة
Parameters:
| معامل | نوع | الوصف |
|---|---|---|
| خاصية | java.lang.String | اسم الخاصية |
Returns: java.lang.Object - قيمة الخاصية التي تم العثور عليها
getScene()
public Scene getScene()
يحصل على المشهد الذي ينتمي إليه هذا الكائن
Returns: Scene - the scene that this object belongs to
getShortIndices()
public short[] getShortIndices()
تحويل الفهارس إلى مصفوفة أعداد صحيحة 16 بت
Returns: short[]
getUnmergedVerticesCount()
public int getUnmergedVerticesCount()
عدد الرؤوس غير المدمجة التي تم تمريرها عبر beginVertex و endVertex.
Returns: int - عدد الرؤوس غير المدمجة التي تم تمريرها عبر beginVertex و endVertex.
getVertexDeclaration()
public VertexDeclaration getVertexDeclaration()
تخطيط الرؤوس للـ TriMesh.
Returns: VertexDeclaration - The vertex layout of the TriMesh.
getVerticesCount()
public int getVerticesCount()
عدد الرؤوس في هذا TriMesh
Returns: int - عدد الرؤوس في هذا TriMesh
getVerticesSizeInBytes()
public int getVerticesSizeInBytes()
الحجم الكلي لجميع الرؤوس بالبايت
Returns: int - الحجم الكلي لجميع الرؤوس بالبايت
hashCode()
public native int hashCode()
Returns: int
indicesToArray(int[][] result)
public void indicesToArray(int[][] result)
تحويل الفهارس إلى مصفوفة أعداد صحيحة 32 بت
Parameters:
| معامل | نوع | الوصف |
|---|---|---|
| النتيجة | int[][] |
indicesToArray(short[][] result)
public void indicesToArray(short[][] result)
تحويل الفهارس إلى مصفوفة أعداد صحيحة 16 بت
Parameters:
| معامل | نوع | الوصف |
|---|---|---|
| النتيجة | short[][] |
iterator()
public Iterator<Vertex> iterator()
احصل على المُعدِّد لتعداد Vertex
Returns: java.util.Iterator<com.aspose.threed.Vertex>
loadVerticesFromBytes(byte[] verticesInBytes)
public void loadVerticesFromBytes(byte[] verticesInBytes)
تحميل الرؤوس من البايتات، يجب أن يكون طول البايتات مضاعفًا صحيحًا لحجم الرأس. مثال: يوضح الكود التالي كيفية إنشاء TriMesh فارغ وتحميل الرؤوس يدويًا من البايتات الخام.
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:
| معامل | نوع | الوصف |
|---|---|---|
| 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)
قراءة الحقل من النوع double
Parameters:
| معامل | نوع | الوصف |
|---|---|---|
| idx | int | مؤشر القمة للقراءة |
| field | VertexField | الحقل من نوع بيانات متوافق مع float/double |
Returns: double - القيمة المزدوجة لحقل الرأس المحدد
readFVector2(int idx, VertexField field)
public FVector2 readFVector2(int idx, VertexField field)
قراءة الحقل من النوع vector2
Parameters:
| معامل | نوع | الوصف |
|---|---|---|
| idx | int | مؤشر القمة للقراءة |
| field | VertexField | الحقل من نوع بيانات Vector2/FVector2 |
Returns: FVector2 - FVector2 of specified vertex’s field
readFVector3(int idx, VertexField field)
public FVector3 readFVector3(int idx, VertexField field)
قراءة الحقل من النوع vector3
Parameters:
| معامل | نوع | الوصف |
|---|---|---|
| idx | int | مؤشر القمة للقراءة |
| field | VertexField | الحقل من نوع بيانات Vector3/FVector3 |
Returns: FVector3
readFVector4(int idx, VertexField field)
public FVector4 readFVector4(int idx, VertexField field)
قراءة حقل vector4
Parameters:
| معامل | نوع | الوصف |
|---|---|---|
| idx | int | مؤشر القمة للقراءة |
| field | VertexField | الحقل من نوع بيانات Vector4/FVector4 |
Returns: FVector4
readFloat(int idx, VertexField field)
public float readFloat(int idx, VertexField field)
قراءة حقل float
Parameters:
| معامل | نوع | الوصف |
|---|---|---|
| idx | int | مؤشر القمة للقراءة |
| field | VertexField | الحقل من نوع بيانات متوافق مع float/double |
Returns: float - القيمة العشرية لحقل الرأس المحدد
readVector2(int idx, VertexField field)
public Vector2 readVector2(int idx, VertexField field)
قراءة الحقل من النوع vector2
Parameters:
| معامل | نوع | الوصف |
|---|---|---|
| idx | int | مؤشر القمة للقراءة |
| field | VertexField | الحقل من نوع بيانات Vector2/FVector2 |
Returns: Vector2 - Vector2 of specified vertex’s field
readVector3(int idx, VertexField field)
public Vector3 readVector3(int idx, VertexField field)
قراءة الحقل من النوع vector3
Parameters:
| معامل | نوع | الوصف |
|---|---|---|
| idx | int | مؤشر القمة للقراءة |
| field | VertexField | الحقل من نوع بيانات Vector3/FVector3 |
Returns: Vector3
readVector4(int idx, VertexField field)
public Vector4 readVector4(int idx, VertexField field)
قراءة حقل vector4
Parameters:
| معامل | نوع | الوصف |
|---|---|---|
| idx | int | مؤشر القمة للقراءة |
| field | VertexField | الحقل من نوع بيانات Vector4/FVector4 |
Returns: Vector4
removeProperty(Property property)
public boolean removeProperty(Property property)
يزيل خاصية ديناميكية.
Parameters:
| معامل | نوع | الوصف |
|---|---|---|
| property | Property | أي خاصية تريد إزالتها |
Returns: boolean - true إذا تم إزالة الخاصية بنجاح
removeProperty(String property)
public boolean removeProperty(String property)
إزالة الخاصية المحددة التي تم التعرف عليها بالاسم.
Parameters:
| معامل | نوع | الوصف |
|---|---|---|
| خاصية | java.lang.String | أي خاصية تريد إزالتها |
Returns: boolean - true إذا تم إزالة الخاصية بنجاح
setExcluded(boolean value)
public void setExcluded(boolean value)
يضبط ما إذا كان يجب استبعاد هذا الكيان أثناء التصدير.
Parameters:
| معامل | نوع | الوصف |
|---|---|---|
| القيمة | boolean | القيمة الجديدة |
setName(String value)
public void setName(String value)
يضبط الاسم.
Parameters:
| معامل | نوع | الوصف |
|---|---|---|
| القيمة | java.lang.String | القيمة الجديدة |
setParentNode(Node value)
public void setParentNode(Node value)
يضبط أول عقدة أب، إذا تم ضبط أول عقدة أب، سيُفصل هذا الكيان عن عقد الأب الأخرى.
Parameters:
| معامل | نوع | الوصف |
|---|---|---|
| value | Node | القيمة الجديدة |
setProperty(String property, Object value)
public void setProperty(String property, Object value)
يضبط قيمة الخاصية المحددة
Parameters:
| معامل | نوع | الوصف |
|---|---|---|
| خاصية | java.lang.String | اسم الخاصية |
| القيمة | java.lang.Object | قيمة الخاصية |
toString()
public String toString()
يحصل على تمثيل النص لـ TriMesh
Returns: java.lang.String - تمثيل السلسلة النصية
verticesToArray()
public byte[] verticesToArray()
تحويل بيانات القمم إلى مصفوفة بايت
Returns: byte[]
wait()
public final void wait()
wait(long arg0)
public final void wait(long arg0)
Parameters:
| معامل | نوع | الوصف |
|---|---|---|
| arg0 | long |
wait(long arg0, int arg1)
public final void wait(long arg0, int arg1)
Parameters:
| معامل | نوع | الوصف |
|---|---|---|
| arg0 | long | |
| arg1 | int |
write16bIndicesTo(Stream stream)
public void write16bIndicesTo(Stream stream)
اكتب بيانات الفهارس كعدد صحيح 16 بت إلى الدفق 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:
| معامل | نوع | الوصف |
|---|---|---|
| stream | Stream |
write16bIndicesTo(OutputStream stream)
public void write16bIndicesTo(OutputStream stream)
اكتب بيانات الفهارس كعدد صحيح 16 بت إلى الدفق
Parameters:
| معامل | نوع | الوصف |
|---|---|---|
| تدفق | 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)
اكتب بيانات الفهارس كعدد صحيح 32 بت إلى الدفق **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:**
| معامل | نوع | الوصف |
| --- | --- | --- |
| stream | [Stream](../../com.aspose.threed/stream) | |
### write32bIndicesTo(OutputStream stream) {#write32bIndicesTo-java.io.OutputStream-}
public void write32bIndicesTo(OutputStream stream)
اكتب بيانات الفهارس كعدد صحيح 32 بت إلى الدفق
**Parameters:**
| معامل | نوع | الوصف |
| --- | --- | --- |
| | تدفق | 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.write32bIndicesTo(stream);
### writeVerticesTo(Stream stream) {#writeVerticesTo-com.aspose.threed.Stream-}
public void writeVerticesTo(Stream stream)
اكتب بيانات القمم إلى الدفق المحدد
**Parameters:**
| معامل | نوع | الوصف |
| --- | --- | --- |
| | stream | [Stream](../../com.aspose.threed/stream) | المسار الذي سيتم كتابة بيانات الرؤوس إليه **مثال:** |
//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)
اكتب بيانات القمم إلى الدفق المحدد
**Parameters:**
| معامل | نوع | الوصف |
| --- | --- | --- |
| | تدفق | 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);