VertexElement — Aspose.3D TypeScript API Reference

بسته: @aspose/3d (v24.12.0)

VertexElement یک کلاس پایهٔ انتزاعی برای کانال‌های ویژگی per-vertex که به یک Geometry. هر کانال یک آرایه دادهٔ تایپ‌شده را نگه می‌دارد و mappingMode / referenceMode متادیتاهایی که کنترل می‌کنند داده‌ها چگونه به primitives هندسی مرتبط هستند. زیرکلاس‌ها عبارتند از: VertexElementNormal, VertexElementUV, و VertexElementVertexColor.

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

Properties

export abstract class VertexElement implements IIndexedVertexElement

Properties

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

Properties mappingMode است MappingMode.CONTROL_POINT; پیش‌فرض referenceMode است ReferenceMode.DIRECT.

Properties

PropertiesPropertiesPropertiesProperties
vertexElementTypeVertexElementTypeخواندننوع معنایی این لایه.
namestringخواندن/نوشتنبرچسب اختیاری برای این لایه.
mappingModeMappingModeخواندن/نوشتنکنترل می‌کند که هر مقدار با کدام primitive هندسی مرتبط باشد.
referenceModeReferenceModeخواندن/نوشتنکنترل می‌کند که مقادیر به‌صورت مستقیم یا از طریق آرایهٔ ایندکس مورد دسترسی قرار گیرند.
indicesnumber[]خواندنآرایهٔ ایندکس برای IndexToDirect حالت مرجع.

Properties

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 پیاده‌سازی‌های کارا ارائه دهید.

مرجع API برای ChartType، Chart، ChartCollection، NSeries، ChartSeries، ChartAxis، ChartErrorBars و ChartView3D در aspose-cells-foss.

clear(): void

VertexElementNormal

مرجع API برای ChartType، Chart، ChartCollection، NSeries، ChartSeries، ChartAxis، ChartErrorBars و ChartView3D در aspose-cells-foss.

export class VertexElementNormal extends VertexElementFVector

Properties

VertexElementVertexElementFVectorVertexElementNormal

Properties

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

vertexElementType به مقدار ثابت شده است VertexElementType.NORMAL.


باز می‌گرداند: VertexElementUV

مختصات بافت دو‑بعدی را ذخیره می‌کند. یک مش می‌تواند چندین لایه UV برای کانال‌های بافت مختلف داشته باشد. این textureMapping ویژگی هدف کانال را شناسایی می‌کند.

export class VertexElementUV extends VertexElementFVector

Properties

VertexElementVertexElementFVectorVertexElementUV

Properties

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

به طور پیش‌فرض برابر است با TextureMapping.DIFFUSE زمانی که textureMapping است null.

ویژگی اضافی

PropertiesPropertiesPropertiesProperties
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 برای هر رأس را ذخیره می‌کند. مؤلفه‌ها در بازهٔ ۰ تا ۱ قرار دارند.

export class VertexElementVertexColor extends VertexElementFVector

Properties

VertexElementVertexElementFVectorVertexElementVertexColor

Properties

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

vertexElementType ثابت است به VertexElementType.VERTEX_COLOR.


Properties

مستندات کامل مرجع API برای تمام محصولات Aspose FOSS.:

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

اشیای Chart به‌صورت مستقیم ساخته نمی‌شوند. از ws.charts.add(...) یا روش‌های راحتی نوعی (add_bar(), add_line(), add_pie(), add_area()) استفاده کنید.:

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

همچنین ببینید

 فارسی