VertexElement — Aspose.3D Python API Reference
Paketti: aspose.threed.entities (aspose-3d-foss 26.1.0)
VertexElement on abstrakti perusluokka kaikille per‑solmu‑tietokerroksille, jotka voidaan liittää kohteeseen Geometry objektin. Jokainen kerros sisältää taulukon tietoa arvoista yhdessä mapping_mode ja reference_mode metatietojen kanssa, jotka kuvaavat miten tiedot kartoittuvat taustalla olevaan geometriaan. Aliluokat on erikoistettu normaalivektoreihin, UV-koordinaatteihin, solmujen väreihin, tangentteihin, binormaleihin ja tasoitusryhmiin.
Methods
from aspose.threed.entities import VertexElementMethods
VertexElement
Methods
| Methods | Methods | Methods | Methods |
|---|---|---|---|
vertex_element_type | VertexElementType | Read | Tämän kerroksen semanttinen tyyppi (esim., NORMAL, UV, VERTEX_COLOR). |
name | str | Read/Write | Valinnainen nimi tälle kerrokselle. |
mapping_mode | MappingMode | Read/Write | Määrittää, mihin geometria‑primitiviin kukin tietoa arvo on liitetty. |
reference_mode | ReferenceMode | Read/Write | Määrittää, käsitelläänkö arvot suoraan vai indeksitaulukon kautta. |
indices | list[int] | Read | Indeksitaulukko, jota käytetään kun reference_mode on INDEX_TO_DIRECT. |
data | list[FVector4] | luettu | Raakadatan arvot tallennettuina FVector4 merkinnät (saatavilla VertexElementFVector aliluokat). |
Methods
| Methods | Methods | Methods |
|---|---|---|
set_data(data) | None | Korvaa data-taulukko. Hyväksyy list[FVector2], list[FVector3], tai list[FVector4]; arvot normalisoidaan FVector4 sisäisesti. |
set_indices(data) | None | Korvaa indeksitaulukko kokonaislukulistalla. |
clear() | None | Poista kaikki data-arvot ja indeksit kerroksesta. |
copy_to(target) | None | Kopioi data ja indeksit toiseen VertexElementFVector instanssiin. |
VertexElementNormal
Tallentaa pinnan normaalivektorit. Normaalidataa käytetään tyypillisesti renderöijien valonlaskentaan.
from aspose.threed.entities import VertexElementNormalMethods
VertexElement → VertexElementFVector → VertexElementNormal
Methods
VertexElementNormal(name="", mapping_mode=None, reference_mode=None)vertex_element_type on kiinnitetty arvoon VertexElementType.NORMAL.
Returns: VertexElementUV
Tallentaa UV-tekstuurikoordinaatit. Verkkopinta voi sisältää useita UV-kerroksia eri tekstuurikanaville.
from aspose.threed.entities import VertexElementUVMethods
VertexElement → VertexElementFVector → VertexElementUV
Methods
VertexElementUV(texture_mapping=None, name="", mapping_mode=None, reference_mode=None)| Methods | Methods | Methods |
|---|---|---|
texture_mapping | TextureMapping | Tekstuurikanava, jota tämä UV-kerros palvelee. Oletusarvoisesti TextureMapping.DIFFUSE. |
Lisäominaisuus
| Methods | Methods | Methods | Methods |
|---|---|---|---|
texture_mapping | TextureMapping | luettu | Tekstuurikanava, johon tämä UV-kerros on liitetty. |
add_data(data)
Lisää UV-koordinaattidata. Hyväksyy list[Vector2], list[Vector3], list[FVector2], list[FVector3], tai list[FVector4]. Kaikki arvot tallennetaan sisäisesti muodossa FVector4 asettamalla käyttämättömät komponentit arvoon 0.0.
VertexElementVertexColor
Tallentaa per‑solmu RGBA-väriarvot välillä 0–1.
from aspose.threed.entities import VertexElementVertexColorMethods
VertexElement → VertexElementFVector → VertexElementVertexColor
Methods
VertexElementVertexColor(name="", mapping_mode=None, reference_mode=None)vertex_element_type on asetettu arvoon VertexElementType.VERTEX_COLOR.
VertexElementTangent
Tallentaa per‑solmu- tai per‑kulma-tangenttivektorit, joita käytetään normaalikarttakuvaamiseen.
from aspose.threed.entities import VertexElementTangentMethods
VertexElement → VertexElementFVector → VertexElementTangent
vertex_element_type on asetettu arvoon VertexElementType.TANGENT.
VertexElementBinormal
Tallentaa per-vertex- tai per-corner-binormaalivektorit (bitangent), täydentäen VertexElementTangent tangent-space normal mapping -toimintoa varten.
from aspose.threed.entities import VertexElementBinormalMethods
VertexElement → VertexElementFVector → VertexElementBinormal
vertex_element_type on asetettu arvoon VertexElementType.BINORMAL.
VertexElementSmoothingGroup
Tallentaa per-polygonin kokonaislukutason tasoitusryhmän ID:t. Ladataan OBJ-tiedostoista, jotka sisältävät s määrittelyt.
from aspose.threed.entities import VertexElementSmoothingGroupMethods
VertexElement → VertexElementIntsTemplate → VertexElementSmoothingGroup
vertex_element_type on asetettu arvoon VertexElementType.SMOOTHING_GROUP.
VertexElementType-luettelo
Määrittää vertex-elementtikerroksen semanttisen roolin.
from aspose.threed.entities import VertexElementType| Methods | Methods |
|---|---|
NORMAL | Pinnan normaalivektorit. |
UV | Tekstuurin UV-koordinaatit. |
VERTEX_COLOR | Per-vertex RGBA -väri. |
TANGENT | Tangenttivektorit normaalikartoitusta varten. |
BINORMAL | Binormaalivektorit (bitangent). |
SMOOTHING_GROUP | Polygonikohtaiset tasoitusryhmän kokonaislukutunnisteet. |
MATERIAL | Polygonikohtainen materiaalin indeksi. |
POLYGON_GROUP | Polygonien ryhmittelyindeksi. |
VERTEX_CREASE | Alijakoituksen solmukareiden painot. |
EDGE_CREASE | Alijakoituksen reunakareiden painot. |
USER_DATA | Mielivaltaiset käyttäjän määrittelemät data. |
VISIBILITY | Jokaisen elementin näkyvyysliput. |
SPECULAR | Heijastavan väri tai intensiteetti. |
WEIGHT | Sekoituspainot luonnostukseen. |
HOLE | Polygoni-aukkojen liput. |
MappingMode-luettelo
Ohjaa, mihin geometria‑primitiviin kukin vertex-elementin arvo liitetään.
from aspose.threed.entities import MappingMode| Methods | Methods |
|---|---|
CONTROL_POINT | Yksi arvo per ohjauspiste (solmu). |
POLYGON_VERTEX | Yksi arvo per monikulmion kulma (kasvo-solmu). |
POLYGON | Yksi arvo per monikulmio. |
EDGE | Yksi arvo per reuna. |
ALL_SAME | Yksi arvo koskee koko verkkoa. |
ReferenceMode-luettelo
Ohjaa, miten data‑taulukko indeksoidaan.
from aspose.threed.entities import ReferenceMode| Methods | Methods |
|---|---|
DIRECT | Dataa haetaan peräkkäin ilman erillistä indeksitaulukkoa. |
INDEX | Dataa haetaan erillisen indeksitaulukon kautta. |
INDEX_TO_DIRECT | Indeksitaulukko kartoittaa jokaisen kartoitusprimitivin data‑taulukon sijaintiin. |
Methods
Liitä normaalikerros verkkoon (DIRECT-mäppäys):
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")Liitä UV-koordinaatit (INDEX_TO_DIRECT-mäppäys):
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")