VertexElement — Aspose.3D Python API Reference
بسته: aspose.threed.entities (aspose-3d-foss 26.1.0)
VertexElement کلاس پایهٔ انتزاعی برای تمام لایههای دادهٔ per-vertex است که میتوانند به یک Geometry شیء متصل شوند. هر لایه آرایهای از مقادیر داده را همراه با mapping_mode و reference_mode متادیتاهایی که توصیف میکنند دادهها چگونه بر روی هندسهٔ زیرین نگاشت میشوند. زیرکلاسها برای نرمالها، مختصات UV، رنگهای رأس، تانژنتها، باینورمالها و گروههای صافسازی تخصصی شدهاند.
Properties
from aspose.threed.entities import VertexElementProperties
VertexElement
Properties
| Properties | Properties | Properties | Properties |
|---|---|---|---|
vertex_element_type | VertexElementType | خواندن | نوع معنایی این لایه (مثلاً., NORMAL, UV, VERTEX_COLOR). |
name | str | خواندن/نوشتن | نام اختیاری برای این لایه. |
mapping_mode | MappingMode | خواندن/نوشتن | کنترل میکند که هر مقدار دادهای با کدام عنصر اولیهٔ هندسی مرتبط باشد. |
reference_mode | ReferenceMode | خواندن/نوشتن | کنترل میکند که آیا مقادیر بهصورت مستقیم یا از طریق آرایهٔ ایندکسها مورد دسترسی قرار گیرند. |
indices | list[int] | خواندن | آرایهٔ ایندکس که هنگام reference_mode است INDEX_TO_DIRECT. |
data | list[FVector4] | خواندن | مقادیر دادهٔ خام ذخیره شده بهعنوان FVector4 ورودیها (در دسترس در VertexElementFVector زیرکلاسها). |
Properties
| Properties | Properties | Properties |
|---|---|---|
set_data(data) | None | آرایه داده را جایگزین کنید. میپذیرد list[FVector2], list[FVector3],، یا list[FVector4]; مقادیر به FVector4 بهصورت داخلی. |
set_indices(data) | None | آرایهٔ شاخصها را با فهرستی از اعداد صحیح جایگزین کنید. |
clear() | None | تمام مقادیر داده و شاخصها را از لایه حذف کنید. |
copy_to(target) | None | دادهها و شاخصها را به یک مورد دیگر کپی کنید. VertexElementFVector نمونه. |
VertexElementNormal
مرجع API برای ChartType، Chart، ChartCollection، NSeries، ChartSeries، ChartAxis، ChartErrorBars و ChartView3D در aspose-cells-foss.
from aspose.threed.entities import VertexElementNormalProperties
VertexElement → VertexElementFVector → VertexElementNormal
Properties
VertexElementNormal(name="", mapping_mode=None, reference_mode=None)vertex_element_type بهصورت ثابت. VertexElementType.NORMAL.
باز میگرداند: VertexElementUV
aspose-cells-foss از درج نمودارها در برگههای کاری پشتیبانی میکند. نمودارها از طریق ws.charts، یک ChartCollection که به هر Worksheet متصل است، مدیریت میشوند. دادههای سری از طریق chart.n_series، یک مجموعه NSeries، اضافه میشوند.
from aspose.threed.entities import VertexElementUVProperties
VertexElement → VertexElementFVector → VertexElementUV
Properties
VertexElementUV(texture_mapping=None, name="", mapping_mode=None, reference_mode=None)| Properties | Properties | Properties |
|---|---|---|
texture_mapping | TextureMapping | کانال بافتی که این لایه UV به آن خدمت میکند. بهصورت پیشفرض TextureMapping.DIFFUSE. |
ویژگی اضافی
| Properties | Properties | Properties | Properties |
|---|---|---|---|
texture_mapping | TextureMapping | خواندن | کانال بافتی که این لایه UV با آن مرتبط است. |
add_data(data)
دادههای مختصات UV را اضافه کنید. پذیرش list[Vector2], list[Vector3], list[FVector2], list[FVector3], یا list[FVector4]. تمام مقادیر بهصورت داخلی به عنوان FVector4 با مؤلفههای استفادهنشده تنظیم شده به 0.0.
VertexElementVertexColor
مقادیر رنگ RGBA برای هر راس را در بازهٔ ۰ تا ۱ ذخیره میکند.
from aspose.threed.entities import VertexElementVertexColorProperties
VertexElement → VertexElementFVector → VertexElementVertexColor
Properties
VertexElementVertexColor(name="", mapping_mode=None, reference_mode=None)vertex_element_type بهصورت ثابت برابر VertexElementType.VERTEX_COLOR.
VertexElementTangent
بردارهای تانژنت برای هر راس یا هر گوشه را ذخیره میکند که برای رندر نقشهٔ نرمال استفاده میشوند.
from aspose.threed.entities import VertexElementTangentProperties
VertexElement → VertexElementFVector → VertexElementTangent
vertex_element_type بهصورت ثابت برابر VertexElementType.TANGENT.
VertexElementBinormal
بردارهای باینورمال (بیتانژنت) per-vertex یا per-corner را ذخیره میکند، تکمیلکننده VertexElementTangent برای tangent-space normal mapping.
from aspose.threed.entities import VertexElementBinormalProperties
VertexElement → VertexElementFVector → VertexElementBinormal
vertex_element_type به مقدار ثابت تنظیم شده است VertexElementType.BINORMAL.
VertexElementSmoothingGroup
شناسههای عدد صحیح گروههای صافسازی برای هر چندضلعی را ذخیره میکند. از فایلهای OBJ که شامل s اعلانها.
from aspose.threed.entities import VertexElementSmoothingGroupProperties
VertexElement → VertexElementIntsTemplate → VertexElementSmoothingGroup
vertex_element_type به مقدار ثابت تنظیم شده است VertexElementType.SMOOTHING_GROUP.
شمارش VertexElementType
نقش معنایی لایهٔ عنصر راس را شناسایی میکند.
from aspose.threed.entities import VertexElementType| Properties | Properties |
|---|---|
NORMAL | بردارهای نرمال سطح. |
UV | مختصات UV بافت. |
VERTEX_COLOR | رنگ RGBA به ازای هر راس. |
TANGENT | بردارهای تانژانت برای normal mapping. |
BINORMAL | بردارهای Binormal (bitangent). |
SMOOTHING_GROUP | شناسههای عدد صحیح گروه صافسازی به ازای هر چندضلعی. |
MATERIAL | شاخص ماده برای هر چندضلعی. |
POLYGON_GROUP | شاخص گروهبندی چندضلعی. |
VERTEX_CREASE | وزنهای چینخورده راسهای تقسیمبندی. |
EDGE_CREASE | وزنهای چینخورده لبههای تقسیمبندی. |
USER_DATA | دادههای دلخواه تعریفشده توسط کاربر. |
VISIBILITY | پرچمهای نمایش برای هر عنصر. |
SPECULAR | رنگ یا شدت بازتابی. |
WEIGHT | وزنهای ترکیبی برای اسکینینگ. |
HOLE | پرچمهای سوراخ چندضلعی. |
شمارش MappingMode
کنترل میکند که هر مقدار عنصر راس با کدام primitive هندسی مرتبط باشد.
from aspose.threed.entities import MappingMode| Properties | Properties |
|---|---|
CONTROL_POINT | یک مقدار برای هر نقطه کنترل (vertex). |
POLYGON_VERTEX | یک مقدار برای هر گوشه چندضلعی (face-vertex). |
POLYGON | یک مقدار برای هر چندضلعی. |
EDGE | یک مقدار برای هر لبه. |
ALL_SAME | یک مقدار واحد برای کل مش اعمال میشود. |
شمارش ReferenceMode
کنترل میکند که آرایهٔ دادهها چگونه ایندکس شود.
from aspose.threed.entities import ReferenceMode| Properties | Properties |
|---|---|
DIRECT | دادهها بهصورت متوالی بدون آرایهٔ indices جداگانه دسترسی مییابند. |
INDEX | دادهها از طریق یک آرایهٔ indices جداگانه دسترسی مییابند. |
INDEX_TO_DIRECT | یک آرایهٔ indices هر primitive نقشهبرداری را به موقعیتی در آرایهٔ دادهها نگاشت میکند. |
Properties
یک لایهٔ نرمال را به مش متصل کنید (نگاشت DIRECT):
from aspose.threed import Scene
from aspose.threed.entities import Mesh, VertexElementType, MappingMode, ReferenceMode, VertexElementNormal
from aspose.threed.utilities import Vector4, FVector4
mesh = Mesh()
mesh.control_points.append(Vector4(0.0, 0.0, 0.0, 1.0))
mesh.control_points.append(Vector4(1.0, 0.0, 0.0, 1.0))
mesh.control_points.append(Vector4(0.5, 1.0, 0.0, 1.0))
mesh.create_polygon(0, 1, 2)
normals: VertexElementNormal = mesh.create_element(
VertexElementType.NORMAL,
MappingMode.CONTROL_POINT,
ReferenceMode.DIRECT,
)
normals.set_data([
FVector4(0.0, 0.0, 1.0, 0.0),
FVector4(0.0, 0.0, 1.0, 0.0),
FVector4(0.0, 0.0, 1.0, 0.0),
])
scene = Scene()
scene.root_node.create_child_node("tri", mesh)
scene.save("triangle_normals.glb")مختصات UV را متصل کنید (نگاشت INDEX_TO_DIRECT):
from aspose.threed import Scene
from aspose.threed.entities import Mesh, TextureMapping, MappingMode, ReferenceMode
from aspose.threed.utilities import Vector4, FVector4
mesh = Mesh()
for x, z in [(0, 0), (1, 0), (1, 1), (0, 1)]:
mesh.control_points.append(Vector4(float(x), 0.0, float(z), 1.0))
mesh.create_polygon(0, 1, 2, 3)
uv = mesh.create_element_uv(
TextureMapping.DIFFUSE,
MappingMode.POLYGON_VERTEX,
ReferenceMode.INDEX_TO_DIRECT,
)
uv.set_data([
FVector4(0.0, 0.0, 0.0, 0.0),
FVector4(1.0, 0.0, 0.0, 0.0),
FVector4(1.0, 1.0, 0.0, 0.0),
FVector4(0.0, 1.0, 0.0, 0.0),
])
uv.set_indices([0, 1, 2, 3])
scene = Scene()
scene.root_node.create_child_node("quad", mesh)
scene.save("quad_uv.glb")