VertexElement — Aspose.3D Python API Reference

Pakke: aspose.threed.entities (aspose-3d-foss 26.1.0)

VertexElement er den abstrakte basisklassen for alle per-vertex-datalag som kan festes til en Geometry objekt. Hvert lag holder en matrise med dataverdier sammen med mapping_mode og reference_mode metadata som beskriver hvordan dataene kartlegges på den underliggende geometrien. Subklasser er spesialiserte for normaler, UV-koordinater, vertex-farger, tangenter, binormaler og glattingsgrupper.


ColladaSaveOptions

from aspose.threed.entities import VertexElement

ColladaSaveOptions

VertexElement

ColladaSaveOptions

ColladaSaveOptionsColladaSaveOptionsColladaSaveOptionsColladaSaveOptions
vertex_element_typeVertexElementTypelesSemantisk type for dette laget (f.eks., NORMAL, UV, VERTEX_COLOR).
namestrles/skrivValgfritt navn for dette laget.
mapping_modeMappingModeles/skrivStyrer hvilken geometriprimitiv hver dataverdi er knyttet til.
reference_modeReferenceModeles/skrivStyrer om verdier adresseres direkte eller via en indeksmatrise.
indiceslist[int]lesIndeksmatrise brukt når reference_mode er INDEX_TO_DIRECT.
datalist[FVector4]lesRådataverdier lagret som FVector4 oppføringer (tilgjengelig på VertexElementFVector subklasser).

ColladaSaveOptions

ColladaSaveOptionsColladaSaveOptionsColladaSaveOptions
set_data(data)NoneErstatt dataarrayen. Aksepterer list[FVector2], list[FVector3], eller list[FVector4]; verdier normaliseres til FVector4 internt.
set_indices(data)NoneErstatt indeksarrayen med en liste av heltall.
clear()NoneFjern alle dataverdier og indekser fra laget.
copy_to(target)NoneKopier data og indekser til en annen VertexElementFVector instans.

VertexElementNormal

Snarvei for add(ChartType.LINE, ...).

from aspose.threed.entities import VertexElementNormal

ColladaSaveOptions

VertexElementVertexElementFVectorVertexElementNormal

ColladaSaveOptions

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

vertex_element_type er fastsatt til VertexElementType.NORMAL.


Returnerer: VertexElementUV

add_pie.

from aspose.threed.entities import VertexElementUV

ColladaSaveOptions

VertexElementVertexElementFVectorVertexElementUV

ColladaSaveOptions

VertexElementUV(texture_mapping=None, name="", mapping_mode=None, reference_mode=None)
ColladaSaveOptionsColladaSaveOptionsColladaSaveOptions
texture_mappingTextureMappingTeksturkanalen denne UV-laget betjener. Standard er TextureMapping.DIFFUSE.

FileFormat-klasse referanse

ColladaSaveOptionsColladaSaveOptionsColladaSaveOptionsColladaSaveOptions
texture_mappingTextureMappinglesTeksturkanalen denne UV-laget er knyttet til.

add_data(data)

Legg til UV-koordinatdata. Aksepterer list[Vector2], list[Vector3], list[FVector2], list[FVector3], eller list[FVector4]. Alle verdier lagres internt som FVector4 med ubrukte komponenter satt til 0.0.


VertexElementVertexColor

Pakke: @aspose/3d (v24.12.0).

from aspose.threed.entities import VertexElementVertexColor

ColladaSaveOptions

VertexElementVertexElementFVectorVertexElementVertexColor

ColladaSaveOptions

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

vertex_element_type er fastsatt til VertexElementType.VERTEX_COLOR.


VertexElementTangent

Disse tre klassene utgjør grunnlaget for @aspose/3d-klassens hierarki. Hvert offentlig objekt i biblioteket arver til slutt fra A3DObject, som leverer navnet og det dynamiske egenskapssystemet. SceneObject legger til sporing av scenemedlemskap. Entity er basisklassen for alle objekter som kan festes til en Node som dens primære enhet (mesher, kameraer, lys osv.).

from aspose.threed.entities import VertexElementTangent

ColladaSaveOptions

VertexElementVertexElementFVectorVertexElementTangent

vertex_element_type er fastsatt til VertexElementType.TANGENT.


VertexElementBinormal

Lagrer per-vertex eller per-corner binormale (bitangent) vektorer, som komplementerer VertexElementTangent for tangentrom normalkartlegging.

from aspose.threed.entities import VertexElementBinormal

ColladaSaveOptions

VertexElementVertexElementFVectorVertexElementBinormal

vertex_element_type er fastsatt til VertexElementType.BINORMAL.


VertexElementSmoothingGroup

Lagrer heltalls‑ID‑er for glattgjøringsgrupper per polygon. Lastes fra OBJ‑filer som inneholder s deklarasjoner.

from aspose.threed.entities import VertexElementSmoothingGroup

ColladaSaveOptions

VertexElementVertexElementIntsTemplateVertexElementSmoothingGroup

vertex_element_type er fastsatt til VertexElementType.SMOOTHING_GROUP.


Rotbasisklassen for alle @aspose/3d-objekter. Implementerer INamedObject.

Identifiserer den semantiske rollen til et vertex‑elementlag.

from aspose.threed.entities import VertexElementType
ColladaSaveOptionsColladaSaveOptions
NORMALOverflatenormale vektorer.
UVUV‑koordinater for tekstur.
VERTEX_COLORRGBA‑farge per vertex.
TANGENTTangentialvektorer for normalkartlegging.
BINORMALBinormale (bitangent) vektorer.
SMOOTHING_GROUPHeltalls‑ID‑er for glattgjøringsgrupper per polygon.
MATERIALMaterialindeks per polygon.
POLYGON_GROUPPolygon‑grupperingsindeks.
VERTEX_CREASEKnekkevekter for vertex‑subdivisjon.
EDGE_CREASEKnekkevekter for kant‑subdivisjon.
USER_DATAArbitrær brukerdefinert data.
VISIBILITYPer-element synlighetsflagg.
SPECULARSpekulær farge eller intensitet.
WEIGHTBlandingsvekter for skinning.
HOLEPolygon hullflagg.

MappingMode‑enumerasjon

Styrer hvilken geometriprimitiv hver vertex‑elementverdi er knyttet til.

from aspose.threed.entities import MappingMode
ColladaSaveOptionsColladaSaveOptions
CONTROL_POINTÉn verdi per kontrollpunkt (vertex).
POLYGON_VERTEXÉn verdi per polygonhjørne (face-vertex).
POLYGONÉn verdi per polygon.
EDGEÉn verdi per kant.
ALL_SAMEEn enkelt verdi gjelder for hele mesh.

ReferenceMode‑enumerasjon

Constructor.

from aspose.threed.entities import ReferenceMode
ColladaSaveOptionsColladaSaveOptions
DIRECTData blir aksessert sekvensielt uten en separat indeksarray.
INDEXData blir aksessert via en separat indeksarray.
INDEX_TO_DIRECTEn indeksarray kartlegger hver kartleggingsprimitive til en posisjon i dataarrayen.

ColladaSaveOptions

Fest et normal‑lag til et mesh (DIRECT‑kartlegging):

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

Legg ved UV-koordinater (INDEX_TO_DIRECT mapping):

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

Se også

 Norsk