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

सतह के normal वेक्टर संग्रहीत करता है। Normal डेटा आमतौर पर रेंडरर्स द्वारा प्रकाश गणनाओं के लिए उपयोग किया जाता है।.

from aspose.threed.entities import VertexElementNormal

Properties

VertexElementVertexElementFVectorVertexElementNormal

Properties

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

vertex_element_type स्थिर है VertexElementType.NORMAL.


वापसी: VertexElementUV

UV टेक्सचर कोऑर्डिनेट्स संग्रहीत करता है। एक मेष विभिन्न टेक्सचर चैनलों के लिए कई 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.

scale()

PropertiesPropertiesPropertiesProperties
texture_mappingTextureMappingपढ़ेंयह 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 VertexElementVertexColor

Properties

VertexElementVertexElementFVectorVertexElementVertexColor

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 VertexElementTangent

Properties

VertexElementVertexElementFVectorVertexElementTangent

vertex_element_type स्थिर है VertexElementType.TANGENT.


VertexElementBinormal

per-vertex या per-corner बिनॉर्मल (bitangent) वेक्टर संग्रहीत करता है, पूरक VertexElementTangent tangent-space normal mapping के लिए।.

from aspose.threed.entities import VertexElementBinormal

Properties

VertexElementVertexElementFVectorVertexElementBinormal

vertex_element_type को निर्धारित किया गया है VertexElementType.BINORMAL.


VertexElementSmoothingGroup

प्रति-पॉलीगॉन पूर्णांक स्मूथिंग ग्रुप IDs संग्रहीत करता है। उन 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बिनॉर्मल (bitangent) वेक्टर।.
SMOOTHING_GROUPप्रति-पॉलीगॉन स्मूथिंग ग्रुप पूर्णांक IDs।.
MATERIALप्रति-पॉलीगॉन मैटेरियल इंडेक्स।.
POLYGON_GROUPबहुभुज समूह सूचकांक।.
VERTEX_CREASEउपविभाजन शीर्ष बिंदु क्रीज़ वजन।.
EDGE_CREASEउपविभाजन किनारा क्रीज़ वजन।.
USER_DATAमनमाना उपयोगकर्ता-परिभाषित डेटा।.
VISIBILITYप्रति-तत्व दृश्यता फ़्लैग।.
SPECULARस्पेक्युलर रंग या तीव्रता।.
WEIGHTस्किनिंग के लिए ब्लेंड वजन।.
HOLEबहुभुज छेद फ़्लैग।.

MappingMode एनीमरेशन

बेस क्लासेस.

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एक इंडिसेज़ एरे प्रत्येक 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")

संबंधित देखें

 हिन्दी