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 IIndexedVertexElementImageRenderOptions
constructor(
elementType: VertexElementType,
name: string = '',
mappingMode: MappingMode | null = null,
referenceMode: ReferenceMode | null = null,
)ImageRenderOptions mappingMode है MappingMode.CONTROL_POINT; डिफ़ॉल्ट referenceMode है ReferenceMode.DIRECT.
ImageRenderOptions
| ImageRenderOptions | ImageRenderOptions | ImageRenderOptions | ImageRenderOptions |
|---|---|---|---|
vertexElementType | VertexElementType | पढ़ें | इस लेयर का सिमैंटिक प्रकार।. |
name | string | पढ़ें/लिखें | इस लेयर के लिए वैकल्पिक लेबल।. |
mappingMode | MappingMode | पढ़ें/लिखें | नियंत्रित करता है कि प्रत्येक मान किस ज्योमेट्री प्रिमिटिव से जुड़ा है।. |
referenceMode | ReferenceMode | पढ़ें/लिखें | नियंत्रित करता है कि मान सीधे संबोधित किए जाएँ या एक इंडेक्स एरे के माध्यम से।. |
indices | number[] | पढ़ें | इंडेक्स एरे के लिए IndexToDirect संदर्भ मोड।. |
ImageRenderOptions
setIndices(data)
NOT IMPLEMENTED. बेस पर VertexElement क्लास, यह मेथड थ्रो करता है Error('set_indices is not implemented') रनटाइम पर। सबक्लासेज़ VertexElementFVector और VertexElementIntsTemplate कार्यशील कार्यान्वयन प्रदान करते हैं।.
इंडेक्स एरे को बदलें।.
setIndices(data: number[]): voidclear()
NOT IMPLEMENTED. बेस पर VertexElement क्लास, यह मेथड थ्रो करता है Error('clear is not implemented') रनटाइम पर। सबक्लासेज़ VertexElementFVector और VertexElementIntsTemplate कार्यशील कार्यान्वयन प्रदान करते हैं।.
लेयर से सभी डेटा और इंडेक्स हटाएँ।.
clear(): voidVertexElementNormal
सतह के नॉर्मल वेक्टर संग्रहीत करता है। सही लाइटिंग के लिए अधिकांश रेंडरर्स को नॉर्मल डेटा की आवश्यकता होती है।.
export class VertexElementNormal extends VertexElementFVectorImageRenderOptions
VertexElement → VertexElementFVector → VertexElementNormal
ImageRenderOptions
new VertexElementNormal(
name: string = '',
mappingMode: MappingMode | null = null,
referenceMode: ReferenceMode | null = null,
)vertexElementType को निर्धारित किया गया है VertexElementType.NORMAL.
VertexElementUV
2D टेक्सचर निर्देशांक संग्रहीत करता है। एक मेष विभिन्न टेक्सचर चैनलों के लिए कई UV लेयर ले जा सकता है। यह textureMapping प्रॉपर्टी चैनल के उद्देश्य को पहचानती है।.
export class VertexElementUV extends VertexElementFVectorImageRenderOptions
VertexElement → VertexElementFVector → VertexElementUV
ImageRenderOptions
new VertexElementUV(
textureMapping: TextureMapping | null = null,
name: string = '',
mappingMode: MappingMode | null = null,
referenceMode: ReferenceMode | null = null,
)डिफ़ॉल्ट रूप से TextureMapping.DIFFUSE जब textureMapping है null.
अतिरिक्त गुण
| ImageRenderOptions | ImageRenderOptions | ImageRenderOptions | ImageRenderOptions |
|---|---|---|---|
textureMapping | TextureMapping | पढ़ें | वह टेक्सचर चैनल जिससे यह UV लेयर जुड़ी है।. |
data | FVector4[] | पढ़ें | UV मान इस रूप में प्रदर्शित होते हैं FVector4 एंट्रीज़ (z और w हैं 0). |
uvData | FVector2[] | पढ़ें | UV मान इस रूप में FVector2 एंट्रीज़ (केवल x, y)।. |
addData(data)
UV मान जोड़ें। स्वीकार करता है FVector2[], FVector3[], या FVector4[].
addData(data: FVector2[] | FVector3[] | FVector4[]): voidVertexElementVertexColor
प्रति-शिखर RGBA रंग मान संग्रहीत करता है। घटक 0–1 की सीमा में होते हैं।.
export class VertexElementVertexColor extends VertexElementFVectorImageRenderOptions
VertexElement → VertexElementFVector → VertexElementVertexColor
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');