VertexElement — Aspose.3D Python API Reference
पैकेज: aspose.threed.entities (aspose-3d-foss 26.1.0)
VertexElement एक एब्स्ट्रैक्ट बेस क्लास है सभी प्रति-शिखर डेटा लेयर्स के लिए जो किसी 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
सतह के normal वेक्टर संग्रहीत करता है। Normal डेटा आमतौर पर रेंडरर्स द्वारा प्रकाश गणनाओं के लिए उपयोग किया जाता है।.
from aspose.threed.entities import VertexElementNormalProperties
VertexElement → VertexElementFVector → VertexElementNormal
Properties
VertexElementNormal(name="", mapping_mode=None, reference_mode=None)vertex_element_type स्थिर है VertexElementType.NORMAL.
वापसी: VertexElementUV
UV टेक्सचर कोऑर्डिनेट्स संग्रहीत करता है। एक मेष विभिन्न टेक्सचर चैनलों के लिए कई UV लेयर्स रख सकता है।.
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. |
scale()
| 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
0–1 की सीमा में प्रति-वर्टेक्स RGBA colour मान संग्रहीत करता है।.
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
per-vertex या per-corner टैंजेंट वेक्टर संग्रहीत करता है, जो normal मैप रेंडरिंग के लिए उपयोग होते हैं।.
from aspose.threed.entities import VertexElementTangentProperties
VertexElement → VertexElementFVector → VertexElementTangent
vertex_element_type स्थिर है VertexElementType.TANGENT.
VertexElementBinormal
per-vertex या per-corner बिनॉर्मल (bitangent) वेक्टर संग्रहीत करता है, पूरक VertexElementTangent tangent-space normal mapping के लिए।.
from aspose.threed.entities import VertexElementBinormalProperties
VertexElement → VertexElementFVector → VertexElementBinormal
vertex_element_type को निर्धारित किया गया है VertexElementType.BINORMAL.
VertexElementSmoothingGroup
प्रति-पॉलीगॉन पूर्णांक स्मूथिंग ग्रुप IDs संग्रहीत करता है। उन 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 | नॉर्मल मैपिंग के लिए टैन्जेंट वेक्टर।. |
BINORMAL | बिनॉर्मल (bitangent) वेक्टर।. |
SMOOTHING_GROUP | प्रति-पॉलीगॉन स्मूथिंग ग्रुप पूर्णांक IDs।. |
MATERIAL | प्रति-पॉलीगॉन मैटेरियल इंडेक्स।. |
POLYGON_GROUP | बहुभुज समूह सूचकांक।. |
VERTEX_CREASE | उपविभाजन शीर्ष बिंदु क्रीज़ वजन।. |
EDGE_CREASE | उपविभाजन किनारा क्रीज़ वजन।. |
USER_DATA | मनमाना उपयोगकर्ता-परिभाषित डेटा।. |
VISIBILITY | प्रति-तत्व दृश्यता फ़्लैग।. |
SPECULAR | स्पेक्युलर रंग या तीव्रता।. |
WEIGHT | स्किनिंग के लिए ब्लेंड वजन।. |
HOLE | बहुभुज छेद फ़्लैग।. |
MappingMode एनीमरेशन
बेस क्लासेस.
from aspose.threed.entities import MappingMode| Properties | Properties |
|---|---|
CONTROL_POINT | प्रति नियंत्रण बिंदु (वर्टेक्स) एक मान।. |
POLYGON_VERTEX | प्रति बहुभुज कोना (फेस-वर्टेक्स) एक मान।. |
POLYGON | प्रति बहुभुज एक मान।. |
EDGE | प्रति किनारा एक मान।. |
ALL_SAME | एकल मान पूरे मेष पर लागू होता है।. |
ReferenceMode एनीमरेशन
डेटा एरे को कैसे अनुक्रमित किया जाता है, इसे नियंत्रित करता है।.
from aspose.threed.entities import ReferenceMode| Properties | Properties |
|---|---|
DIRECT | डेटा को क्रमिक रूप से एक्सेस किया जाता है बिना किसी अलग इंडिसेज़ एरे के।. |
INDEX | डेटा को एक अलग इंडिसेज़ एरे के माध्यम से एक्सेस किया जाता है।. |
INDEX_TO_DIRECT | एक इंडिसेज़ एरे प्रत्येक mapping 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")