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 VertexElementColladaSaveOptions
VertexElement
ColladaSaveOptions
| ColladaSaveOptions | ColladaSaveOptions | ColladaSaveOptions | ColladaSaveOptions |
|---|---|---|---|
vertex_element_type | VertexElementType | les | Semantisk type for dette laget (f.eks., NORMAL, UV, VERTEX_COLOR). |
name | str | les/skriv | Valgfritt navn for dette laget. |
mapping_mode | MappingMode | les/skriv | Styrer hvilken geometriprimitiv hver dataverdi er knyttet til. |
reference_mode | ReferenceMode | les/skriv | Styrer om verdier adresseres direkte eller via en indeksmatrise. |
indices | list[int] | les | Indeksmatrise brukt når reference_mode er INDEX_TO_DIRECT. |
data | list[FVector4] | les | Rådataverdier lagret som FVector4 oppføringer (tilgjengelig på VertexElementFVector subklasser). |
ColladaSaveOptions
| ColladaSaveOptions | ColladaSaveOptions | ColladaSaveOptions |
|---|---|---|
set_data(data) | None | Erstatt dataarrayen. Aksepterer list[FVector2], list[FVector3], eller list[FVector4]; verdier normaliseres til FVector4 internt. |
set_indices(data) | None | Erstatt indeksarrayen med en liste av heltall. |
clear() | None | Fjern alle dataverdier og indekser fra laget. |
copy_to(target) | None | Kopier data og indekser til en annen VertexElementFVector instans. |
VertexElementNormal
Snarvei for add(ChartType.LINE, ...).
from aspose.threed.entities import VertexElementNormalColladaSaveOptions
VertexElement → VertexElementFVector → VertexElementNormal
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 VertexElementUVColladaSaveOptions
VertexElement → VertexElementFVector → VertexElementUV
ColladaSaveOptions
VertexElementUV(texture_mapping=None, name="", mapping_mode=None, reference_mode=None)| ColladaSaveOptions | ColladaSaveOptions | ColladaSaveOptions |
|---|---|---|
texture_mapping | TextureMapping | Teksturkanalen denne UV-laget betjener. Standard er TextureMapping.DIFFUSE. |
FileFormat-klasse referanse
| ColladaSaveOptions | ColladaSaveOptions | ColladaSaveOptions | ColladaSaveOptions |
|---|---|---|---|
texture_mapping | TextureMapping | les | Teksturkanalen 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 VertexElementVertexColorColladaSaveOptions
VertexElement → VertexElementFVector → VertexElementVertexColor
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 VertexElementTangentColladaSaveOptions
VertexElement → VertexElementFVector → VertexElementTangent
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 VertexElementBinormalColladaSaveOptions
VertexElement → VertexElementFVector → VertexElementBinormal
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 VertexElementSmoothingGroupColladaSaveOptions
VertexElement → VertexElementIntsTemplate → VertexElementSmoothingGroup
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| ColladaSaveOptions | ColladaSaveOptions |
|---|---|
NORMAL | Overflatenormale vektorer. |
UV | UV‑koordinater for tekstur. |
VERTEX_COLOR | RGBA‑farge per vertex. |
TANGENT | Tangentialvektorer for normalkartlegging. |
BINORMAL | Binormale (bitangent) vektorer. |
SMOOTHING_GROUP | Heltalls‑ID‑er for glattgjøringsgrupper per polygon. |
MATERIAL | Materialindeks per polygon. |
POLYGON_GROUP | Polygon‑grupperingsindeks. |
VERTEX_CREASE | Knekkevekter for vertex‑subdivisjon. |
EDGE_CREASE | Knekkevekter for kant‑subdivisjon. |
USER_DATA | Arbitrær brukerdefinert data. |
VISIBILITY | Per-element synlighetsflagg. |
SPECULAR | Spekulær farge eller intensitet. |
WEIGHT | Blandingsvekter for skinning. |
HOLE | Polygon hullflagg. |
MappingMode‑enumerasjon
Styrer hvilken geometriprimitiv hver vertex‑elementverdi er knyttet til.
from aspose.threed.entities import MappingMode| ColladaSaveOptions | ColladaSaveOptions |
|---|---|
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_SAME | En enkelt verdi gjelder for hele mesh. |
ReferenceMode‑enumerasjon
Constructor.
from aspose.threed.entities import ReferenceMode| ColladaSaveOptions | ColladaSaveOptions |
|---|---|
DIRECT | Data blir aksessert sekvensielt uten en separat indeksarray. |
INDEX | Data blir aksessert via en separat indeksarray. |
INDEX_TO_DIRECT | En 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")