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>

En TriMesh innehåller rådata som kan användas av GPU direkt. Denna klass är ett verktyg för att hjälpa till att konstruera ett mesh som endast innehåller per-vertex-data. Example: Följande kod visar hur man skapar en TriMesh med anpassad minneslayout och exporterar den till fil.

//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);
              }

Konstruktörer

KonstruktorBeskrivning
TriMesh(String name, VertexDeclaration declaration)Initiera en instans av TriMesh

Metoder

MetodBeskrivning
addTriangle(int a, int b, int c)Lägg till en ny triangel
beginVertex()Börja lägga till vertex
copyFrom(TriMesh input, VertexDeclaration vd)Kopiera TriMesh från indata med ny vertexlayout
endVertex()Avsluta att lägga till vertex
equals(Object arg0)
findProperty(String propertyName)Hittar egenskapen.
fromMesh(Mesh mesh)Skapa en TriMesh från givet mesh-objekt, vertexdeklarationen baseras på indata meshens struktur.
fromMesh(Mesh mesh, boolean useFloat)Skapa en TriMesh från givet mesh-objekt, vertexdeklarationen baseras på indata meshens struktur.
fromMesh(VertexDeclaration declaration, Mesh mesh)Skapa en TriMesh från givet mesh-objekt med angiven vertexlayout.
fromRawData(VertexDeclaration vd, byte[] vertices, int[] indices, boolean generateVertexMapping)Skapa TriMesh från rådata
getBoundingBox()Hämtar den omgivande lådan för den aktuella enheten i dess objektrumskoordinatsystem.
getCapacity()Kapaciteten för förallokerade vertexar.
getClass()
getEntityRendererKey()Hämtar nyckeln för enhetens renderare som är registrerad i renderaren
getExcluded()Hämtar om denna enhet ska exkluderas vid export.
getIndicesCount()Antalet index i denna TriMesh
getIntIndices()Konvertera indexen till en 32-bitars heltalsarray
getName()Hämtar namnet.
getParentNode()Hämtar den första föräldranoden, om den första föräldranoden sätts, kommer denna enhet att frikopplas från andra föräldranoder.
getParentNodes()Hämtar alla föräldranoder, en enhet kan fästas vid flera föräldranoder för geometrisk instansering
getProperties()Hämtar samlingen av alla egenskaper.
getProperty(String property)Hämta värdet för angiven egenskap
getScene()Hämtar scenen som detta objekt tillhör
getShortIndices()Konvertera indexen till en 16-bitars heltalsarray
getUnmergedVerticesCount()Antalet icke-sammanslagna vertexar som skickas in av beginVertex och endVertex.
getVertexDeclaration()Vertexlayouten för TriMesh.
getVerticesCount()Antalet vertexar i denna TriMesh
getVerticesSizeInBytes()Den totala storleken för alla vertexar i byte
hashCode()
indicesToArray(int[][] result)Konvertera indexen till en 32-bitars heltalsarray
indicesToArray(short[][] result)Konvertera indexen till en 16-bitars heltalsarray
iterator()Hämta enumeratorn för att enumerera Vertex
loadVerticesFromBytes(byte[] verticesInBytes)Läs in vertexar från byte, längden på byte måste vara ett heltalsmultipel av vertexstorleken.
notify()
notifyAll()
readDouble(int idx, VertexField field)Läs fältet av typen double
readFVector2(int idx, VertexField field)Läs fältet vector2
readFVector3(int idx, VertexField field)Läs fältet vector3
readFVector4(int idx, VertexField field)Läs vector4-fältet
readFloat(int idx, VertexField field)Läs float-fältet
readVector2(int idx, VertexField field)Läs fältet vector2
readVector3(int idx, VertexField field)Läs fältet vector3
readVector4(int idx, VertexField field)Läs vector4-fältet
removeProperty(Property property)Tar bort en dynamisk egenskap.
removeProperty(String property)Ta bort den angivna egenskapen identifierad med namn
setExcluded(boolean value)Ställer in om denna enhet ska exkluderas vid export.
setName(String value)Ställer in namnet.
setParentNode(Node value)Ställer in den första föräldranoden, om den första föräldranoden sätts, kommer denna enhet att frikopplas från andra föräldranoder.
setProperty(String property, Object value)Ställer in värdet för angiven egenskap
toString()Hämtar strängrepresentationen av TriMesh
verticesToArray()Konvertera vertexdata till bytearray
wait()
wait(long arg0)
wait(long arg0, int arg1)
write16bIndicesTo(Stream stream)Skriv indexdata som 16-bit heltal till strömmen Example:
write16bIndicesTo(OutputStream stream)Skriv indexdata som 16-bit heltal till strömmen
write32bIndicesTo(Stream stream)Skriv indexdata som 32-bit heltal till strömmen Example:
write32bIndicesTo(OutputStream stream)Skriv indexdata som 32-bit heltal till strömmen
writeVerticesTo(Stream stream)Skriv vertexdata till den angivna strömmen
writeVerticesTo(OutputStream stream)Skriv vertexdata till den angivna strömmen

TriMesh(String name, VertexDeclaration declaration)

public TriMesh(String name, VertexDeclaration declaration)

Initiera en instans av TriMesh

Parameters:

ParameterTypBeskrivning
namnjava.lang.StringNamnet på detta TriMesh
declarationVertexDeclarationVertexens deklaration

addTriangle(int a, int b, int c)

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

Lägg till en ny triangel

Parameters:

ParameterTypBeskrivning
aintIndex för första vertexen
bintIndex för andra vertexen
cintIndex för tredje vertexen

beginVertex()

public Vertex beginVertex()

Börja lägga till 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)

Kopiera TriMesh från indata med ny vertexlayout

Parameters:

ParameterTypBeskrivning
inputTriMeshIngångs-TriMesh för kopiering
vdVertexDeclarationDen nya vertexdeklarationen för utdata-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()

Avsluta att lägga till vertex

Returns: int

equals(Object arg0)

public boolean equals(Object arg0)

Parameters:

ParameterTypBeskrivning
arg0java.lang.Object

Returns: boolean

findProperty(String propertyName)

public Property findProperty(String propertyName)

Hittar egenskapen. Den kan vara en dynamisk egenskap (Skapad av CreateDynamicProperty/SetProperty) eller en inbyggd egenskap (Identifierad med dess namn)

Parameters:

ParameterTypBeskrivning
propertyNamejava.lang.StringEgenskapsnamn.

Returns: Property - The property.

fromMesh(Mesh mesh)

public static TriMesh fromMesh(Mesh mesh)

Skapa en TriMesh från givet mesh-objekt, vertexdeklarationen baseras på indata meshens struktur.

Parameters:

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

Skapa en TriMesh från givet mesh-objekt, vertexdeklarationen baseras på indata meshens struktur.

Parameters:

ParameterTypBeskrivning
meshMesh
useFloatbooleanAnvänd float-typ istället för double-typ för varje vertex-elementkomponent.

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)

Skapa en TriMesh från givet mesh-objekt med angiven vertexlayout.

Parameters:

ParameterTypBeskrivning
declarationVertexDeclarationVertexens typdefinition, eller minneslayout
meshMeshKällmesh

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)

Skapa TriMesh från rådata

Parameters:

ParameterTypBeskrivning
vdVertexDeclarationVertexdeklaration, måste innehålla minst ett fält.
verticesbyte[]Den inmatade vertexdata, den minsta längden på vertexarna måste vara större än eller lika med vertexdeklarationens storlek
indexint[]Triangelindexen
generateVertexMappingbooleanGenerera Vertex för varje vertex, vilket inte är nödvändigt enbart för serialisering/deserialisering.

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

Hämtar den omgivande lådan för den aktuella enheten i dess objektrumskoordinatsystem.

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

Kapaciteten för förallokerade vertexar.

Returns: int - Kapaciteten för förallokerade vertexar.

getClass()

public final native Class<?> getClass()

Returns: java.lang.Class

getEntityRendererKey()

public EntityRendererKey getEntityRendererKey()

Hämtar nyckeln för enhetens renderare som är registrerad i renderaren

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

getExcluded()

public boolean getExcluded()

Hämtar om denna enhet ska exkluderas vid export.

Returns: boolean - om denna enhet ska exkluderas vid export.

getIndicesCount()

public int getIndicesCount()

Antalet index i denna TriMesh

Returns: int - Antalet index i denna TriMesh

getIntIndices()

public int[] getIntIndices()

Konvertera indexen till en 32-bitars heltalsarray

Returns: int[]

getName()

public String getName()

Hämtar namnet.

Returns: java.lang.String - namnet.

getParentNode()

public Node getParentNode()

Hämtar den första föräldranoden, om den första föräldranoden sätts, kommer denna enhet att frikopplas från andra föräldranoder.

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

Hämtar alla föräldranoder, en enhet kan fästas vid flera föräldranoder för geometrisk instansering

Returns: java.util.ArrayList<com.aspose.threed.Node> - alla föräldranoder, en entitet kan fästas på flera föräldranoder för geometriinstansering

getProperties()

public PropertyCollection getProperties()

Hämtar samlingen av alla egenskaper.

Returns: PropertyCollection - the collection of all properties.

getProperty(String property)

public Object getProperty(String property)

Hämta värdet för angiven egenskap

Parameters:

ParameterTypBeskrivning
egenskapjava.lang.StringEgenskapsnamn

Returns: java.lang.Object - Värdet på den hittade egenskapen

getScene()

public Scene getScene()

Hämtar scenen som detta objekt tillhör

Returns: Scene - the scene that this object belongs to

getShortIndices()

public short[] getShortIndices()

Konvertera indexen till en 16-bitars heltalsarray

Returns: short[]

getUnmergedVerticesCount()

public int getUnmergedVerticesCount()

Antalet icke-sammanslagna vertexar som skickas in av beginVertex och endVertex.

Returns: int - Antalet icke-sammanslagna vertexar som skickas in av beginVertex och endVertex.

getVertexDeclaration()

public VertexDeclaration getVertexDeclaration()

Vertexlayouten för TriMesh.

Returns: VertexDeclaration - The vertex layout of the TriMesh.

getVerticesCount()

public int getVerticesCount()

Antalet vertexar i denna TriMesh

Returns: int - Antalet vertexar i denna TriMesh

getVerticesSizeInBytes()

public int getVerticesSizeInBytes()

Den totala storleken för alla vertexar i byte

Returns: int - Den totala storleken för alla vertexar i byte

hashCode()

public native int hashCode()

Returns: int

indicesToArray(int[][] result)

public void indicesToArray(int[][] result)

Konvertera indexen till en 32-bitars heltalsarray

Parameters:

ParameterTypBeskrivning
resultatint[][]

indicesToArray(short[][] result)

public void indicesToArray(short[][] result)

Konvertera indexen till en 16-bitars heltalsarray

Parameters:

ParameterTypBeskrivning
resultatshort[][]

iterator()

public Iterator<Vertex> iterator()

Hämta enumeratorn för att enumerera Vertex

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

loadVerticesFromBytes(byte[] verticesInBytes)

public void loadVerticesFromBytes(byte[] verticesInBytes)

Läs in vertexar från byte, längden på byte måste vara ett heltalsmultipel av vertexstorleken. Exempel: Följande kod visar hur man skapar en tom TriMesh och manuellt läser in vertexar från råa 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:

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

Läs fältet av typen double

Parameters:

ParameterTypBeskrivning
idxintIndexet för vertexen att läsa
fieldVertexFieldFältet med en float/double-kompatibel datatyp

Returns: double - Dubbelvärde för specificerat vertexfält

readFVector2(int idx, VertexField field)

public FVector2 readFVector2(int idx, VertexField field)

Läs fältet vector2

Parameters:

ParameterTypBeskrivning
idxintIndexet för vertexen att läsa
fieldVertexFieldFältet med en Vector2/FVector2-datatyp

Returns: FVector2 - FVector2 of specified vertex’s field

readFVector3(int idx, VertexField field)

public FVector3 readFVector3(int idx, VertexField field)

Läs fältet vector3

Parameters:

ParameterTypBeskrivning
idxintIndexet för vertexen att läsa
fieldVertexFieldFältet med en Vector3/FVector3-datatyp

Returns: FVector3

readFVector4(int idx, VertexField field)

public FVector4 readFVector4(int idx, VertexField field)

Läs vector4-fältet

Parameters:

ParameterTypBeskrivning
idxintIndexet för vertexen att läsa
fieldVertexFieldFältet med en Vector4/FVector4-datatyp

Returns: FVector4

readFloat(int idx, VertexField field)

public float readFloat(int idx, VertexField field)

Läs float-fältet

Parameters:

ParameterTypBeskrivning
idxintIndexet för vertexen att läsa
fieldVertexFieldFältet med en float/double-kompatibel datatyp

Returns: float - Floatvärde för specificerat vertexfält

readVector2(int idx, VertexField field)

public Vector2 readVector2(int idx, VertexField field)

Läs fältet vector2

Parameters:

ParameterTypBeskrivning
idxintIndexet för vertexen att läsa
fieldVertexFieldFältet med en Vector2/FVector2-datatyp

Returns: Vector2 - Vector2 of specified vertex’s field

readVector3(int idx, VertexField field)

public Vector3 readVector3(int idx, VertexField field)

Läs fältet vector3

Parameters:

ParameterTypBeskrivning
idxintIndexet för vertexen att läsa
fieldVertexFieldFältet med en Vector3/FVector3-datatyp

Returns: Vector3

readVector4(int idx, VertexField field)

public Vector4 readVector4(int idx, VertexField field)

Läs vector4-fältet

Parameters:

ParameterTypBeskrivning
idxintIndexet för vertexen att läsa
fieldVertexFieldFältet med en Vector4/FVector4-datatyp

Returns: Vector4

removeProperty(Property property)

public boolean removeProperty(Property property)

Tar bort en dynamisk egenskap.

Parameters:

ParameterTypBeskrivning
propertyPropertyVilken egenskap som ska tas bort

Returns: boolean - true om egenskapen har tagits bort framgångsrikt

removeProperty(String property)

public boolean removeProperty(String property)

Ta bort den angivna egenskapen identifierad med namn

Parameters:

ParameterTypBeskrivning
egenskapjava.lang.StringVilken egenskap som ska tas bort

Returns: boolean - true om egenskapen har tagits bort framgångsrikt

setExcluded(boolean value)

public void setExcluded(boolean value)

Ställer in om denna enhet ska exkluderas vid export.

Parameters:

ParameterTypBeskrivning
värdebooleanNytt värde

setName(String value)

public void setName(String value)

Ställer in namnet.

Parameters:

ParameterTypBeskrivning
värdejava.lang.StringNytt värde

setParentNode(Node value)

public void setParentNode(Node value)

Ställer in den första föräldranoden, om den första föräldranoden sätts, kommer denna enhet att frikopplas från andra föräldranoder.

Parameters:

ParameterTypBeskrivning
valueNodeNytt värde

setProperty(String property, Object value)

public void setProperty(String property, Object value)

Ställer in värdet för angiven egenskap

Parameters:

ParameterTypBeskrivning
egenskapjava.lang.StringEgenskapsnamn
värdejava.lang.ObjectVärdet på egenskapen

toString()

public String toString()

Hämtar strängrepresentationen av TriMesh

Returns: java.lang.String - Strängrepresentation

verticesToArray()

public byte[] verticesToArray()

Konvertera vertexdata till bytearray

Returns: byte[]

wait()

public final void wait()

wait(long arg0)

public final void wait(long arg0)

Parameters:

ParameterTypBeskrivning
arg0long

wait(long arg0, int arg1)

public final void wait(long arg0, int arg1)

Parameters:

ParameterTypBeskrivning
arg0long
arg1int

write16bIndicesTo(Stream stream)

public void write16bIndicesTo(Stream stream)

Skriv indexdata som 16-bit heltal till strömmen 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:

ParameterTypBeskrivning
streamStream

write16bIndicesTo(OutputStream stream)

public void write16bIndicesTo(OutputStream stream)

Skriv indexdata som 16-bit heltal till strömmen

Parameters:

ParameterTypBeskrivning
strömjava.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)



Skriv indexdata som 32-bit heltal till strömmen **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 | Typ | Beskrivning |
| --- | --- | --- |
| stream | [Stream](../../com.aspose.threed/stream) |  |

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

public void write32bIndicesTo(OutputStream stream)



Skriv indexdata som 32-bit heltal till strömmen

**Parameters:**
| Parameter | Typ | Beskrivning |
| --- | --- | --- |
|  | ström | java.io.OutputStream | **Exempel:** |

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



Skriv vertexdata till den angivna strömmen

**Parameters:**
| Parameter | Typ | Beskrivning |
| --- | --- | --- |
|  | stream | [Stream](../../com.aspose.threed/stream) | Strömmen som vertexdata kommer att skrivas till **Exempel:** |

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



Skriv vertexdata till den angivna strömmen

**Parameters:**
| Parameter | Typ | Beskrivning |
| --- | --- | --- |
|  | ström | java.io.OutputStream | Strömmen som vertexdata kommer att skrivas till **Exempel:** |

//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);