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. Αυτή η κλάση είναι ένα βοηθητικό εργαλείο για τη δημιουργία ενός πλέγματος που περιέχει μόνο δεδομένα ανά κορυφή. Παράδειγμα: Ο παρακάτω κώδικας δείχνει πώς να δημιουργήσετε ένα 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()Μετατρέψτε τους δείκτες σε πίνακα ακεραίων 32bit
getName()Λαμβάνει το όνομα.
getParentNode()Λαμβάνει τον πρώτο γονικό κόμβο, εάν οριστεί ο πρώτος γονικός κόμβος, αυτή η οντότητα θα αποσυνδεθεί από άλλους γονικούς κόμβους.
getParentNodes()Λαμβάνει όλους τους γονικούς κόμβους, μια οντότητα μπορεί να προσαρτηθεί σε πολλούς γονικούς κόμβους για δημιουργία γεωμετρικών αντιγράφων.
getProperties()Λαμβάνει τη συλλογή όλων των ιδιοτήτων.
getProperty(String property)Λάβετε την τιμή της συγκεκριμένης ιδιότητας
getScene()Λαμβάνει τη σκηνή στην οποία ανήκει αυτό το αντικείμενο
getShortIndices()Μετατρέψτε τους δείκτες σε πίνακα ακεραίων 16bit
getUnmergedVerticesCount()Ο αριθμός των μη συγχωνευμένων κορυφών που περάστηκαν από το beginVertex και το endVertex.
getVertexDeclaration()Η διάταξη κορυφών του TriMesh.
getVerticesCount()Ο αριθμός των κορυφών σε αυτό το TriMesh
getVerticesSizeInBytes()Το συνολικό μέγεθος όλων των κορυφών σε bytes
hashCode()
indicesToArray(int[][] result)Μετατρέψτε τους δείκτες σε πίνακα ακεραίων 32bit
indicesToArray(short[][] result)Μετατρέψτε τους δείκτες σε πίνακα ακεραίων 16bit
iterator()Αποκτήστε τον απαριθμητή για να απαριθμήσετε Vertex
loadVerticesFromBytes(byte[] verticesInBytes)Φορτώστε τις κορυφές από byte, το μήκος των byte πρέπει να είναι ακέραιο πολλαπλάσιο του μεγέθους της κορυφής.
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()Μετατρέψτε τα δεδομένα των κορυφών σε πίνακα byte
wait()
wait(long arg0)
wait(long arg0, int arg1)
write16bIndicesTo(Stream stream)Γράψτε τα δεδομένα δεικτών ως 16-bit ακέραιο στη ροή Παράδειγμα:
write16bIndicesTo(OutputStream stream)Γράψτε τα δεδομένα δεικτών ως 16-bit ακέραιο στη ροή
write32bIndicesTo(Stream stream)Γράψτε τα δεδομένα δεικτών ως 32-bit ακέραιο στη ροή Παράδειγμα:
write32bIndicesTo(OutputStream stream)Γράψτε τα δεδομένα δεικτών ως 32-bit ακέραιο στη ροή
writeVerticesTo(Stream stream)Γράψτε τα δεδομένα κορυφών στη καθορισμένη ροή
writeVerticesTo(OutputStream stream)Γράψτε τα δεδομένα κορυφών στη καθορισμένη ροή

TriMesh(String name, VertexDeclaration declaration)

public TriMesh(String name, VertexDeclaration declaration)

Αρχικοποιήστε ένα στιγμιότυπο του TriMesh

Parameters:

ΠαράμετροςΤύποςΠεριγραφή
namejava.lang.StringΤο όνομα αυτού του TriMesh
declarationVertexDeclarationΗ δήλωση της κορυφής

addTriangle(int a, int b, int c)

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

Προσθέστε ένα νέο τρίγωνο

Parameters:

ΠαράμετροςΤύποςΠεριγραφή
αintΟ δείκτης της πρώτης κορυφής
bintΟ δείκτης της δεύτερης κορυφής
cintΟ δείκτης της τρίτης κορυφής

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:

ΠαράμετροςΤύποςΠεριγραφή
inputTriMeshΤο εισαγόμενο TriMesh για αντιγραφή
vdVertexDeclarationΗ νέα δήλωση κορυφής του εξόδου 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:

ΠαράμετροςΤύποςΠεριγραφή
arg0java.lang.Object

Returns: boolean

findProperty(String propertyName)

public Property findProperty(String propertyName)

Βρίσκει την ιδιότητα. Μπορεί να είναι μια δυναμική ιδιότητα (Δημιουργήθηκε με CreateDynamicProperty/SetProperty) ή εγγενής ιδιότητα (Προσδιορίζεται με το όνομά της)

Parameters:

ΠαράμετροςΤύποςΠεριγραφή
propertyNamejava.lang.StringΌνομα ιδιότητας.

Returns: Property - The property.

fromMesh(Mesh mesh)

public static TriMesh fromMesh(Mesh mesh)

Δημιουργήστε ένα TriMesh από το δοσμένο αντικείμενο πλέγματος, η δήλωση κορυφών βασίζεται στη δομή του εισαγόμενου πλέγματος.

Parameters:

ΠαράμετροςΤύποςΠεριγραφή
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)

Δημιουργήστε ένα TriMesh από το δοσμένο αντικείμενο πλέγματος, η δήλωση κορυφών βασίζεται στη δομή του εισαγόμενου πλέγματος.

Parameters:

ΠαράμετροςΤύποςΠεριγραφή
meshMesh
useFloatbooleanΧρησιμοποιήστε τύπο 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:

ΠαράμετροςΤύποςΠεριγραφή
declarationVertexDeclarationΟ ορισμός τύπου της κορυφής, ή η διάταξη μνήμης
meshMeshΠηγαίο πλέγμα

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:

ΠαράμετροςΤύποςΠεριγραφή
vdVertexDeclarationΗ δήλωση κορυφών πρέπει να περιέχει τουλάχιστον ένα πεδίο.
verticesbyte[]Τα δεδομένα εισόδου των κορυφών, το ελάχιστο μήκος των κορυφών πρέπει να είναι μεγαλύτερο ή ίσο με το μέγεθος της δήλωσης κορυφών.
δείκτεςint[]Οι δείκτες τριγώνων
generateVertexMappingbooleanΔημιουργήστε 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: boolean - αν θα εξαιρεθεί αυτή η οντότητα κατά την εξαγωγή.

getIndicesCount()

public int getIndicesCount()

Ο αριθμός των δεικτών σε αυτό το TriMesh

Returns: int - Ο αριθμός των δεικτών σε αυτό το TriMesh

getIntIndices()

public int[] getIntIndices()

Μετατρέψτε τους δείκτες σε πίνακα ακεραίων 32bit

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()

Μετατρέψτε τους δείκτες σε πίνακα ακεραίων 16bit

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()

Το συνολικό μέγεθος όλων των κορυφών σε bytes

Returns: int - Το συνολικό μέγεθος όλων των κορυφών σε bytes

hashCode()

public native int hashCode()

Returns: int

indicesToArray(int[][] result)

public void indicesToArray(int[][] result)

Μετατρέψτε τους δείκτες σε πίνακα ακεραίων 32bit

Parameters:

ΠαράμετροςΤύποςΠεριγραφή
αποτέλεσμαint[][]

indicesToArray(short[][] result)

public void indicesToArray(short[][] result)

Μετατρέψτε τους δείκτες σε πίνακα ακεραίων 16bit

Parameters:

ΠαράμετροςΤύποςΠεριγραφή
αποτέλεσμαshort[][]

iterator()

public Iterator<Vertex> iterator()

Αποκτήστε τον απαριθμητή για να απαριθμήσετε Vertex

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

loadVerticesFromBytes(byte[] verticesInBytes)

public void loadVerticesFromBytes(byte[] verticesInBytes)

Φορτώστε κορυφές από byte, το μήκος των byte πρέπει να είναι ακέραιο πολλαπλάσιο του μεγέθους της κορυφής. Example: Ο παρακάτω κώδικας δείχνει πώς να δημιουργήσετε ένα κενό TriMesh και να φορτώσετε χειροκίνητα κορυφές από ακατέργαστα byte.

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:

ΠαράμετροςΤύποςΠεριγραφή
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)

Διαβάστε το πεδίο double

Parameters:

ΠαράμετροςΤύποςΠεριγραφή
idxintΟ δείκτης της κορυφής για ανάγνωση
fieldVertexFieldΤο πεδίο με συμβατό τύπο δεδομένων float/double

Returns: double - Double τιμή του πεδίου της καθορισμένης κορυφής

readFVector2(int idx, VertexField field)

public FVector2 readFVector2(int idx, VertexField field)

Διαβάστε το πεδίο vector2

Parameters:

ΠαράμετροςΤύποςΠεριγραφή
idxintΟ δείκτης της κορυφής για ανάγνωση
fieldVertexFieldΤο πεδίο με τύπο δεδομένων Vector2/FVector2

Returns: FVector2 - FVector2 of specified vertex’s field

readFVector3(int idx, VertexField field)

public FVector3 readFVector3(int idx, VertexField field)

Διαβάστε το πεδίο vector3

Parameters:

ΠαράμετροςΤύποςΠεριγραφή
idxintΟ δείκτης της κορυφής για ανάγνωση
fieldVertexFieldΤο πεδίο με τύπο δεδομένων Vector3/FVector3

Returns: FVector3

readFVector4(int idx, VertexField field)

public FVector4 readFVector4(int idx, VertexField field)

Διαβάστε το πεδίο vector4

Parameters:

ΠαράμετροςΤύποςΠεριγραφή
idxintΟ δείκτης της κορυφής για ανάγνωση
fieldVertexFieldΤο πεδίο με τύπο δεδομένων Vector4/FVector4

Returns: FVector4

readFloat(int idx, VertexField field)

public float readFloat(int idx, VertexField field)

Διαβάστε το πεδίο float

Parameters:

ΠαράμετροςΤύποςΠεριγραφή
idxintΟ δείκτης της κορυφής για ανάγνωση
fieldVertexFieldΤο πεδίο με συμβατό τύπο δεδομένων float/double

Returns: float - Float τιμή του πεδίου της καθορισμένης κορυφής

readVector2(int idx, VertexField field)

public Vector2 readVector2(int idx, VertexField field)

Διαβάστε το πεδίο vector2

Parameters:

ΠαράμετροςΤύποςΠεριγραφή
idxintΟ δείκτης της κορυφής για ανάγνωση
fieldVertexFieldΤο πεδίο με τύπο δεδομένων Vector2/FVector2

Returns: Vector2 - Vector2 of specified vertex’s field

readVector3(int idx, VertexField field)

public Vector3 readVector3(int idx, VertexField field)

Διαβάστε το πεδίο vector3

Parameters:

ΠαράμετροςΤύποςΠεριγραφή
idxintΟ δείκτης της κορυφής για ανάγνωση
fieldVertexFieldΤο πεδίο με τύπο δεδομένων Vector3/FVector3

Returns: Vector3

readVector4(int idx, VertexField field)

public Vector4 readVector4(int idx, VertexField field)

Διαβάστε το πεδίο vector4

Parameters:

ΠαράμετροςΤύποςΠεριγραφή
idxintΟ δείκτης της κορυφής για ανάγνωση
fieldVertexFieldΤο πεδίο με τύπο δεδομένων Vector4/FVector4

Returns: Vector4

removeProperty(Property property)

public boolean removeProperty(Property property)

Αφαιρεί μια δυναμική ιδιότητα.

Parameters:

ΠαράμετροςΤύποςΠεριγραφή
propertyPropertyΠοια ιδιότητα να αφαιρεθεί

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:

ΠαράμετροςΤύποςΠεριγραφή
valueNodeΝέα τιμή

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()

Μετατρέψτε τα δεδομένα των κορυφών σε πίνακα byte

Returns: byte[]

wait()

public final void wait()

wait(long arg0)

public final void wait(long arg0)

Parameters:

ΠαράμετροςΤύποςΠεριγραφή
arg0long

wait(long arg0, int arg1)

public final void wait(long arg0, int arg1)

Parameters:

ΠαράμετροςΤύποςΠεριγραφή
arg0long
arg1int

write16bIndicesTo(Stream stream)

public void write16bIndicesTo(Stream stream)

Γράψτε τα δεδομένα δεικτών ως 16-bit ακέραιο στη ροή Παράδειγμα:

//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:

ΠαράμετροςΤύποςΠεριγραφή
streamStream

write16bIndicesTo(OutputStream stream)

public void write16bIndicesTo(OutputStream stream)

Γράψτε τα δεδομένα δεικτών ως 16-bit ακέραιο στη ροή

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-bit ακέραιο στη ροή **Παράδειγμα:**

//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-bit ακέραιο στη ροή

**Parameters:**
| Παράμετρος | Τύπος | Περιγραφή |
| --- | --- | --- |
|  | ροή | java.io.OutputStream | **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();
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) | Η ροή στην οποία θα γραφούν τα δεδομένα των κορυφών **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); }


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

public void writeVerticesTo(OutputStream stream)



Γράψτε τα δεδομένα κορυφών στη καθορισμένη ροή

**Parameters:**
| Παράμετρος | Τύπος | Περιγραφή |
| --- | --- | --- |
|  | ροή | java.io.OutputStream | Η ροή στην οποία θα γραφούν τα δεδομένα των κορυφών **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();
triMesh.writeVerticesTo(stream);
//save indices as ushort to stream, 504 indices * 2 bytes per index
triMesh.write16bIndicesTo(stream);