VertexElement — Aspose.3D TypeScript API Reference

पैकेज: @aspose/3d (v24.12.0)

VertexElement एक प्रति-वर्टेक्स एट्रिब्यूट चैनलों के साथ जुड़ी सारभूत बेस क्लास है Geometry.प्रत्येक चैनल एक टाइप्ड डेटा एरे रखता है और mappingMode / referenceMode मेटाडेटा जो नियंत्रित करता है कि डेटा ज्योमेट्री प्रिमिटिव्स से कैसे संबंधित है। सबक्लासेज़ हैं: VertexElementNormal, VertexElementUV, और VertexElementVertexColor.

import { VertexElement, VertexElementNormal, VertexElementUV, VertexElementVertexColor } from '@aspose/3d';

ImageRenderOptions

export abstract class VertexElement implements IIndexedVertexElement

ImageRenderOptions

constructor(
  elementType: VertexElementType,
  name: string = '',
  mappingMode: MappingMode | null = null,
  referenceMode: ReferenceMode | null = null,
)

ImageRenderOptions mappingMode है MappingMode.CONTROL_POINT; डिफ़ॉल्ट referenceMode है ReferenceMode.DIRECT.

ImageRenderOptions

ImageRenderOptionsImageRenderOptionsImageRenderOptionsImageRenderOptions
vertexElementTypeVertexElementTypeपढ़ेंइस लेयर का सिमैंटिक प्रकार।.
namestringपढ़ें/लिखेंइस लेयर के लिए वैकल्पिक लेबल।.
mappingModeMappingModeपढ़ें/लिखेंनियंत्रित करता है कि प्रत्येक मान किस ज्योमेट्री प्रिमिटिव से जुड़ा है।.
referenceModeReferenceModeपढ़ें/लिखेंनियंत्रित करता है कि मान सीधे संबोधित किए जाएँ या एक इंडेक्स एरे के माध्यम से।.
indicesnumber[]पढ़ेंइंडेक्स एरे के लिए IndexToDirect संदर्भ मोड।.

ImageRenderOptions

setIndices(data)

NOT IMPLEMENTED. बेस पर VertexElement क्लास, यह मेथड थ्रो करता है Error('set_indices is not implemented') रनटाइम पर। सबक्लासेज़ VertexElementFVector और VertexElementIntsTemplate कार्यशील कार्यान्वयन प्रदान करते हैं।.

इंडेक्स एरे को बदलें।.

setIndices(data: number[]): void

clear()

NOT IMPLEMENTED. बेस पर VertexElement क्लास, यह मेथड थ्रो करता है Error('clear is not implemented') रनटाइम पर। सबक्लासेज़ VertexElementFVector और VertexElementIntsTemplate कार्यशील कार्यान्वयन प्रदान करते हैं।.

लेयर से सभी डेटा और इंडेक्स हटाएँ।.

clear(): void

VertexElementNormal

सतह के नॉर्मल वेक्टर संग्रहीत करता है। सही लाइटिंग के लिए अधिकांश रेंडरर्स को नॉर्मल डेटा की आवश्यकता होती है।.

export class VertexElementNormal extends VertexElementFVector

ImageRenderOptions

VertexElementVertexElementFVectorVertexElementNormal

ImageRenderOptions

new VertexElementNormal(
  name: string = '',
  mappingMode: MappingMode | null = null,
  referenceMode: ReferenceMode | null = null,
)

vertexElementType को निर्धारित किया गया है VertexElementType.NORMAL.


VertexElementUV

2D टेक्सचर निर्देशांक संग्रहीत करता है। एक मेष विभिन्न टेक्सचर चैनलों के लिए कई UV लेयर ले जा सकता है। यह textureMapping प्रॉपर्टी चैनल के उद्देश्य को पहचानती है।.

export class VertexElementUV extends VertexElementFVector

ImageRenderOptions

VertexElementVertexElementFVectorVertexElementUV

ImageRenderOptions

new VertexElementUV(
  textureMapping: TextureMapping | null = null,
  name: string = '',
  mappingMode: MappingMode | null = null,
  referenceMode: ReferenceMode | null = null,
)

डिफ़ॉल्ट रूप से TextureMapping.DIFFUSE जब textureMapping है null.

अतिरिक्त गुण

ImageRenderOptionsImageRenderOptionsImageRenderOptionsImageRenderOptions
textureMappingTextureMappingपढ़ेंवह टेक्सचर चैनल जिससे यह UV लेयर जुड़ी है।.
dataFVector4[]पढ़ेंUV मान इस रूप में प्रदर्शित होते हैं FVector4 एंट्रीज़ (z और w हैं 0).
uvDataFVector2[]पढ़ेंUV मान इस रूप में FVector2 एंट्रीज़ (केवल x, y)।.

addData(data)

UV मान जोड़ें। स्वीकार करता है FVector2[], FVector3[], या FVector4[].

addData(data: FVector2[] | FVector3[] | FVector4[]): void

VertexElementVertexColor

प्रति-शिखर RGBA रंग मान संग्रहीत करता है। घटक 0–1 की सीमा में होते हैं।.

export class VertexElementVertexColor extends VertexElementFVector

ImageRenderOptions

VertexElementVertexElementFVectorVertexElementVertexColor

ImageRenderOptions

new VertexElementVertexColor(
  name: string = '',
  mappingMode: MappingMode | null = null,
  referenceMode: ReferenceMode | null = null,
)

vertexElementType को स्थिर किया गया है VertexElementType.VERTEX_COLOR.


ImageRenderOptions

त्रिभुज मेष में नॉर्मल जोड़ें:

import { Scene, Mesh, Vector4, VertexElementType, MappingMode, ReferenceMode, FVector4 } from '@aspose/3d';

const mesh = new Mesh();
mesh.controlPoints.push(new Vector4(0, 0, 0, 1));
mesh.controlPoints.push(new Vector4(1, 0, 0, 1));
mesh.controlPoints.push(new Vector4(0.5, 1, 0, 1));
mesh.createPolygon(0, 1, 2);

const normals = mesh.createElement(
  VertexElementType.NORMAL,
  MappingMode.CONTROL_POINT,
  ReferenceMode.DIRECT,
);
normals.setData([
  new FVector4(0, 0, 1, 0),
  new FVector4(0, 0, 1, 0),
  new FVector4(0, 0, 1, 0),
]);

const scene = new Scene();
scene.rootNode.createChildNode('tri', mesh);
scene.save('triangle_normals.glb');

UV निर्देशांक जोड़ें:

import { Scene, Mesh, Vector4, TextureMapping, MappingMode, ReferenceMode, FVector2 } from '@aspose/3d';

const mesh = new Mesh();
for (const [x, z] of [[0,0],[1,0],[1,1],[0,1]]) {
  mesh.controlPoints.push(new Vector4(x, 0, z, 1));
}
mesh.createPolygon(0, 1, 2, 3);

const uv = mesh.createElementUV(TextureMapping.DIFFUSE, MappingMode.CONTROL_POINT, ReferenceMode.DIRECT);
uv.addData([
  new FVector2(0, 0),
  new FVector2(1, 0),
  new FVector2(1, 1),
  new FVector2(0, 1),
]);

const scene = new Scene();
scene.rootNode.createChildNode('quad', mesh);
scene.save('quad_uv.glb');

संबंधित देखें

 हिन्दी