VertexElement — Aspose.3D Python API Reference

חבילה: aspose.threed.entities (aspose-3d-foss 26.1.0)

VertexElement היא המחלקה הבסיסית המופשטת לכל שכבות הנתונים לכל קודקוד שניתן לצרף ל‑ Geometry אובייקט. כל שכבה מחזיקה במערך של ערכי נתונים יחד עם mapping_mode ו reference_mode מטא‑נתונים המתארים כיצד הנתונים ממופים על הגאומטריה הבסיסית. תתי‑מחלקות מותאמות ל‑normals, UV coordinates, vertex colours, tangents, binormals, ו‑smoothing groups.


Properties

from aspose.threed.entities import VertexElement

Properties

VertexElement

Properties

PropertiesPropertiesPropertiesProperties
vertex_element_typeVertexElementTypeקריאהסוג סמנטי של שכבה זו (למשל,., NORMAL, UV, VERTEX_COLOR).
namestrקריאה/כתיבהשם אופציונלי לשכבה זו.
mapping_modeMappingModeקריאה/כתיבהשולט באיזה פרימיטיב גאומטרי משויך כל ערך נתון.
reference_modeReferenceModeקריאה/כתיבהשולט האם הערכים נגישים ישירות או דרך מערך אינדקסים.
indiceslist[int]קריאהמערך אינדקסים המשמש כאשר reference_mode הוא INDEX_TO_DIRECT.
datalist[FVector4]קראערכי נתונים גולמיים מאוחסנים כ FVector4 רשומות (זמין ב VertexElementFVector תתי‑מחלקות).

Properties

PropertiesPropertiesProperties
set_data(data)Noneהחלף את מערך הנתונים. מקבל list[FVector2], list[FVector3], או list[FVector4]; ערכים מנורמלים ל FVector4 פנימית.
set_indices(data)Noneהחלף את מערך האינדקסים ברשימת שלמים.
clear()Noneהסר את כל ערכי הנתונים והאינדקסים מהשכבה.
copy_to(target)Noneהעתק נתונים ואינדקסים לאחר VertexElementFVector מופע.

VertexElementNormal

מאחסן וקטורי נורמל של פני השטח. נתוני נורמל משמשים בדרך כלל על‑ידי מנועי רינדור לחישובי תאורה.

from aspose.threed.entities import VertexElementNormal

Properties

VertexElementVertexElementFVectorVertexElementNormal

Properties

VertexElementNormal(name="", mapping_mode=None, reference_mode=None)

vertex_element_type קבוע ל VertexElementType.NORMAL.


מחזיר: VertexElementUV

מאחסן קואורדינטות מרקם UV. רשת (mesh) יכולה לשאת מספר שכבות UV לערוצים מרקם שונים.

from aspose.threed.entities import VertexElementUV

Properties

VertexElementVertexElementFVectorVertexElementUV

Properties

VertexElementUV(texture_mapping=None, name="", mapping_mode=None, reference_mode=None)
PropertiesPropertiesProperties
texture_mappingTextureMappingערוץ המרקם שהשכבה UV משרתת. ברירת מחדל היא TextureMapping.DIFFUSE.

מחזיר: Mesh; רשת חדשה המכילה רק משולשים.

PropertiesPropertiesPropertiesProperties
texture_mappingTextureMappingקריאהערוץ המרקם שהשכבה UV משויכת אליו.

add_data(data)

הוסף נתוני קואורדינטות UV. מקבל list[Vector2], list[Vector3], list[FVector2], list[FVector3], או list[FVector4]. כל הערכים נשמרים פנימית כ FVector4 עם רכיבים שאינם בשימוש מוגדרים ל 0.0.


VertexElementVertexColor

מאחסן ערכי צבע RGBA לכל קודקוד בטווח 0–1.

from aspose.threed.entities import VertexElementVertexColor

Properties

VertexElementVertexElementFVectorVertexElementVertexColor

Properties

VertexElementVertexColor(name="", mapping_mode=None, reference_mode=None)

vertex_element_type קבוע ל VertexElementType.VERTEX_COLOR.


VertexElementTangent

מאחסן וקטורי tangent לכל קודקוד או לכל פינה, המשמשים ברינדור מפת נורמל.

from aspose.threed.entities import VertexElementTangent

Properties

VertexElementVertexElementFVectorVertexElementTangent

vertex_element_type קבוע ל VertexElementType.TANGENT.


VertexElementBinormal

מאחסן וקטורי binormal (bitangent) לכל קודקוד או לכל פינה, משלים VertexElementTangent למיפוי נורמל במרחב הטנג’נט.

from aspose.threed.entities import VertexElementBinormal

Properties

VertexElementVertexElementFVectorVertexElementBinormal

vertex_element_type קבוע ל VertexElementType.BINORMAL.


VertexElementSmoothingGroup

מאחסן מזהי קבוצות החלקה שלמים לכל פוליגון. נטען מקבצי OBJ שמכילים s הצהרות.

from aspose.threed.entities import VertexElementSmoothingGroup

Properties

VertexElementVertexElementIntsTemplateVertexElementSmoothingGroup

vertex_element_type קבוע ל VertexElementType.SMOOTHING_GROUP.


ספירת VertexElementType

מזהה את התפקיד הסמנטי של שכבת אלמנט קודקוד.

from aspose.threed.entities import VertexElementType
PropertiesProperties
NORMALוקטורי נורמל משטח.
UVקואורדינטות UV של מרקם.
VERTEX_COLORצבע RGBA לכל קודקוד.
TANGENTוקטורי טנג’נט למיפוי נורמל.
BINORMALוקטורי בינורמל (ביטנג’נט).
SMOOTHING_GROUPמזהי קבוצות החלקה שלמים לכל פוליגון.
MATERIALאינדקס חומר לכל פוליגון.
POLYGON_GROUPאינדקס קיבוץ פוליגונים.
VERTEX_CREASEמשקלי קימורים של קודקודי תת-חלוקה.
EDGE_CREASEמשקלי קימורים של קצוות תת-חלוקה.
USER_DATAנתונים שרירותיים המוגדרים על ידי המשתמש.
VISIBILITYדגלי נראות לכל אלמנט.
SPECULARצבע או עוצמת השיקוף.
WEIGHTמשקלי ערבוב לעור.
HOLEדגלי חורים בפוליגון.

ספירת MappingMode

BooleanOperation נשמר כנתוני‑מטא על צמתים שמיוצרים על‑ידי מייבאי CSG. @aspose/3d אינו מבצע הערכה בוליאנית בזמן ריצה; המנוי מתאר כוונה שתועד בקובץ המקור.

from aspose.threed.entities import MappingMode
PropertiesProperties
CONTROL_POINTערך אחד לכל נקודת שליטה (קודקוד).
POLYGON_VERTEXערך אחד לכל פינת מצולע (פאה-קודקוד).
POLYGONערך אחד לכל מצולע.
EDGEערך אחד לכל קצה.
ALL_SAMEערך יחיד חל על כל הרשת.

ספירת ReferenceMode

שולט באופן שבו מערך הנתונים מאונדקס.

from aspose.threed.entities import ReferenceMode
PropertiesProperties
DIRECTהנתונים נגישים באופן רציף ללא מערך אינדקסים נפרד.
INDEXהנתונים נגישים דרך מערך אינדקסים נפרד.
INDEX_TO_DIRECTמערך אינדקסים ממפה כל פרימיטיב מיפוי למיקום במערך הנתונים.

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")

ראה גם

 עברית