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 IIndexedVertexElementProperties
constructor(
elementType: VertexElementType,
name: string = '',
mappingMode: MappingMode | null = null,
referenceMode: ReferenceMode | null = null,
)Properties mappingMode است MappingMode.CONTROL_POINT; پیشفرض referenceMode است ReferenceMode.DIRECT.
Properties
| Properties | Properties | Properties | Properties |
|---|---|---|---|
vertexElementType | VertexElementType | خواندن | نوع معنایی این لایه. |
name | string | خواندن/نوشتن | برچسب اختیاری برای این لایه. |
mappingMode | MappingMode | خواندن/نوشتن | کنترل میکند که هر مقدار با کدام primitive هندسی مرتبط باشد. |
referenceMode | ReferenceMode | خواندن/نوشتن | کنترل میکند که مقادیر بهصورت مستقیم یا از طریق آرایهٔ ایندکس مورد دسترسی قرار گیرند. |
indices | number[] | خواندن | آرایهٔ ایندکس برای IndexToDirect حالت مرجع. |
Properties
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 پیادهسازیهای کارا ارائه دهید.
مرجع API برای ChartType، Chart، ChartCollection، NSeries، ChartSeries، ChartAxis، ChartErrorBars و ChartView3D در aspose-cells-foss.
clear(): voidVertexElementNormal
مرجع API برای ChartType، Chart، ChartCollection، NSeries، ChartSeries، ChartAxis، ChartErrorBars و ChartView3D در aspose-cells-foss.
export class VertexElementNormal extends VertexElementFVectorProperties
VertexElement → VertexElementFVector → VertexElementNormal
Properties
new VertexElementNormal(
name: string = '',
mappingMode: MappingMode | null = null,
referenceMode: ReferenceMode | null = null,
)vertexElementType به مقدار ثابت شده است VertexElementType.NORMAL.
باز میگرداند: VertexElementUV
مختصات بافت دو‑بعدی را ذخیره میکند. یک مش میتواند چندین لایه UV برای کانالهای بافت مختلف داشته باشد. این textureMapping ویژگی هدف کانال را شناسایی میکند.
export class VertexElementUV extends VertexElementFVectorProperties
VertexElement → VertexElementFVector → VertexElementUV
Properties
new VertexElementUV(
textureMapping: TextureMapping | null = null,
name: string = '',
mappingMode: MappingMode | null = null,
referenceMode: ReferenceMode | null = null,
)به طور پیشفرض برابر است با TextureMapping.DIFFUSE زمانی که textureMapping است null.
ویژگی اضافی
| Properties | Properties | Properties | Properties |
|---|---|---|---|
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 برای هر رأس را ذخیره میکند. مؤلفهها در بازهٔ ۰ تا ۱ قرار دارند.
export class VertexElementVertexColor extends VertexElementFVectorProperties
VertexElement → VertexElementFVector → VertexElementVertexColor
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');